]> https://gitweb.dealii.org/ - dealii.git/commitdiff
Add SD tests: Batch optimiser 10028/head
authorJean-Paul Pelteret <jppelteret@gmail.com>
Thu, 2 Apr 2020 12:14:42 +0000 (14:14 +0200)
committerJean-Paul Pelteret <jppelteret@gmail.com>
Tue, 5 May 2020 18:15:42 +0000 (20:15 +0200)
100 files changed:
tests/symengine/batch_optimizer_01_1a.cc [new file with mode: 0644]
tests/symengine/batch_optimizer_01_1a.output [new file with mode: 0644]
tests/symengine/batch_optimizer_01_1b.cc [new file with mode: 0644]
tests/symengine/batch_optimizer_01_1b.output [new file with mode: 0644]
tests/symengine/batch_optimizer_01_2a.cc [new file with mode: 0644]
tests/symengine/batch_optimizer_01_2a.output [new file with mode: 0644]
tests/symengine/batch_optimizer_01_2b.cc [new file with mode: 0644]
tests/symengine/batch_optimizer_01_2b.output [new file with mode: 0644]
tests/symengine/batch_optimizer_01_3a.cc [new file with mode: 0644]
tests/symengine/batch_optimizer_01_3a.with_symengine_with_llvm=true.output [new file with mode: 0644]
tests/symengine/batch_optimizer_01_3b.cc [new file with mode: 0644]
tests/symengine/batch_optimizer_01_3b.with_symengine_with_llvm=true.output [new file with mode: 0644]
tests/symengine/batch_optimizer_02_1a.cc [new file with mode: 0644]
tests/symengine/batch_optimizer_02_1a.output [new file with mode: 0644]
tests/symengine/batch_optimizer_02_1b.cc [new file with mode: 0644]
tests/symengine/batch_optimizer_02_1b.output [new file with mode: 0644]
tests/symengine/batch_optimizer_02_2a.cc [new file with mode: 0644]
tests/symengine/batch_optimizer_02_2a.output [new file with mode: 0644]
tests/symengine/batch_optimizer_02_2b.cc [new file with mode: 0644]
tests/symengine/batch_optimizer_02_2b.output [new file with mode: 0644]
tests/symengine/batch_optimizer_02_3a.cc [new file with mode: 0644]
tests/symengine/batch_optimizer_02_3a.with_symengine_with_llvm.output [new file with mode: 0644]
tests/symengine/batch_optimizer_02_3b.cc [new file with mode: 0644]
tests/symengine/batch_optimizer_02_3b.with_symengine_with_llvm.output [new file with mode: 0644]
tests/symengine/batch_optimizer_03_1a.cc [new file with mode: 0644]
tests/symengine/batch_optimizer_03_1a.output [new file with mode: 0644]
tests/symengine/batch_optimizer_03_1b.cc [new file with mode: 0644]
tests/symengine/batch_optimizer_03_1b.output [new file with mode: 0644]
tests/symengine/batch_optimizer_03_2a.cc [new file with mode: 0644]
tests/symengine/batch_optimizer_03_2a.output [new file with mode: 0644]
tests/symengine/batch_optimizer_03_2b.cc [new file with mode: 0644]
tests/symengine/batch_optimizer_03_2b.output [new file with mode: 0644]
tests/symengine/batch_optimizer_03_3a.cc [new file with mode: 0644]
tests/symengine/batch_optimizer_03_3a.with_symengine_with_llvm.output [new file with mode: 0644]
tests/symengine/batch_optimizer_03_3b.cc [new file with mode: 0644]
tests/symengine/batch_optimizer_03_3b.with_symengine_with_llvm.output [new file with mode: 0644]
tests/symengine/batch_optimizer_04_1a.cc [new file with mode: 0644]
tests/symengine/batch_optimizer_04_1a.output [new file with mode: 0644]
tests/symengine/batch_optimizer_04_1b.cc [new file with mode: 0644]
tests/symengine/batch_optimizer_04_1b.output [new file with mode: 0644]
tests/symengine/batch_optimizer_04_2a.cc [new file with mode: 0644]
tests/symengine/batch_optimizer_04_2a.output [new file with mode: 0644]
tests/symengine/batch_optimizer_04_2b.cc [new file with mode: 0644]
tests/symengine/batch_optimizer_04_2b.output [new file with mode: 0644]
tests/symengine/batch_optimizer_04_3a.cc [new file with mode: 0644]
tests/symengine/batch_optimizer_04_3a.with_symengine_with_llvm.output [new file with mode: 0644]
tests/symengine/batch_optimizer_04_3b.cc [new file with mode: 0644]
tests/symengine/batch_optimizer_04_3b.with_symengine_with_llvm.output [new file with mode: 0644]
tests/symengine/batch_optimizer_05_1a.cc [new file with mode: 0644]
tests/symengine/batch_optimizer_05_1a.output [new file with mode: 0644]
tests/symengine/batch_optimizer_05_1b.cc [new file with mode: 0644]
tests/symengine/batch_optimizer_05_1b.output [new file with mode: 0644]
tests/symengine/batch_optimizer_05_2a.cc [new file with mode: 0644]
tests/symengine/batch_optimizer_05_2a.output [new file with mode: 0644]
tests/symengine/batch_optimizer_05_2b.cc [new file with mode: 0644]
tests/symengine/batch_optimizer_05_2b.output [new file with mode: 0644]
tests/symengine/batch_optimizer_05_3a.cc [new file with mode: 0644]
tests/symengine/batch_optimizer_05_3a.with_symengine_with_llvm.output [new file with mode: 0644]
tests/symengine/batch_optimizer_05_3b.cc [new file with mode: 0644]
tests/symengine/batch_optimizer_05_3b.with_symengine_with_llvm.output [new file with mode: 0644]
tests/symengine/batch_optimizer_06_1a.cc [new file with mode: 0644]
tests/symengine/batch_optimizer_06_1a.output [new file with mode: 0644]
tests/symengine/batch_optimizer_06_1b.cc [new file with mode: 0644]
tests/symengine/batch_optimizer_06_1b.output [new file with mode: 0644]
tests/symengine/batch_optimizer_06_2a.cc [new file with mode: 0644]
tests/symengine/batch_optimizer_06_2a.output [new file with mode: 0644]
tests/symengine/batch_optimizer_06_2b.cc [new file with mode: 0644]
tests/symengine/batch_optimizer_06_2b.output [new file with mode: 0644]
tests/symengine/batch_optimizer_06_3a.cc [new file with mode: 0644]
tests/symengine/batch_optimizer_06_3a.with_symengine_with_llvm.output [new file with mode: 0644]
tests/symengine/batch_optimizer_06_3b.cc [new file with mode: 0644]
tests/symengine/batch_optimizer_06_3b.with_symengine_with_llvm.output [new file with mode: 0644]
tests/symengine/batch_optimizer_07_1a.cc [new file with mode: 0644]
tests/symengine/batch_optimizer_07_1a.output [new file with mode: 0644]
tests/symengine/batch_optimizer_07_1b.cc [new file with mode: 0644]
tests/symengine/batch_optimizer_07_1b.output [new file with mode: 0644]
tests/symengine/batch_optimizer_07_2a.cc [new file with mode: 0644]
tests/symengine/batch_optimizer_07_2a.output [new file with mode: 0644]
tests/symengine/batch_optimizer_07_2b.cc [new file with mode: 0644]
tests/symengine/batch_optimizer_07_2b.output [new file with mode: 0644]
tests/symengine/batch_optimizer_07_3a.cc [new file with mode: 0644]
tests/symengine/batch_optimizer_07_3a.with_symengine_with_llvm.output [new file with mode: 0644]
tests/symengine/batch_optimizer_07_3b.cc [new file with mode: 0644]
tests/symengine/batch_optimizer_07_3b.with_symengine_with_llvm.output [new file with mode: 0644]
tests/symengine/prm/parameters-step-44.prm [new file with mode: 0644]
tests/symengine/sd_common_tests/batch_optimizer_01.h [new file with mode: 0644]
tests/symengine/sd_common_tests/batch_optimizer_02.h [new file with mode: 0644]
tests/symengine/sd_common_tests/batch_optimizer_03.h [new file with mode: 0644]
tests/symengine/sd_common_tests/batch_optimizer_04.h [new file with mode: 0644]
tests/symengine/sd_common_tests/batch_optimizer_05.h [new file with mode: 0644]
tests/symengine/sd_common_tests/batch_optimizer_06.h [new file with mode: 0644]
tests/symengine/sd_common_tests/batch_optimizer_07.h [new file with mode: 0644]
tests/symengine/sd_common_tests/serialization.h [new file with mode: 0644]
tests/symengine/sd_common_tests/step-44-sd-quadrature_level.h [new file with mode: 0644]
tests/symengine/step-44-sd-quadrature_level_01.cc [new file with mode: 0644]
tests/symengine/step-44-sd-quadrature_level_01.output [new file with mode: 0644]
tests/symengine/step-44-sd-quadrature_level_02.cc [new file with mode: 0644]
tests/symengine/step-44-sd-quadrature_level_02.output [new file with mode: 0644]
tests/symengine/step-44-sd-quadrature_level_03.cc [new file with mode: 0644]
tests/symengine/step-44-sd-quadrature_level_03.with_symengine_with_llvm.output [new file with mode: 0644]

diff --git a/tests/symengine/batch_optimizer_01_1a.cc b/tests/symengine/batch_optimizer_01_1a.cc
new file mode 100644 (file)
index 0000000..10fe27a
--- /dev/null
@@ -0,0 +1,40 @@
+// ---------------------------------------------------------------------
+//
+// Copyright (C) 2020 by the deal.II authors
+//
+// This file is part of the deal.II library.
+//
+// The deal.II library is free software; you can use it, redistribute
+// it, and/or modify it under the terms of the GNU Lesser General
+// Public License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+// The full text of the license can be found in the file LICENSE at
+// the top level of the deal.II distribution.
+//
+// ---------------------------------------------------------------------
+
+
+// Test that all of the low-level math operations function as expected
+// and that their values and derivatives can be computed using the
+// optimizer.
+// For this test the optimizer uses plain old dictionary substitution.
+// This test is based on function_verification_01.cc
+
+#include "../tests.h"
+
+#include "sd_common_tests/batch_optimizer_01.h"
+
+
+int
+main()
+{
+  initlog();
+
+  const enum SD::OptimizerType     opt_method = SD::OptimizerType::dictionary;
+  const enum SD::OptimizationFlags opt_flags =
+    SD::OptimizationFlags::optimize_default;
+
+  run_tests<opt_method, opt_flags>();
+
+  deallog << "OK" << std::endl;
+}
diff --git a/tests/symengine/batch_optimizer_01_1a.output b/tests/symengine/batch_optimizer_01_1a.output
new file mode 100644 (file)
index 0000000..e733d25
--- /dev/null
@@ -0,0 +1,1510 @@
+
+DEAL:Float:Add:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Float:Add:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Float:Add:Symbolic computation: Function initialisation::symb_psi: (s1 + s2)**2
+DEAL:Float:Add:Symbolic computation: Differentiation::symb_dpsi_ds0: 2*(s1 + s2)
+DEAL:Float:Add:Symbolic computation: Differentiation::symb_dpsi_ds1: 2*(s1 + s2)
+DEAL:Float:Add:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 2
+DEAL:Float:Add:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: 2
+DEAL:Float:Add:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: 2
+DEAL:Float:Add:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: 2
+DEAL:Float:Add:Symbolic computation: Substitution::subs_psi: 25.0000
+DEAL:Float:Add:Symbolic computation: Substitution::subs_dpsi_ds0: 10.0000
+DEAL:Float:Add:Symbolic computation: Substitution::subs_dpsi_ds1: 10.0000
+DEAL:Float:Add:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: 2.00000
+DEAL:Float:Add:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: 2.00000
+DEAL:Float:Add:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: 2.00000
+DEAL:Float:Add:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: 2.00000
+DEAL:Float:Subtract:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Float:Subtract:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Float:Subtract:Symbolic computation: Function initialisation::symb_psi: (s1 - s2)**2
+DEAL:Float:Subtract:Symbolic computation: Differentiation::symb_dpsi_ds0: 2*(s1 - s2)
+DEAL:Float:Subtract:Symbolic computation: Differentiation::symb_dpsi_ds1: -2*(s1 - s2)
+DEAL:Float:Subtract:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 2
+DEAL:Float:Subtract:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -2
+DEAL:Float:Subtract:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -2
+DEAL:Float:Subtract:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: 2
+DEAL:Float:Subtract:Symbolic computation: Substitution::subs_psi: 1.00000
+DEAL:Float:Subtract:Symbolic computation: Substitution::subs_dpsi_ds0: 2.00000
+DEAL:Float:Subtract:Symbolic computation: Substitution::subs_dpsi_ds1: -2.00000
+DEAL:Float:Subtract:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: 2.00000
+DEAL:Float:Subtract:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: -2.00000
+DEAL:Float:Subtract:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: -2.00000
+DEAL:Float:Subtract:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: 2.00000
+DEAL:Float:Multiply:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Float:Multiply:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Float:Multiply:Symbolic computation: Function initialisation::symb_psi: s1**2*s2**2
+DEAL:Float:Multiply:Symbolic computation: Differentiation::symb_dpsi_ds0: 2*s1*s2**2
+DEAL:Float:Multiply:Symbolic computation: Differentiation::symb_dpsi_ds1: 2*s1**2*s2
+DEAL:Float:Multiply:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 2*s2**2
+DEAL:Float:Multiply:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: 4*s1*s2
+DEAL:Float:Multiply:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: 4*s1*s2
+DEAL:Float:Multiply:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: 2*s1**2
+DEAL:Float:Multiply:Symbolic computation: Substitution::subs_psi: 36.0000
+DEAL:Float:Multiply:Symbolic computation: Substitution::subs_dpsi_ds0: 24.0000
+DEAL:Float:Multiply:Symbolic computation: Substitution::subs_dpsi_ds1: 36.0000
+DEAL:Float:Multiply:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: 8.00000
+DEAL:Float:Multiply:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: 24.0000
+DEAL:Float:Multiply:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: 24.0000
+DEAL:Float:Multiply:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: 18.0000
+DEAL:Float:Divide:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Float:Divide:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Float:Divide:Symbolic computation: Function initialisation::symb_psi: s1**2/s2**2
+DEAL:Float:Divide:Symbolic computation: Differentiation::symb_dpsi_ds0: 2*s1/s2**2
+DEAL:Float:Divide:Symbolic computation: Differentiation::symb_dpsi_ds1: -2*s1**2/s2**3
+DEAL:Float:Divide:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 2/s2**2
+DEAL:Float:Divide:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -4*s1/s2**3
+DEAL:Float:Divide:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -4*s1/s2**3
+DEAL:Float:Divide:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: 6*s1**2/s2**4
+DEAL:Float:Divide:Symbolic computation: Substitution::subs_psi: 2.25000
+DEAL:Float:Divide:Symbolic computation: Substitution::subs_dpsi_ds0: 1.50000
+DEAL:Float:Divide:Symbolic computation: Substitution::subs_dpsi_ds1: -2.25000
+DEAL:Float:Divide:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: 0.500000
+DEAL:Float:Divide:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: -1.50000
+DEAL:Float:Divide:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: -1.50000
+DEAL:Float:Divide:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: 3.37500
+DEAL:Float:Power:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Float:Power:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Float:Power:Symbolic computation: Function initialisation::symb_psi: 2.0*s1**s2
+DEAL:Float:Power:Symbolic computation: Differentiation::symb_dpsi_ds0: 2.0*s1**(-1 + s2)*s2
+DEAL:Float:Power:Symbolic computation: Differentiation::symb_dpsi_ds1: 2.0*s1**s2*log(s1)
+DEAL:Float:Power:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 2.0*s1**(-2 + s2)*s2*(-1 + s2)
+DEAL:Float:Power:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: 2.0*s1**(-1 + s2)*s2*log(s1) + 2.0*s1**(-1 + s2)
+DEAL:Float:Power:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: 2.0*s1**(-1 + s2)*s2*log(s1) + 2.0*s1**(-1 + s2)
+DEAL:Float:Power:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: 2.0*s1**s2*log(s1)**2
+DEAL:Float:Power:Symbolic computation: Substitution::subs_psi: 18.0000
+DEAL:Float:Power:Symbolic computation: Substitution::subs_dpsi_ds0: 12.0000
+DEAL:Float:Power:Symbolic computation: Substitution::subs_dpsi_ds1: 19.7750
+DEAL:Float:Power:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: 4.00000
+DEAL:Float:Power:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: 19.1833
+DEAL:Float:Power:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: 19.1833
+DEAL:Float:Power:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: 21.7251
+DEAL:Float:Sqrt:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Float:Sqrt:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Float:Sqrt:Symbolic computation: Function initialisation::symb_psi: 2.0*sqrt(s1*s2)
+DEAL:Float:Sqrt:Symbolic computation: Differentiation::symb_dpsi_ds0: 1.0*s2/sqrt(s1*s2)
+DEAL:Float:Sqrt:Symbolic computation: Differentiation::symb_dpsi_ds1: 1.0*s1/sqrt(s1*s2)
+DEAL:Float:Sqrt:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: -0.5*s2**2/(s1*s2)**(3/2)
+DEAL:Float:Sqrt:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -0.5*s1*s2/(s1*s2)**(3/2) + 1.0*(s1*s2)**(-1/2)
+DEAL:Float:Sqrt:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -0.5*s1*s2/(s1*s2)**(3/2) + 1.0*(s1*s2)**(-1/2)
+DEAL:Float:Sqrt:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: -0.5*s1**2/(s1*s2)**(3/2)
+DEAL:Float:Sqrt:Symbolic computation: Substitution::subs_psi: 4.89898
+DEAL:Float:Sqrt:Symbolic computation: Substitution::subs_dpsi_ds0: 0.816497
+DEAL:Float:Sqrt:Symbolic computation: Substitution::subs_dpsi_ds1: 1.22474
+DEAL:Float:Sqrt:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: -0.136083
+DEAL:Float:Sqrt:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: 0.204124
+DEAL:Float:Sqrt:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: 0.204124
+DEAL:Float:Sqrt:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: -0.306186
+DEAL:Float:Exponential:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Float:Exponential:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Float:Exponential:Symbolic computation: Function initialisation::symb_psi: exp(s2)*s1**2
+DEAL:Float:Exponential:Symbolic computation: Differentiation::symb_dpsi_ds0: 2*exp(s2)*s1
+DEAL:Float:Exponential:Symbolic computation: Differentiation::symb_dpsi_ds1: exp(s2)*s1**2
+DEAL:Float:Exponential:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 2*exp(s2)
+DEAL:Float:Exponential:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: 2*exp(s2)*s1
+DEAL:Float:Exponential:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: 2*exp(s2)*s1
+DEAL:Float:Exponential:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: exp(s2)*s1**2
+DEAL:Float:Exponential:Symbolic computation: Substitution::subs_psi: 66.5015
+DEAL:Float:Exponential:Symbolic computation: Substitution::subs_dpsi_ds0: 44.3343
+DEAL:Float:Exponential:Symbolic computation: Substitution::subs_dpsi_ds1: 66.5015
+DEAL:Float:Exponential:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: 14.7781
+DEAL:Float:Exponential:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: 44.3343
+DEAL:Float:Exponential:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: 44.3343
+DEAL:Float:Exponential:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: 66.5015
+DEAL:Float:Logarithm:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Float:Logarithm:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Float:Logarithm:Symbolic computation: Function initialisation::symb_psi: s1**2*log(s2)
+DEAL:Float:Logarithm:Symbolic computation: Differentiation::symb_dpsi_ds0: 2*s1*log(s2)
+DEAL:Float:Logarithm:Symbolic computation: Differentiation::symb_dpsi_ds1: s1**2/s2
+DEAL:Float:Logarithm:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 2*log(s2)
+DEAL:Float:Logarithm:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: 2*s1/s2
+DEAL:Float:Logarithm:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: 2*s1/s2
+DEAL:Float:Logarithm:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: -s1**2/s2**2
+DEAL:Float:Logarithm:Symbolic computation: Substitution::subs_psi: 6.23832
+DEAL:Float:Logarithm:Symbolic computation: Substitution::subs_dpsi_ds0: 4.15888
+DEAL:Float:Logarithm:Symbolic computation: Substitution::subs_dpsi_ds1: 4.50000
+DEAL:Float:Logarithm:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: 1.38629
+DEAL:Float:Logarithm:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: 3.00000
+DEAL:Float:Logarithm:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: 3.00000
+DEAL:Float:Logarithm:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: -2.25000
+DEAL:Float:Logarithm with Base:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Float:Logarithm with Base:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Float:Logarithm with Base:Symbolic computation: Function initialisation::symb_psi: log(s2)/log(s1)
+DEAL:Float:Logarithm with Base:Symbolic computation: Differentiation::symb_dpsi_ds0: -log(s2)/(s1*log(s1)**2)
+DEAL:Float:Logarithm with Base:Symbolic computation: Differentiation::symb_dpsi_ds1: 1/(s2*log(s1))
+DEAL:Float:Logarithm with Base:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 2*log(s2)/(s1**2*log(s1)**3) + log(s2)/(s1**2*log(s1)**2)
+DEAL:Float:Logarithm with Base:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -1/(s1*s2*log(s1)**2)
+DEAL:Float:Logarithm with Base:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -1/(s1*s2*log(s1)**2)
+DEAL:Float:Logarithm with Base:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: -1/(s2**2*log(s1))
+DEAL:Float:Logarithm with Base:Symbolic computation: Substitution::subs_psi: 0.630930
+DEAL:Float:Logarithm with Base:Symbolic computation: Substitution::subs_dpsi_ds0: -0.191432
+DEAL:Float:Logarithm with Base:Symbolic computation: Substitution::subs_dpsi_ds1: 0.455120
+DEAL:Float:Logarithm with Base:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: 0.179977
+DEAL:Float:Logarithm with Base:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: -0.138089
+DEAL:Float:Logarithm with Base:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: -0.138089
+DEAL:Float:Logarithm with Base:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: -0.227560
+DEAL:Float:Logarithm base 10:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Float:Logarithm base 10:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Float:Logarithm base 10:Symbolic computation: Function initialisation::symb_psi: 0.434294481903252*s1**2*log(s2)
+DEAL:Float:Logarithm base 10:Symbolic computation: Differentiation::symb_dpsi_ds0: 0.868588963806504*s1*log(s2)
+DEAL:Float:Logarithm base 10:Symbolic computation: Differentiation::symb_dpsi_ds1: 0.434294481903252*s1**2/s2
+DEAL:Float:Logarithm base 10:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 0.868588963806504*log(s2)
+DEAL:Float:Logarithm base 10:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: 0.868588963806504*s1/s2
+DEAL:Float:Logarithm base 10:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: 0.868588963806504*s1/s2
+DEAL:Float:Logarithm base 10:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: -0.434294481903252*s1**2/s2**2
+DEAL:Float:Logarithm base 10:Symbolic computation: Substitution::subs_psi: 2.70927
+DEAL:Float:Logarithm base 10:Symbolic computation: Substitution::subs_dpsi_ds0: 1.80618
+DEAL:Float:Logarithm base 10:Symbolic computation: Substitution::subs_dpsi_ds1: 1.95433
+DEAL:Float:Logarithm base 10:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: 0.602060
+DEAL:Float:Logarithm base 10:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: 1.30288
+DEAL:Float:Logarithm base 10:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: 1.30288
+DEAL:Float:Logarithm base 10:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: -0.977163
+DEAL:Float:Sin:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Float:Sin:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Float:Sin:Symbolic computation: Function initialisation::symb_psi: sin(s2/s1)
+DEAL:Float:Sin:Symbolic computation: Differentiation::symb_dpsi_ds0: -s2*cos(s2/s1)/s1**2
+DEAL:Float:Sin:Symbolic computation: Differentiation::symb_dpsi_ds1: cos(s2/s1)/s1
+DEAL:Float:Sin:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: -s2**2*sin(s2/s1)/s1**4 + 2*s2*cos(s2/s1)/s1**3
+DEAL:Float:Sin:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -cos(s2/s1)/s1**2 + s2*sin(s2/s1)/s1**3
+DEAL:Float:Sin:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -cos(s2/s1)/s1**2 + s2*sin(s2/s1)/s1**3
+DEAL:Float:Sin:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: -sin(s2/s1)/s1**2
+DEAL:Float:Sin:Symbolic computation: Substitution::subs_psi: 0.618370
+DEAL:Float:Sin:Symbolic computation: Substitution::subs_dpsi_ds0: -0.174642
+DEAL:Float:Sin:Symbolic computation: Substitution::subs_dpsi_ds1: 0.261962
+DEAL:Float:Sin:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: 0.0858910
+DEAL:Float:Sin:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: -0.0415156
+DEAL:Float:Sin:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: -0.0415156
+DEAL:Float:Sin:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: -0.0687078
+DEAL:Float:Cos:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Float:Cos:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Float:Cos:Symbolic computation: Function initialisation::symb_psi: cos(s2/s1)
+DEAL:Float:Cos:Symbolic computation: Differentiation::symb_dpsi_ds0: s2*sin(s2/s1)/s1**2
+DEAL:Float:Cos:Symbolic computation: Differentiation::symb_dpsi_ds1: -sin(s2/s1)/s1
+DEAL:Float:Cos:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: -s2**2*cos(s2/s1)/s1**4 - 2*s2*sin(s2/s1)/s1**3
+DEAL:Float:Cos:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: sin(s2/s1)/s1**2 + s2*cos(s2/s1)/s1**3
+DEAL:Float:Cos:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: sin(s2/s1)/s1**2 + s2*cos(s2/s1)/s1**3
+DEAL:Float:Cos:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: -cos(s2/s1)/s1**2
+DEAL:Float:Cos:Symbolic computation: Substitution::subs_psi: 0.785887
+DEAL:Float:Cos:Symbolic computation: Substitution::subs_dpsi_ds0: 0.137416
+DEAL:Float:Cos:Symbolic computation: Substitution::subs_dpsi_ds1: -0.206123
+DEAL:Float:Cos:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: -0.130420
+DEAL:Float:Cos:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: 0.126922
+DEAL:Float:Cos:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: 0.126922
+DEAL:Float:Cos:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: -0.0873208
+DEAL:Float:Tan:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Float:Tan:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Float:Tan:Symbolic computation: Function initialisation::symb_psi: tan(s2/s1)
+DEAL:Float:Tan:Symbolic computation: Differentiation::symb_dpsi_ds0: -s2*(1 + tan(s2/s1)**2)/s1**2
+DEAL:Float:Tan:Symbolic computation: Differentiation::symb_dpsi_ds1: (1 + tan(s2/s1)**2)/s1
+DEAL:Float:Tan:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 2*s2*(1 + tan(s2/s1)**2)/s1**3 + 2*s2**2*tan(s2/s1)*(1 + tan(s2/s1)**2)/s1**4
+DEAL:Float:Tan:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -(1 + tan(s2/s1)**2)/s1**2 - 2*s2*tan(s2/s1)*(1 + tan(s2/s1)**2)/s1**3
+DEAL:Float:Tan:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -(1 + tan(s2/s1)**2)/s1**2 - 2*s2*tan(s2/s1)*(1 + tan(s2/s1)**2)/s1**3
+DEAL:Float:Tan:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: 2*tan(s2/s1)*(1 + tan(s2/s1)**2)/s1**2
+DEAL:Float:Tan:Symbolic computation: Substitution::subs_psi: 0.786843
+DEAL:Float:Tan:Symbolic computation: Substitution::subs_dpsi_ds0: -0.359805
+DEAL:Float:Tan:Symbolic computation: Substitution::subs_dpsi_ds1: 0.539707
+DEAL:Float:Tan:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: 0.365696
+DEAL:Float:Tan:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: -0.368642
+DEAL:Float:Tan:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: -0.368642
+DEAL:Float:Tan:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: 0.283110
+DEAL:Float:ASin:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Float:ASin:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Float:ASin:Symbolic computation: Function initialisation::symb_psi: asin(1.0/(s1*s2))
+DEAL:Float:ASin:Symbolic computation: Differentiation::symb_dpsi_ds0: -1.0/(s1**2*s2*sqrt(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Float:ASin:Symbolic computation: Differentiation::symb_dpsi_ds1: -1.0/(s1*s2**2*sqrt(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Float:ASin:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 1.0*1/(s1**5*s2**3*(1 - 1.0*1/(s1**2*s2**2))**(3/2)) + 2.0*1/(s1**3*s2*sqrt(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Float:ASin:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: 1.0*1/(s1**4*s2**4*(1 - 1.0*1/(s1**2*s2**2))**(3/2)) + 1.0*1/(s1**2*s2**2*sqrt(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Float:ASin:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: 1.0*1/(s1**4*s2**4*(1 - 1.0*1/(s1**2*s2**2))**(3/2)) + 1.0*1/(s1**2*s2**2*sqrt(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Float:ASin:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: 1.0*1/(s1**3*s2**5*(1 - 1.0*1/(s1**2*s2**2))**(3/2)) + 2.0*1/(s1*s2**3*sqrt(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Float:ASin:Symbolic computation: Substitution::subs_psi: 0.167448
+DEAL:Float:ASin:Symbolic computation: Substitution::subs_dpsi_ds0: -0.0563436
+DEAL:Float:ASin:Symbolic computation: Substitution::subs_dpsi_ds1: -0.0845154
+DEAL:Float:ASin:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: 0.0380990
+DEAL:Float:ASin:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: 0.0289767
+DEAL:Float:ASin:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: 0.0289767
+DEAL:Float:ASin:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: 0.0857228
+DEAL:Float:ACos:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Float:ACos:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Float:ACos:Symbolic computation: Function initialisation::symb_psi: acos(1.0/(s1*s2))
+DEAL:Float:ACos:Symbolic computation: Differentiation::symb_dpsi_ds0: 1.0/(s1**2*s2*sqrt(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Float:ACos:Symbolic computation: Differentiation::symb_dpsi_ds1: 1.0/(s1*s2**2*sqrt(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Float:ACos:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: -1.0*1/(s1**5*s2**3*(1 - 1.0*1/(s1**2*s2**2))**(3/2)) - 2.0*1/(s1**3*s2*sqrt(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Float:ACos:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -1.0*1/(s1**4*s2**4*(1 - 1.0*1/(s1**2*s2**2))**(3/2)) - 1.0*1/(s1**2*s2**2*sqrt(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Float:ACos:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -1.0*1/(s1**4*s2**4*(1 - 1.0*1/(s1**2*s2**2))**(3/2)) - 1.0*1/(s1**2*s2**2*sqrt(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Float:ACos:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: -1.0*1/(s1**3*s2**5*(1 - 1.0*1/(s1**2*s2**2))**(3/2)) - 2.0*1/(s1*s2**3*sqrt(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Float:ACos:Symbolic computation: Substitution::subs_psi: 1.40335
+DEAL:Float:ACos:Symbolic computation: Substitution::subs_dpsi_ds0: 0.0563436
+DEAL:Float:ACos:Symbolic computation: Substitution::subs_dpsi_ds1: 0.0845154
+DEAL:Float:ACos:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: -0.0380990
+DEAL:Float:ACos:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: -0.0289767
+DEAL:Float:ACos:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: -0.0289767
+DEAL:Float:ACos:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: -0.0857228
+DEAL:Float:ATan:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Float:ATan:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Float:ATan:Symbolic computation: Function initialisation::symb_psi: atan(1.0/(s1*s2))
+DEAL:Float:ATan:Symbolic computation: Differentiation::symb_dpsi_ds0: -1.0/(s1**2*s2*(1 + 1.0*1/(s1**2*s2**2)))
+DEAL:Float:ATan:Symbolic computation: Differentiation::symb_dpsi_ds1: -1.0/(s1*s2**2*(1 + 1.0*1/(s1**2*s2**2)))
+DEAL:Float:ATan:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: -2.0*1/(s1**5*s2**3*(1 + 1.0*1/(s1**2*s2**2))**2) + 2.0*1/(s1**3*s2*(1 + 1.0*1/(s1**2*s2**2)))
+DEAL:Float:ATan:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -2.0*1/(s1**4*s2**4*(1 + 1.0*1/(s1**2*s2**2))**2) + 1.0*1/(s1**2*s2**2*(1 + 1.0*1/(s1**2*s2**2)))
+DEAL:Float:ATan:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -2.0*1/(s1**4*s2**4*(1 + 1.0*1/(s1**2*s2**2))**2) + 1.0*1/(s1**2*s2**2*(1 + 1.0*1/(s1**2*s2**2)))
+DEAL:Float:ATan:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: -2.0*1/(s1**3*s2**5*(1 + 1.0*1/(s1**2*s2**2))**2) + 2.0*1/(s1*s2**3*(1 + 1.0*1/(s1**2*s2**2)))
+DEAL:Float:ATan:Symbolic computation: Substitution::subs_psi: 0.165149
+DEAL:Float:ATan:Symbolic computation: Substitution::subs_dpsi_ds0: -0.0540541
+DEAL:Float:ATan:Symbolic computation: Substitution::subs_dpsi_ds1: -0.0810811
+DEAL:Float:ATan:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: 0.0350621
+DEAL:Float:ATan:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: 0.0255661
+DEAL:Float:ATan:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: 0.0255661
+DEAL:Float:ATan:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: 0.0788897
+DEAL:Float:ATan2:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Float:ATan2:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Float:ATan2:Symbolic computation: Function initialisation::symb_psi: 3.0*atan2(s2, s1)
+DEAL:Float:ATan2:Symbolic computation: Differentiation::symb_dpsi_ds0: -3.0*s2/(s1**2 + s2**2)
+DEAL:Float:ATan2:Symbolic computation: Differentiation::symb_dpsi_ds1: 3.0*s1/(s1**2 + s2**2)
+DEAL:Float:ATan2:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 6.0*s1*s2/(s1**2 + s2**2)**2
+DEAL:Float:ATan2:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: 6.0*s2**2/(s1**2 + s2**2)**2 - 3.0*(s1**2 + s2**2)**(-1)
+DEAL:Float:ATan2:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -6.0*s1**2/(s1**2 + s2**2)**2 + 3.0*(s1**2 + s2**2)**(-1)
+DEAL:Float:ATan2:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: -6.0*s1*s2/(s1**2 + s2**2)**2
+DEAL:Float:ATan2:Symbolic computation: Substitution::subs_psi: 1.76401
+DEAL:Float:ATan2:Symbolic computation: Substitution::subs_dpsi_ds0: -0.461538
+DEAL:Float:ATan2:Symbolic computation: Substitution::subs_dpsi_ds1: 0.692308
+DEAL:Float:ATan2:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: 0.213018
+DEAL:Float:ATan2:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: -0.0887574
+DEAL:Float:ATan2:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: -0.0887574
+DEAL:Float:ATan2:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: -0.213018
+DEAL:Float:Sinh:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Float:Sinh:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Float:Sinh:Symbolic computation: Function initialisation::symb_psi: sinh(s2/s1)
+DEAL:Float:Sinh:Symbolic computation: Differentiation::symb_dpsi_ds0: -s2*cosh(s2/s1)/s1**2
+DEAL:Float:Sinh:Symbolic computation: Differentiation::symb_dpsi_ds1: cosh(s2/s1)/s1
+DEAL:Float:Sinh:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: s2**2*sinh(s2/s1)/s1**4 + 2*s2*cosh(s2/s1)/s1**3
+DEAL:Float:Sinh:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -cosh(s2/s1)/s1**2 - s2*sinh(s2/s1)/s1**3
+DEAL:Float:Sinh:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -cosh(s2/s1)/s1**2 - s2*sinh(s2/s1)/s1**3
+DEAL:Float:Sinh:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: sinh(s2/s1)/s1**2
+DEAL:Float:Sinh:Symbolic computation: Substitution::subs_psi: 0.717158
+DEAL:Float:Sinh:Symbolic computation: Substitution::subs_dpsi_ds0: -0.273461
+DEAL:Float:Sinh:Symbolic computation: Substitution::subs_dpsi_ds1: 0.410192
+DEAL:Float:Sinh:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: 0.217723
+DEAL:Float:Sinh:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: -0.189853
+DEAL:Float:Sinh:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: -0.189853
+DEAL:Float:Sinh:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: 0.0796843
+DEAL:Float:Cosh:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Float:Cosh:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Float:Cosh:Symbolic computation: Function initialisation::symb_psi: cosh(s2/s1)
+DEAL:Float:Cosh:Symbolic computation: Differentiation::symb_dpsi_ds0: -s2*sinh(s2/s1)/s1**2
+DEAL:Float:Cosh:Symbolic computation: Differentiation::symb_dpsi_ds1: sinh(s2/s1)/s1
+DEAL:Float:Cosh:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: s2**2*cosh(s2/s1)/s1**4 + 2*s2*sinh(s2/s1)/s1**3
+DEAL:Float:Cosh:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -sinh(s2/s1)/s1**2 - s2*cosh(s2/s1)/s1**3
+DEAL:Float:Cosh:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -sinh(s2/s1)/s1**2 - s2*cosh(s2/s1)/s1**3
+DEAL:Float:Cosh:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: cosh(s2/s1)/s1**2
+DEAL:Float:Cosh:Symbolic computation: Substitution::subs_psi: 1.23058
+DEAL:Float:Cosh:Symbolic computation: Substitution::subs_dpsi_ds0: -0.159369
+DEAL:Float:Cosh:Symbolic computation: Substitution::subs_dpsi_ds1: 0.239053
+DEAL:Float:Cosh:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: 0.167015
+DEAL:Float:Cosh:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: -0.170838
+DEAL:Float:Cosh:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: -0.170838
+DEAL:Float:Cosh:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: 0.136731
+DEAL:Float:Tanh:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Float:Tanh:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Float:Tanh:Symbolic computation: Function initialisation::symb_psi: tanh(s2/s1)
+DEAL:Float:Tanh:Symbolic computation: Differentiation::symb_dpsi_ds0: -s2*(1 - tanh(s2/s1)**2)/s1**2
+DEAL:Float:Tanh:Symbolic computation: Differentiation::symb_dpsi_ds1: (1 - tanh(s2/s1)**2)/s1
+DEAL:Float:Tanh:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 2*s2*(1 - tanh(s2/s1)**2)/s1**3 - 2*s2**2*tanh(s2/s1)*(1 - tanh(s2/s1)**2)/s1**4
+DEAL:Float:Tanh:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -(1 - tanh(s2/s1)**2)/s1**2 + 2*s2*tanh(s2/s1)*(1 - tanh(s2/s1)**2)/s1**3
+DEAL:Float:Tanh:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -(1 - tanh(s2/s1)**2)/s1**2 + 2*s2*tanh(s2/s1)*(1 - tanh(s2/s1)**2)/s1**3
+DEAL:Float:Tanh:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: -2*tanh(s2/s1)*(1 - tanh(s2/s1)**2)/s1**2
+DEAL:Float:Tanh:Symbolic computation: Substitution::subs_psi: 0.582783
+DEAL:Float:Tanh:Symbolic computation: Substitution::subs_dpsi_ds0: -0.146748
+DEAL:Float:Tanh:Symbolic computation: Substitution::subs_dpsi_ds1: 0.220121
+DEAL:Float:Tanh:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: 0.0598219
+DEAL:Float:Tanh:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: -0.0163591
+DEAL:Float:Tanh:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: -0.0163591
+DEAL:Float:Tanh:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: -0.0855220
+DEAL:Float:ASinh:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Float:ASinh:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Float:ASinh:Symbolic computation: Function initialisation::symb_psi: asinh(1.0/(s1*s2))
+DEAL:Float:ASinh:Symbolic computation: Differentiation::symb_dpsi_ds0: -1.0/(s1**2*s2*sqrt(1 + 1.0*1/(s1**2*s2**2)))
+DEAL:Float:ASinh:Symbolic computation: Differentiation::symb_dpsi_ds1: -1.0/(s1*s2**2*sqrt(1 + 1.0*1/(s1**2*s2**2)))
+DEAL:Float:ASinh:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: -1.0*1/(s1**5*s2**3*(1 + 1.0*1/(s1**2*s2**2))**(3/2)) + 2.0*1/(s1**3*s2*sqrt(1 + 1.0*1/(s1**2*s2**2)))
+DEAL:Float:ASinh:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -1.0*1/(s1**4*s2**4*(1 + 1.0*1/(s1**2*s2**2))**(3/2)) + 1.0*1/(s1**2*s2**2*sqrt(1 + 1.0*1/(s1**2*s2**2)))
+DEAL:Float:ASinh:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -1.0*1/(s1**4*s2**4*(1 + 1.0*1/(s1**2*s2**2))**(3/2)) + 1.0*1/(s1**2*s2**2*sqrt(1 + 1.0*1/(s1**2*s2**2)))
+DEAL:Float:ASinh:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: -1.0*1/(s1**3*s2**5*(1 + 1.0*1/(s1**2*s2**2))**(3/2)) + 2.0*1/(s1*s2**3*sqrt(1 + 1.0*1/(s1**2*s2**2)))
+DEAL:Float:ASinh:Symbolic computation: Substitution::subs_psi: 0.165905
+DEAL:Float:ASinh:Symbolic computation: Substitution::subs_dpsi_ds0: -0.0547997
+DEAL:Float:ASinh:Symbolic computation: Substitution::subs_dpsi_ds1: -0.0821995
+DEAL:Float:ASinh:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: 0.0360394
+DEAL:Float:ASinh:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: 0.0266593
+DEAL:Float:ASinh:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: 0.0266593
+DEAL:Float:ASinh:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: 0.0810887
+DEAL:Float:ACosh:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Float:ACosh:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Float:ACosh:Symbolic computation: Function initialisation::symb_psi: acosh(s1*s2)
+DEAL:Float:ACosh:Symbolic computation: Differentiation::symb_dpsi_ds0: s2/sqrt(-1 + s1**2*s2**2)
+DEAL:Float:ACosh:Symbolic computation: Differentiation::symb_dpsi_ds1: s1/sqrt(-1 + s1**2*s2**2)
+DEAL:Float:ACosh:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: -s1*s2**3/(-1 + s1**2*s2**2)**(3/2)
+DEAL:Float:ACosh:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -s1**2*s2**2/(-1 + s1**2*s2**2)**(3/2) + (-1 + s1**2*s2**2)**(-1/2)
+DEAL:Float:ACosh:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -s1**2*s2**2/(-1 + s1**2*s2**2)**(3/2) + (-1 + s1**2*s2**2)**(-1/2)
+DEAL:Float:ACosh:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: -s1**3*s2/(-1 + s1**2*s2**2)**(3/2)
+DEAL:Float:ACosh:Symbolic computation: Substitution::subs_psi: 2.47789
+DEAL:Float:ACosh:Symbolic computation: Substitution::subs_dpsi_ds0: 0.338062
+DEAL:Float:ACosh:Symbolic computation: Substitution::subs_dpsi_ds1: 0.507093
+DEAL:Float:ACosh:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: -0.115907
+DEAL:Float:ACosh:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: -0.00482945
+DEAL:Float:ACosh:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: -0.00482945
+DEAL:Float:ACosh:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: -0.260790
+DEAL:Float:ATanh:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Float:ATanh:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Float:ATanh:Symbolic computation: Function initialisation::symb_psi: atanh(1.0/(s1*s2))
+DEAL:Float:ATanh:Symbolic computation: Differentiation::symb_dpsi_ds0: -1.0/(s1**2*s2*(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Float:ATanh:Symbolic computation: Differentiation::symb_dpsi_ds1: -1.0/(s1*s2**2*(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Float:ATanh:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 2.0*1/(s1**5*s2**3*(1 - 1.0*1/(s1**2*s2**2))**2) + 2.0*1/(s1**3*s2*(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Float:ATanh:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: 2.0*1/(s1**4*s2**4*(1 - 1.0*1/(s1**2*s2**2))**2) + 1.0*1/(s1**2*s2**2*(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Float:ATanh:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: 2.0*1/(s1**4*s2**4*(1 - 1.0*1/(s1**2*s2**2))**2) + 1.0*1/(s1**2*s2**2*(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Float:ATanh:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: 2.0*1/(s1**3*s2**5*(1 - 1.0*1/(s1**2*s2**2))**2) + 2.0*1/(s1*s2**3*(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Float:ATanh:Symbolic computation: Substitution::subs_psi: 0.168236
+DEAL:Float:ATanh:Symbolic computation: Substitution::subs_dpsi_ds0: -0.0571429
+DEAL:Float:ATanh:Symbolic computation: Substitution::subs_dpsi_ds1: -0.0857143
+DEAL:Float:ATanh:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: 0.0391837
+DEAL:Float:ATanh:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: 0.0302041
+DEAL:Float:ATanh:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: 0.0302041
+DEAL:Float:ATanh:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: 0.0881633
+DEAL:Float:Erf:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Float:Erf:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Float:Erf:Symbolic computation: Function initialisation::symb_psi: s1**2*erf(s2)
+DEAL:Float:Erf:Symbolic computation: Differentiation::symb_dpsi_ds0: 2*s1*erf(s2)
+DEAL:Float:Erf:Symbolic computation: Differentiation::symb_dpsi_ds1: 2*exp(-s2**2)*s1**2/sqrt(pi)
+DEAL:Float:Erf:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 2*erf(s2)
+DEAL:Float:Erf:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: 4*exp(-s2**2)*s1/sqrt(pi)
+DEAL:Float:Erf:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: 4*exp(-s2**2)*s1/sqrt(pi)
+DEAL:Float:Erf:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: -4*exp(-s2**2)*s1**2*s2/sqrt(pi)
+DEAL:Float:Erf:Symbolic computation: Substitution::subs_psi: 8.95790
+DEAL:Float:Erf:Symbolic computation: Substitution::subs_dpsi_ds0: 5.97193
+DEAL:Float:Erf:Symbolic computation: Substitution::subs_dpsi_ds1: 0.186003
+DEAL:Float:Erf:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: 1.99064
+DEAL:Float:Erf:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: 0.124002
+DEAL:Float:Erf:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: 0.124002
+DEAL:Float:Erf:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: -0.744011
+DEAL:Float:Erfc:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Float:Erfc:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Float:Erfc:Symbolic computation: Function initialisation::symb_psi: s1**2*erfc(s2)
+DEAL:Float:Erfc:Symbolic computation: Differentiation::symb_dpsi_ds0: 2*s1*erfc(s2)
+DEAL:Float:Erfc:Symbolic computation: Differentiation::symb_dpsi_ds1: -2*exp(-s2**2)*s1**2/sqrt(pi)
+DEAL:Float:Erfc:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 2*erfc(s2)
+DEAL:Float:Erfc:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -4*exp(-s2**2)*s1/sqrt(pi)
+DEAL:Float:Erfc:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -4*exp(-s2**2)*s1/sqrt(pi)
+DEAL:Float:Erfc:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: 4*exp(-s2**2)*s1**2*s2/sqrt(pi)
+DEAL:Float:Erfc:Symbolic computation: Substitution::subs_psi: 0.0420996
+DEAL:Float:Erfc:Symbolic computation: Substitution::subs_dpsi_ds0: 0.0280664
+DEAL:Float:Erfc:Symbolic computation: Substitution::subs_dpsi_ds1: -0.186003
+DEAL:Float:Erfc:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: 0.00935547
+DEAL:Float:Erfc:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: -0.124002
+DEAL:Float:Erfc:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: -0.124002
+DEAL:Float:Erfc:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: 0.744011
+DEAL:Float::OK
+DEAL:Double:Add:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Double:Add:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Double:Add:Symbolic computation: Function initialisation::symb_psi: (s1 + s2)**2
+DEAL:Double:Add:Symbolic computation: Differentiation::symb_dpsi_ds0: 2*(s1 + s2)
+DEAL:Double:Add:Symbolic computation: Differentiation::symb_dpsi_ds1: 2*(s1 + s2)
+DEAL:Double:Add:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 2
+DEAL:Double:Add:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: 2
+DEAL:Double:Add:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: 2
+DEAL:Double:Add:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: 2
+DEAL:Double:Add:Symbolic computation: Substitution::subs_psi: 25.0000
+DEAL:Double:Add:Symbolic computation: Substitution::subs_dpsi_ds0: 10.0000
+DEAL:Double:Add:Symbolic computation: Substitution::subs_dpsi_ds1: 10.0000
+DEAL:Double:Add:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: 2.00000
+DEAL:Double:Add:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: 2.00000
+DEAL:Double:Add:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: 2.00000
+DEAL:Double:Add:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: 2.00000
+DEAL:Double:Subtract:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Double:Subtract:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Double:Subtract:Symbolic computation: Function initialisation::symb_psi: (s1 - s2)**2
+DEAL:Double:Subtract:Symbolic computation: Differentiation::symb_dpsi_ds0: 2*(s1 - s2)
+DEAL:Double:Subtract:Symbolic computation: Differentiation::symb_dpsi_ds1: -2*(s1 - s2)
+DEAL:Double:Subtract:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 2
+DEAL:Double:Subtract:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -2
+DEAL:Double:Subtract:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -2
+DEAL:Double:Subtract:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: 2
+DEAL:Double:Subtract:Symbolic computation: Substitution::subs_psi: 1.00000
+DEAL:Double:Subtract:Symbolic computation: Substitution::subs_dpsi_ds0: 2.00000
+DEAL:Double:Subtract:Symbolic computation: Substitution::subs_dpsi_ds1: -2.00000
+DEAL:Double:Subtract:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: 2.00000
+DEAL:Double:Subtract:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: -2.00000
+DEAL:Double:Subtract:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: -2.00000
+DEAL:Double:Subtract:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: 2.00000
+DEAL:Double:Multiply:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Double:Multiply:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Double:Multiply:Symbolic computation: Function initialisation::symb_psi: s1**2*s2**2
+DEAL:Double:Multiply:Symbolic computation: Differentiation::symb_dpsi_ds0: 2*s1*s2**2
+DEAL:Double:Multiply:Symbolic computation: Differentiation::symb_dpsi_ds1: 2*s1**2*s2
+DEAL:Double:Multiply:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 2*s2**2
+DEAL:Double:Multiply:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: 4*s1*s2
+DEAL:Double:Multiply:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: 4*s1*s2
+DEAL:Double:Multiply:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: 2*s1**2
+DEAL:Double:Multiply:Symbolic computation: Substitution::subs_psi: 36.0000
+DEAL:Double:Multiply:Symbolic computation: Substitution::subs_dpsi_ds0: 24.0000
+DEAL:Double:Multiply:Symbolic computation: Substitution::subs_dpsi_ds1: 36.0000
+DEAL:Double:Multiply:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: 8.00000
+DEAL:Double:Multiply:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: 24.0000
+DEAL:Double:Multiply:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: 24.0000
+DEAL:Double:Multiply:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: 18.0000
+DEAL:Double:Divide:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Double:Divide:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Double:Divide:Symbolic computation: Function initialisation::symb_psi: s1**2/s2**2
+DEAL:Double:Divide:Symbolic computation: Differentiation::symb_dpsi_ds0: 2*s1/s2**2
+DEAL:Double:Divide:Symbolic computation: Differentiation::symb_dpsi_ds1: -2*s1**2/s2**3
+DEAL:Double:Divide:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 2/s2**2
+DEAL:Double:Divide:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -4*s1/s2**3
+DEAL:Double:Divide:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -4*s1/s2**3
+DEAL:Double:Divide:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: 6*s1**2/s2**4
+DEAL:Double:Divide:Symbolic computation: Substitution::subs_psi: 2.25000
+DEAL:Double:Divide:Symbolic computation: Substitution::subs_dpsi_ds0: 1.50000
+DEAL:Double:Divide:Symbolic computation: Substitution::subs_dpsi_ds1: -2.25000
+DEAL:Double:Divide:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: 0.500000
+DEAL:Double:Divide:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: -1.50000
+DEAL:Double:Divide:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: -1.50000
+DEAL:Double:Divide:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: 3.37500
+DEAL:Double:Power:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Double:Power:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Double:Power:Symbolic computation: Function initialisation::symb_psi: 2.0*s1**s2
+DEAL:Double:Power:Symbolic computation: Differentiation::symb_dpsi_ds0: 2.0*s1**(-1 + s2)*s2
+DEAL:Double:Power:Symbolic computation: Differentiation::symb_dpsi_ds1: 2.0*s1**s2*log(s1)
+DEAL:Double:Power:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 2.0*s1**(-2 + s2)*s2*(-1 + s2)
+DEAL:Double:Power:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: 2.0*s1**(-1 + s2)*s2*log(s1) + 2.0*s1**(-1 + s2)
+DEAL:Double:Power:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: 2.0*s1**(-1 + s2)*s2*log(s1) + 2.0*s1**(-1 + s2)
+DEAL:Double:Power:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: 2.0*s1**s2*log(s1)**2
+DEAL:Double:Power:Symbolic computation: Substitution::subs_psi: 18.0000
+DEAL:Double:Power:Symbolic computation: Substitution::subs_dpsi_ds0: 12.0000
+DEAL:Double:Power:Symbolic computation: Substitution::subs_dpsi_ds1: 19.7750
+DEAL:Double:Power:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: 4.00000
+DEAL:Double:Power:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: 19.1833
+DEAL:Double:Power:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: 19.1833
+DEAL:Double:Power:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: 21.7251
+DEAL:Double:Sqrt:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Double:Sqrt:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Double:Sqrt:Symbolic computation: Function initialisation::symb_psi: 2.0*sqrt(s1*s2)
+DEAL:Double:Sqrt:Symbolic computation: Differentiation::symb_dpsi_ds0: 1.0*s2/sqrt(s1*s2)
+DEAL:Double:Sqrt:Symbolic computation: Differentiation::symb_dpsi_ds1: 1.0*s1/sqrt(s1*s2)
+DEAL:Double:Sqrt:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: -0.5*s2**2/(s1*s2)**(3/2)
+DEAL:Double:Sqrt:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -0.5*s1*s2/(s1*s2)**(3/2) + 1.0*(s1*s2)**(-1/2)
+DEAL:Double:Sqrt:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -0.5*s1*s2/(s1*s2)**(3/2) + 1.0*(s1*s2)**(-1/2)
+DEAL:Double:Sqrt:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: -0.5*s1**2/(s1*s2)**(3/2)
+DEAL:Double:Sqrt:Symbolic computation: Substitution::subs_psi: 4.89898
+DEAL:Double:Sqrt:Symbolic computation: Substitution::subs_dpsi_ds0: 0.816497
+DEAL:Double:Sqrt:Symbolic computation: Substitution::subs_dpsi_ds1: 1.22474
+DEAL:Double:Sqrt:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: -0.136083
+DEAL:Double:Sqrt:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: 0.204124
+DEAL:Double:Sqrt:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: 0.204124
+DEAL:Double:Sqrt:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: -0.306186
+DEAL:Double:Exponential:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Double:Exponential:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Double:Exponential:Symbolic computation: Function initialisation::symb_psi: exp(s2)*s1**2
+DEAL:Double:Exponential:Symbolic computation: Differentiation::symb_dpsi_ds0: 2*exp(s2)*s1
+DEAL:Double:Exponential:Symbolic computation: Differentiation::symb_dpsi_ds1: exp(s2)*s1**2
+DEAL:Double:Exponential:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 2*exp(s2)
+DEAL:Double:Exponential:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: 2*exp(s2)*s1
+DEAL:Double:Exponential:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: 2*exp(s2)*s1
+DEAL:Double:Exponential:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: exp(s2)*s1**2
+DEAL:Double:Exponential:Symbolic computation: Substitution::subs_psi: 66.5015
+DEAL:Double:Exponential:Symbolic computation: Substitution::subs_dpsi_ds0: 44.3343
+DEAL:Double:Exponential:Symbolic computation: Substitution::subs_dpsi_ds1: 66.5015
+DEAL:Double:Exponential:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: 14.7781
+DEAL:Double:Exponential:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: 44.3343
+DEAL:Double:Exponential:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: 44.3343
+DEAL:Double:Exponential:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: 66.5015
+DEAL:Double:Logarithm:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Double:Logarithm:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Double:Logarithm:Symbolic computation: Function initialisation::symb_psi: s1**2*log(s2)
+DEAL:Double:Logarithm:Symbolic computation: Differentiation::symb_dpsi_ds0: 2*s1*log(s2)
+DEAL:Double:Logarithm:Symbolic computation: Differentiation::symb_dpsi_ds1: s1**2/s2
+DEAL:Double:Logarithm:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 2*log(s2)
+DEAL:Double:Logarithm:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: 2*s1/s2
+DEAL:Double:Logarithm:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: 2*s1/s2
+DEAL:Double:Logarithm:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: -s1**2/s2**2
+DEAL:Double:Logarithm:Symbolic computation: Substitution::subs_psi: 6.23832
+DEAL:Double:Logarithm:Symbolic computation: Substitution::subs_dpsi_ds0: 4.15888
+DEAL:Double:Logarithm:Symbolic computation: Substitution::subs_dpsi_ds1: 4.50000
+DEAL:Double:Logarithm:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: 1.38629
+DEAL:Double:Logarithm:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: 3.00000
+DEAL:Double:Logarithm:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: 3.00000
+DEAL:Double:Logarithm:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: -2.25000
+DEAL:Double:Logarithm with Base:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Double:Logarithm with Base:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Double:Logarithm with Base:Symbolic computation: Function initialisation::symb_psi: log(s2)/log(s1)
+DEAL:Double:Logarithm with Base:Symbolic computation: Differentiation::symb_dpsi_ds0: -log(s2)/(s1*log(s1)**2)
+DEAL:Double:Logarithm with Base:Symbolic computation: Differentiation::symb_dpsi_ds1: 1/(s2*log(s1))
+DEAL:Double:Logarithm with Base:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 2*log(s2)/(s1**2*log(s1)**3) + log(s2)/(s1**2*log(s1)**2)
+DEAL:Double:Logarithm with Base:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -1/(s1*s2*log(s1)**2)
+DEAL:Double:Logarithm with Base:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -1/(s1*s2*log(s1)**2)
+DEAL:Double:Logarithm with Base:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: -1/(s2**2*log(s1))
+DEAL:Double:Logarithm with Base:Symbolic computation: Substitution::subs_psi: 0.630930
+DEAL:Double:Logarithm with Base:Symbolic computation: Substitution::subs_dpsi_ds0: -0.191432
+DEAL:Double:Logarithm with Base:Symbolic computation: Substitution::subs_dpsi_ds1: 0.455120
+DEAL:Double:Logarithm with Base:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: 0.179977
+DEAL:Double:Logarithm with Base:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: -0.138089
+DEAL:Double:Logarithm with Base:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: -0.138089
+DEAL:Double:Logarithm with Base:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: -0.227560
+DEAL:Double:Logarithm base 10:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Double:Logarithm base 10:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Double:Logarithm base 10:Symbolic computation: Function initialisation::symb_psi: 0.434294481903252*s1**2*log(s2)
+DEAL:Double:Logarithm base 10:Symbolic computation: Differentiation::symb_dpsi_ds0: 0.868588963806504*s1*log(s2)
+DEAL:Double:Logarithm base 10:Symbolic computation: Differentiation::symb_dpsi_ds1: 0.434294481903252*s1**2/s2
+DEAL:Double:Logarithm base 10:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 0.868588963806504*log(s2)
+DEAL:Double:Logarithm base 10:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: 0.868588963806504*s1/s2
+DEAL:Double:Logarithm base 10:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: 0.868588963806504*s1/s2
+DEAL:Double:Logarithm base 10:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: -0.434294481903252*s1**2/s2**2
+DEAL:Double:Logarithm base 10:Symbolic computation: Substitution::subs_psi: 2.70927
+DEAL:Double:Logarithm base 10:Symbolic computation: Substitution::subs_dpsi_ds0: 1.80618
+DEAL:Double:Logarithm base 10:Symbolic computation: Substitution::subs_dpsi_ds1: 1.95433
+DEAL:Double:Logarithm base 10:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: 0.602060
+DEAL:Double:Logarithm base 10:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: 1.30288
+DEAL:Double:Logarithm base 10:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: 1.30288
+DEAL:Double:Logarithm base 10:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: -0.977163
+DEAL:Double:Sin:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Double:Sin:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Double:Sin:Symbolic computation: Function initialisation::symb_psi: sin(s2/s1)
+DEAL:Double:Sin:Symbolic computation: Differentiation::symb_dpsi_ds0: -s2*cos(s2/s1)/s1**2
+DEAL:Double:Sin:Symbolic computation: Differentiation::symb_dpsi_ds1: cos(s2/s1)/s1
+DEAL:Double:Sin:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: -s2**2*sin(s2/s1)/s1**4 + 2*s2*cos(s2/s1)/s1**3
+DEAL:Double:Sin:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -cos(s2/s1)/s1**2 + s2*sin(s2/s1)/s1**3
+DEAL:Double:Sin:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -cos(s2/s1)/s1**2 + s2*sin(s2/s1)/s1**3
+DEAL:Double:Sin:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: -sin(s2/s1)/s1**2
+DEAL:Double:Sin:Symbolic computation: Substitution::subs_psi: 0.618370
+DEAL:Double:Sin:Symbolic computation: Substitution::subs_dpsi_ds0: -0.174642
+DEAL:Double:Sin:Symbolic computation: Substitution::subs_dpsi_ds1: 0.261962
+DEAL:Double:Sin:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: 0.0858910
+DEAL:Double:Sin:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: -0.0415156
+DEAL:Double:Sin:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: -0.0415156
+DEAL:Double:Sin:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: -0.0687078
+DEAL:Double:Cos:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Double:Cos:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Double:Cos:Symbolic computation: Function initialisation::symb_psi: cos(s2/s1)
+DEAL:Double:Cos:Symbolic computation: Differentiation::symb_dpsi_ds0: s2*sin(s2/s1)/s1**2
+DEAL:Double:Cos:Symbolic computation: Differentiation::symb_dpsi_ds1: -sin(s2/s1)/s1
+DEAL:Double:Cos:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: -s2**2*cos(s2/s1)/s1**4 - 2*s2*sin(s2/s1)/s1**3
+DEAL:Double:Cos:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: sin(s2/s1)/s1**2 + s2*cos(s2/s1)/s1**3
+DEAL:Double:Cos:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: sin(s2/s1)/s1**2 + s2*cos(s2/s1)/s1**3
+DEAL:Double:Cos:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: -cos(s2/s1)/s1**2
+DEAL:Double:Cos:Symbolic computation: Substitution::subs_psi: 0.785887
+DEAL:Double:Cos:Symbolic computation: Substitution::subs_dpsi_ds0: 0.137416
+DEAL:Double:Cos:Symbolic computation: Substitution::subs_dpsi_ds1: -0.206123
+DEAL:Double:Cos:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: -0.130420
+DEAL:Double:Cos:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: 0.126922
+DEAL:Double:Cos:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: 0.126922
+DEAL:Double:Cos:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: -0.0873208
+DEAL:Double:Tan:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Double:Tan:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Double:Tan:Symbolic computation: Function initialisation::symb_psi: tan(s2/s1)
+DEAL:Double:Tan:Symbolic computation: Differentiation::symb_dpsi_ds0: -s2*(1 + tan(s2/s1)**2)/s1**2
+DEAL:Double:Tan:Symbolic computation: Differentiation::symb_dpsi_ds1: (1 + tan(s2/s1)**2)/s1
+DEAL:Double:Tan:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 2*s2*(1 + tan(s2/s1)**2)/s1**3 + 2*s2**2*tan(s2/s1)*(1 + tan(s2/s1)**2)/s1**4
+DEAL:Double:Tan:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -(1 + tan(s2/s1)**2)/s1**2 - 2*s2*tan(s2/s1)*(1 + tan(s2/s1)**2)/s1**3
+DEAL:Double:Tan:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -(1 + tan(s2/s1)**2)/s1**2 - 2*s2*tan(s2/s1)*(1 + tan(s2/s1)**2)/s1**3
+DEAL:Double:Tan:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: 2*tan(s2/s1)*(1 + tan(s2/s1)**2)/s1**2
+DEAL:Double:Tan:Symbolic computation: Substitution::subs_psi: 0.786843
+DEAL:Double:Tan:Symbolic computation: Substitution::subs_dpsi_ds0: -0.359805
+DEAL:Double:Tan:Symbolic computation: Substitution::subs_dpsi_ds1: 0.539707
+DEAL:Double:Tan:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: 0.365696
+DEAL:Double:Tan:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: -0.368642
+DEAL:Double:Tan:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: -0.368642
+DEAL:Double:Tan:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: 0.283110
+DEAL:Double:ASin:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Double:ASin:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Double:ASin:Symbolic computation: Function initialisation::symb_psi: asin(1.0/(s1*s2))
+DEAL:Double:ASin:Symbolic computation: Differentiation::symb_dpsi_ds0: -1.0/(s1**2*s2*sqrt(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Double:ASin:Symbolic computation: Differentiation::symb_dpsi_ds1: -1.0/(s1*s2**2*sqrt(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Double:ASin:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 1.0*1/(s1**5*s2**3*(1 - 1.0*1/(s1**2*s2**2))**(3/2)) + 2.0*1/(s1**3*s2*sqrt(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Double:ASin:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: 1.0*1/(s1**4*s2**4*(1 - 1.0*1/(s1**2*s2**2))**(3/2)) + 1.0*1/(s1**2*s2**2*sqrt(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Double:ASin:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: 1.0*1/(s1**4*s2**4*(1 - 1.0*1/(s1**2*s2**2))**(3/2)) + 1.0*1/(s1**2*s2**2*sqrt(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Double:ASin:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: 1.0*1/(s1**3*s2**5*(1 - 1.0*1/(s1**2*s2**2))**(3/2)) + 2.0*1/(s1*s2**3*sqrt(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Double:ASin:Symbolic computation: Substitution::subs_psi: 0.167448
+DEAL:Double:ASin:Symbolic computation: Substitution::subs_dpsi_ds0: -0.0563436
+DEAL:Double:ASin:Symbolic computation: Substitution::subs_dpsi_ds1: -0.0845154
+DEAL:Double:ASin:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: 0.0380990
+DEAL:Double:ASin:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: 0.0289767
+DEAL:Double:ASin:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: 0.0289767
+DEAL:Double:ASin:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: 0.0857228
+DEAL:Double:ACos:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Double:ACos:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Double:ACos:Symbolic computation: Function initialisation::symb_psi: acos(1.0/(s1*s2))
+DEAL:Double:ACos:Symbolic computation: Differentiation::symb_dpsi_ds0: 1.0/(s1**2*s2*sqrt(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Double:ACos:Symbolic computation: Differentiation::symb_dpsi_ds1: 1.0/(s1*s2**2*sqrt(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Double:ACos:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: -1.0*1/(s1**5*s2**3*(1 - 1.0*1/(s1**2*s2**2))**(3/2)) - 2.0*1/(s1**3*s2*sqrt(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Double:ACos:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -1.0*1/(s1**4*s2**4*(1 - 1.0*1/(s1**2*s2**2))**(3/2)) - 1.0*1/(s1**2*s2**2*sqrt(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Double:ACos:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -1.0*1/(s1**4*s2**4*(1 - 1.0*1/(s1**2*s2**2))**(3/2)) - 1.0*1/(s1**2*s2**2*sqrt(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Double:ACos:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: -1.0*1/(s1**3*s2**5*(1 - 1.0*1/(s1**2*s2**2))**(3/2)) - 2.0*1/(s1*s2**3*sqrt(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Double:ACos:Symbolic computation: Substitution::subs_psi: 1.40335
+DEAL:Double:ACos:Symbolic computation: Substitution::subs_dpsi_ds0: 0.0563436
+DEAL:Double:ACos:Symbolic computation: Substitution::subs_dpsi_ds1: 0.0845154
+DEAL:Double:ACos:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: -0.0380990
+DEAL:Double:ACos:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: -0.0289767
+DEAL:Double:ACos:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: -0.0289767
+DEAL:Double:ACos:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: -0.0857228
+DEAL:Double:ATan:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Double:ATan:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Double:ATan:Symbolic computation: Function initialisation::symb_psi: atan(1.0/(s1*s2))
+DEAL:Double:ATan:Symbolic computation: Differentiation::symb_dpsi_ds0: -1.0/(s1**2*s2*(1 + 1.0*1/(s1**2*s2**2)))
+DEAL:Double:ATan:Symbolic computation: Differentiation::symb_dpsi_ds1: -1.0/(s1*s2**2*(1 + 1.0*1/(s1**2*s2**2)))
+DEAL:Double:ATan:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: -2.0*1/(s1**5*s2**3*(1 + 1.0*1/(s1**2*s2**2))**2) + 2.0*1/(s1**3*s2*(1 + 1.0*1/(s1**2*s2**2)))
+DEAL:Double:ATan:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -2.0*1/(s1**4*s2**4*(1 + 1.0*1/(s1**2*s2**2))**2) + 1.0*1/(s1**2*s2**2*(1 + 1.0*1/(s1**2*s2**2)))
+DEAL:Double:ATan:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -2.0*1/(s1**4*s2**4*(1 + 1.0*1/(s1**2*s2**2))**2) + 1.0*1/(s1**2*s2**2*(1 + 1.0*1/(s1**2*s2**2)))
+DEAL:Double:ATan:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: -2.0*1/(s1**3*s2**5*(1 + 1.0*1/(s1**2*s2**2))**2) + 2.0*1/(s1*s2**3*(1 + 1.0*1/(s1**2*s2**2)))
+DEAL:Double:ATan:Symbolic computation: Substitution::subs_psi: 0.165149
+DEAL:Double:ATan:Symbolic computation: Substitution::subs_dpsi_ds0: -0.0540541
+DEAL:Double:ATan:Symbolic computation: Substitution::subs_dpsi_ds1: -0.0810811
+DEAL:Double:ATan:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: 0.0350621
+DEAL:Double:ATan:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: 0.0255661
+DEAL:Double:ATan:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: 0.0255661
+DEAL:Double:ATan:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: 0.0788897
+DEAL:Double:ATan2:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Double:ATan2:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Double:ATan2:Symbolic computation: Function initialisation::symb_psi: 3.0*atan2(s2, s1)
+DEAL:Double:ATan2:Symbolic computation: Differentiation::symb_dpsi_ds0: -3.0*s2/(s1**2 + s2**2)
+DEAL:Double:ATan2:Symbolic computation: Differentiation::symb_dpsi_ds1: 3.0*s1/(s1**2 + s2**2)
+DEAL:Double:ATan2:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 6.0*s1*s2/(s1**2 + s2**2)**2
+DEAL:Double:ATan2:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: 6.0*s2**2/(s1**2 + s2**2)**2 - 3.0*(s1**2 + s2**2)**(-1)
+DEAL:Double:ATan2:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -6.0*s1**2/(s1**2 + s2**2)**2 + 3.0*(s1**2 + s2**2)**(-1)
+DEAL:Double:ATan2:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: -6.0*s1*s2/(s1**2 + s2**2)**2
+DEAL:Double:ATan2:Symbolic computation: Substitution::subs_psi: 1.76401
+DEAL:Double:ATan2:Symbolic computation: Substitution::subs_dpsi_ds0: -0.461538
+DEAL:Double:ATan2:Symbolic computation: Substitution::subs_dpsi_ds1: 0.692308
+DEAL:Double:ATan2:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: 0.213018
+DEAL:Double:ATan2:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: -0.0887574
+DEAL:Double:ATan2:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: -0.0887574
+DEAL:Double:ATan2:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: -0.213018
+DEAL:Double:Sinh:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Double:Sinh:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Double:Sinh:Symbolic computation: Function initialisation::symb_psi: sinh(s2/s1)
+DEAL:Double:Sinh:Symbolic computation: Differentiation::symb_dpsi_ds0: -s2*cosh(s2/s1)/s1**2
+DEAL:Double:Sinh:Symbolic computation: Differentiation::symb_dpsi_ds1: cosh(s2/s1)/s1
+DEAL:Double:Sinh:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: s2**2*sinh(s2/s1)/s1**4 + 2*s2*cosh(s2/s1)/s1**3
+DEAL:Double:Sinh:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -cosh(s2/s1)/s1**2 - s2*sinh(s2/s1)/s1**3
+DEAL:Double:Sinh:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -cosh(s2/s1)/s1**2 - s2*sinh(s2/s1)/s1**3
+DEAL:Double:Sinh:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: sinh(s2/s1)/s1**2
+DEAL:Double:Sinh:Symbolic computation: Substitution::subs_psi: 0.717158
+DEAL:Double:Sinh:Symbolic computation: Substitution::subs_dpsi_ds0: -0.273461
+DEAL:Double:Sinh:Symbolic computation: Substitution::subs_dpsi_ds1: 0.410192
+DEAL:Double:Sinh:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: 0.217723
+DEAL:Double:Sinh:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: -0.189853
+DEAL:Double:Sinh:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: -0.189853
+DEAL:Double:Sinh:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: 0.0796843
+DEAL:Double:Cosh:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Double:Cosh:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Double:Cosh:Symbolic computation: Function initialisation::symb_psi: cosh(s2/s1)
+DEAL:Double:Cosh:Symbolic computation: Differentiation::symb_dpsi_ds0: -s2*sinh(s2/s1)/s1**2
+DEAL:Double:Cosh:Symbolic computation: Differentiation::symb_dpsi_ds1: sinh(s2/s1)/s1
+DEAL:Double:Cosh:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: s2**2*cosh(s2/s1)/s1**4 + 2*s2*sinh(s2/s1)/s1**3
+DEAL:Double:Cosh:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -sinh(s2/s1)/s1**2 - s2*cosh(s2/s1)/s1**3
+DEAL:Double:Cosh:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -sinh(s2/s1)/s1**2 - s2*cosh(s2/s1)/s1**3
+DEAL:Double:Cosh:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: cosh(s2/s1)/s1**2
+DEAL:Double:Cosh:Symbolic computation: Substitution::subs_psi: 1.23058
+DEAL:Double:Cosh:Symbolic computation: Substitution::subs_dpsi_ds0: -0.159369
+DEAL:Double:Cosh:Symbolic computation: Substitution::subs_dpsi_ds1: 0.239053
+DEAL:Double:Cosh:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: 0.167015
+DEAL:Double:Cosh:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: -0.170838
+DEAL:Double:Cosh:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: -0.170838
+DEAL:Double:Cosh:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: 0.136731
+DEAL:Double:Tanh:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Double:Tanh:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Double:Tanh:Symbolic computation: Function initialisation::symb_psi: tanh(s2/s1)
+DEAL:Double:Tanh:Symbolic computation: Differentiation::symb_dpsi_ds0: -s2*(1 - tanh(s2/s1)**2)/s1**2
+DEAL:Double:Tanh:Symbolic computation: Differentiation::symb_dpsi_ds1: (1 - tanh(s2/s1)**2)/s1
+DEAL:Double:Tanh:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 2*s2*(1 - tanh(s2/s1)**2)/s1**3 - 2*s2**2*tanh(s2/s1)*(1 - tanh(s2/s1)**2)/s1**4
+DEAL:Double:Tanh:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -(1 - tanh(s2/s1)**2)/s1**2 + 2*s2*tanh(s2/s1)*(1 - tanh(s2/s1)**2)/s1**3
+DEAL:Double:Tanh:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -(1 - tanh(s2/s1)**2)/s1**2 + 2*s2*tanh(s2/s1)*(1 - tanh(s2/s1)**2)/s1**3
+DEAL:Double:Tanh:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: -2*tanh(s2/s1)*(1 - tanh(s2/s1)**2)/s1**2
+DEAL:Double:Tanh:Symbolic computation: Substitution::subs_psi: 0.582783
+DEAL:Double:Tanh:Symbolic computation: Substitution::subs_dpsi_ds0: -0.146748
+DEAL:Double:Tanh:Symbolic computation: Substitution::subs_dpsi_ds1: 0.220121
+DEAL:Double:Tanh:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: 0.0598219
+DEAL:Double:Tanh:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: -0.0163591
+DEAL:Double:Tanh:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: -0.0163591
+DEAL:Double:Tanh:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: -0.0855220
+DEAL:Double:ASinh:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Double:ASinh:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Double:ASinh:Symbolic computation: Function initialisation::symb_psi: asinh(1.0/(s1*s2))
+DEAL:Double:ASinh:Symbolic computation: Differentiation::symb_dpsi_ds0: -1.0/(s1**2*s2*sqrt(1 + 1.0*1/(s1**2*s2**2)))
+DEAL:Double:ASinh:Symbolic computation: Differentiation::symb_dpsi_ds1: -1.0/(s1*s2**2*sqrt(1 + 1.0*1/(s1**2*s2**2)))
+DEAL:Double:ASinh:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: -1.0*1/(s1**5*s2**3*(1 + 1.0*1/(s1**2*s2**2))**(3/2)) + 2.0*1/(s1**3*s2*sqrt(1 + 1.0*1/(s1**2*s2**2)))
+DEAL:Double:ASinh:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -1.0*1/(s1**4*s2**4*(1 + 1.0*1/(s1**2*s2**2))**(3/2)) + 1.0*1/(s1**2*s2**2*sqrt(1 + 1.0*1/(s1**2*s2**2)))
+DEAL:Double:ASinh:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -1.0*1/(s1**4*s2**4*(1 + 1.0*1/(s1**2*s2**2))**(3/2)) + 1.0*1/(s1**2*s2**2*sqrt(1 + 1.0*1/(s1**2*s2**2)))
+DEAL:Double:ASinh:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: -1.0*1/(s1**3*s2**5*(1 + 1.0*1/(s1**2*s2**2))**(3/2)) + 2.0*1/(s1*s2**3*sqrt(1 + 1.0*1/(s1**2*s2**2)))
+DEAL:Double:ASinh:Symbolic computation: Substitution::subs_psi: 0.165905
+DEAL:Double:ASinh:Symbolic computation: Substitution::subs_dpsi_ds0: -0.0547997
+DEAL:Double:ASinh:Symbolic computation: Substitution::subs_dpsi_ds1: -0.0821995
+DEAL:Double:ASinh:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: 0.0360394
+DEAL:Double:ASinh:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: 0.0266593
+DEAL:Double:ASinh:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: 0.0266593
+DEAL:Double:ASinh:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: 0.0810887
+DEAL:Double:ACosh:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Double:ACosh:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Double:ACosh:Symbolic computation: Function initialisation::symb_psi: acosh(s1*s2)
+DEAL:Double:ACosh:Symbolic computation: Differentiation::symb_dpsi_ds0: s2/sqrt(-1 + s1**2*s2**2)
+DEAL:Double:ACosh:Symbolic computation: Differentiation::symb_dpsi_ds1: s1/sqrt(-1 + s1**2*s2**2)
+DEAL:Double:ACosh:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: -s1*s2**3/(-1 + s1**2*s2**2)**(3/2)
+DEAL:Double:ACosh:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -s1**2*s2**2/(-1 + s1**2*s2**2)**(3/2) + (-1 + s1**2*s2**2)**(-1/2)
+DEAL:Double:ACosh:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -s1**2*s2**2/(-1 + s1**2*s2**2)**(3/2) + (-1 + s1**2*s2**2)**(-1/2)
+DEAL:Double:ACosh:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: -s1**3*s2/(-1 + s1**2*s2**2)**(3/2)
+DEAL:Double:ACosh:Symbolic computation: Substitution::subs_psi: 2.47789
+DEAL:Double:ACosh:Symbolic computation: Substitution::subs_dpsi_ds0: 0.338062
+DEAL:Double:ACosh:Symbolic computation: Substitution::subs_dpsi_ds1: 0.507093
+DEAL:Double:ACosh:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: -0.115907
+DEAL:Double:ACosh:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: -0.00482945
+DEAL:Double:ACosh:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: -0.00482945
+DEAL:Double:ACosh:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: -0.260790
+DEAL:Double:ATanh:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Double:ATanh:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Double:ATanh:Symbolic computation: Function initialisation::symb_psi: atanh(1.0/(s1*s2))
+DEAL:Double:ATanh:Symbolic computation: Differentiation::symb_dpsi_ds0: -1.0/(s1**2*s2*(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Double:ATanh:Symbolic computation: Differentiation::symb_dpsi_ds1: -1.0/(s1*s2**2*(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Double:ATanh:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 2.0*1/(s1**5*s2**3*(1 - 1.0*1/(s1**2*s2**2))**2) + 2.0*1/(s1**3*s2*(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Double:ATanh:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: 2.0*1/(s1**4*s2**4*(1 - 1.0*1/(s1**2*s2**2))**2) + 1.0*1/(s1**2*s2**2*(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Double:ATanh:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: 2.0*1/(s1**4*s2**4*(1 - 1.0*1/(s1**2*s2**2))**2) + 1.0*1/(s1**2*s2**2*(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Double:ATanh:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: 2.0*1/(s1**3*s2**5*(1 - 1.0*1/(s1**2*s2**2))**2) + 2.0*1/(s1*s2**3*(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Double:ATanh:Symbolic computation: Substitution::subs_psi: 0.168236
+DEAL:Double:ATanh:Symbolic computation: Substitution::subs_dpsi_ds0: -0.0571429
+DEAL:Double:ATanh:Symbolic computation: Substitution::subs_dpsi_ds1: -0.0857143
+DEAL:Double:ATanh:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: 0.0391837
+DEAL:Double:ATanh:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: 0.0302041
+DEAL:Double:ATanh:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: 0.0302041
+DEAL:Double:ATanh:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: 0.0881633
+DEAL:Double:Erf:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Double:Erf:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Double:Erf:Symbolic computation: Function initialisation::symb_psi: s1**2*erf(s2)
+DEAL:Double:Erf:Symbolic computation: Differentiation::symb_dpsi_ds0: 2*s1*erf(s2)
+DEAL:Double:Erf:Symbolic computation: Differentiation::symb_dpsi_ds1: 2*exp(-s2**2)*s1**2/sqrt(pi)
+DEAL:Double:Erf:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 2*erf(s2)
+DEAL:Double:Erf:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: 4*exp(-s2**2)*s1/sqrt(pi)
+DEAL:Double:Erf:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: 4*exp(-s2**2)*s1/sqrt(pi)
+DEAL:Double:Erf:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: -4*exp(-s2**2)*s1**2*s2/sqrt(pi)
+DEAL:Double:Erf:Symbolic computation: Substitution::subs_psi: 8.95790
+DEAL:Double:Erf:Symbolic computation: Substitution::subs_dpsi_ds0: 5.97193
+DEAL:Double:Erf:Symbolic computation: Substitution::subs_dpsi_ds1: 0.186003
+DEAL:Double:Erf:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: 1.99064
+DEAL:Double:Erf:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: 0.124002
+DEAL:Double:Erf:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: 0.124002
+DEAL:Double:Erf:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: -0.744011
+DEAL:Double:Erfc:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Double:Erfc:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Double:Erfc:Symbolic computation: Function initialisation::symb_psi: s1**2*erfc(s2)
+DEAL:Double:Erfc:Symbolic computation: Differentiation::symb_dpsi_ds0: 2*s1*erfc(s2)
+DEAL:Double:Erfc:Symbolic computation: Differentiation::symb_dpsi_ds1: -2*exp(-s2**2)*s1**2/sqrt(pi)
+DEAL:Double:Erfc:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 2*erfc(s2)
+DEAL:Double:Erfc:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -4*exp(-s2**2)*s1/sqrt(pi)
+DEAL:Double:Erfc:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -4*exp(-s2**2)*s1/sqrt(pi)
+DEAL:Double:Erfc:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: 4*exp(-s2**2)*s1**2*s2/sqrt(pi)
+DEAL:Double:Erfc:Symbolic computation: Substitution::subs_psi: 0.0420996
+DEAL:Double:Erfc:Symbolic computation: Substitution::subs_dpsi_ds0: 0.0280664
+DEAL:Double:Erfc:Symbolic computation: Substitution::subs_dpsi_ds1: -0.186003
+DEAL:Double:Erfc:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: 0.00935547
+DEAL:Double:Erfc:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: -0.124002
+DEAL:Double:Erfc:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: -0.124002
+DEAL:Double:Erfc:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: 0.744011
+DEAL:Double::OK
+DEAL:Complex float:Add:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Complex float:Add:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Complex float:Add:Symbolic computation: Function initialisation::symb_psi: (s1 + s2)**2
+DEAL:Complex float:Add:Symbolic computation: Differentiation::symb_dpsi_ds0: 2*(s1 + s2)
+DEAL:Complex float:Add:Symbolic computation: Differentiation::symb_dpsi_ds1: 2*(s1 + s2)
+DEAL:Complex float:Add:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 2
+DEAL:Complex float:Add:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: 2
+DEAL:Complex float:Add:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: 2
+DEAL:Complex float:Add:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: 2
+DEAL:Complex float:Add:Symbolic computation: Substitution::subs_psi: (25.0000,0.00000)
+DEAL:Complex float:Add:Symbolic computation: Substitution::subs_dpsi_ds0: (10.0000,0.00000)
+DEAL:Complex float:Add:Symbolic computation: Substitution::subs_dpsi_ds1: (10.0000,0.00000)
+DEAL:Complex float:Add:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: (2.00000,0.00000)
+DEAL:Complex float:Add:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: (2.00000,0.00000)
+DEAL:Complex float:Add:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: (2.00000,0.00000)
+DEAL:Complex float:Add:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: (2.00000,0.00000)
+DEAL:Complex float:Subtract:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Complex float:Subtract:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Complex float:Subtract:Symbolic computation: Function initialisation::symb_psi: (s1 - s2)**2
+DEAL:Complex float:Subtract:Symbolic computation: Differentiation::symb_dpsi_ds0: 2*(s1 - s2)
+DEAL:Complex float:Subtract:Symbolic computation: Differentiation::symb_dpsi_ds1: -2*(s1 - s2)
+DEAL:Complex float:Subtract:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 2
+DEAL:Complex float:Subtract:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -2
+DEAL:Complex float:Subtract:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -2
+DEAL:Complex float:Subtract:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: 2
+DEAL:Complex float:Subtract:Symbolic computation: Substitution::subs_psi: (1.00000,0.00000)
+DEAL:Complex float:Subtract:Symbolic computation: Substitution::subs_dpsi_ds0: (2.00000,0.00000)
+DEAL:Complex float:Subtract:Symbolic computation: Substitution::subs_dpsi_ds1: (-2.00000,0.00000)
+DEAL:Complex float:Subtract:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: (2.00000,0.00000)
+DEAL:Complex float:Subtract:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: (-2.00000,0.00000)
+DEAL:Complex float:Subtract:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: (-2.00000,0.00000)
+DEAL:Complex float:Subtract:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: (2.00000,0.00000)
+DEAL:Complex float:Multiply:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Complex float:Multiply:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Complex float:Multiply:Symbolic computation: Function initialisation::symb_psi: s1**2*s2**2
+DEAL:Complex float:Multiply:Symbolic computation: Differentiation::symb_dpsi_ds0: 2*s1*s2**2
+DEAL:Complex float:Multiply:Symbolic computation: Differentiation::symb_dpsi_ds1: 2*s1**2*s2
+DEAL:Complex float:Multiply:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 2*s2**2
+DEAL:Complex float:Multiply:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: 4*s1*s2
+DEAL:Complex float:Multiply:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: 4*s1*s2
+DEAL:Complex float:Multiply:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: 2*s1**2
+DEAL:Complex float:Multiply:Symbolic computation: Substitution::subs_psi: (36.0000,0.00000)
+DEAL:Complex float:Multiply:Symbolic computation: Substitution::subs_dpsi_ds0: (24.0000,0.00000)
+DEAL:Complex float:Multiply:Symbolic computation: Substitution::subs_dpsi_ds1: (36.0000,0.00000)
+DEAL:Complex float:Multiply:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: (8.00000,0.00000)
+DEAL:Complex float:Multiply:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: (24.0000,0.00000)
+DEAL:Complex float:Multiply:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: (24.0000,0.00000)
+DEAL:Complex float:Multiply:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: (18.0000,0.00000)
+DEAL:Complex float:Divide:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Complex float:Divide:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Complex float:Divide:Symbolic computation: Function initialisation::symb_psi: s1**2/s2**2
+DEAL:Complex float:Divide:Symbolic computation: Differentiation::symb_dpsi_ds0: 2*s1/s2**2
+DEAL:Complex float:Divide:Symbolic computation: Differentiation::symb_dpsi_ds1: -2*s1**2/s2**3
+DEAL:Complex float:Divide:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 2/s2**2
+DEAL:Complex float:Divide:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -4*s1/s2**3
+DEAL:Complex float:Divide:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -4*s1/s2**3
+DEAL:Complex float:Divide:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: 6*s1**2/s2**4
+DEAL:Complex float:Divide:Symbolic computation: Substitution::subs_psi: (2.25000,0.00000)
+DEAL:Complex float:Divide:Symbolic computation: Substitution::subs_dpsi_ds0: (1.50000,0.00000)
+DEAL:Complex float:Divide:Symbolic computation: Substitution::subs_dpsi_ds1: (-2.25000,0.00000)
+DEAL:Complex float:Divide:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: (0.500000,0.00000)
+DEAL:Complex float:Divide:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: (-1.50000,0.00000)
+DEAL:Complex float:Divide:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: (-1.50000,0.00000)
+DEAL:Complex float:Divide:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: (3.37500,0.00000)
+DEAL:Complex float:Power:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Complex float:Power:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Complex float:Power:Symbolic computation: Function initialisation::symb_psi: 2.0*s1**s2
+DEAL:Complex float:Power:Symbolic computation: Differentiation::symb_dpsi_ds0: 2.0*s1**(-1 + s2)*s2
+DEAL:Complex float:Power:Symbolic computation: Differentiation::symb_dpsi_ds1: 2.0*s1**s2*log(s1)
+DEAL:Complex float:Power:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 2.0*s1**(-2 + s2)*s2*(-1 + s2)
+DEAL:Complex float:Power:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: 2.0*s1**(-1 + s2)*s2*log(s1) + 2.0*s1**(-1 + s2)
+DEAL:Complex float:Power:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: 2.0*s1**(-1 + s2)*s2*log(s1) + 2.0*s1**(-1 + s2)
+DEAL:Complex float:Power:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: 2.0*s1**s2*log(s1)**2
+DEAL:Complex float:Power:Symbolic computation: Substitution::subs_psi: (18.0000,0.00000)
+DEAL:Complex float:Power:Symbolic computation: Substitution::subs_dpsi_ds0: (12.0000,0.00000)
+DEAL:Complex float:Power:Symbolic computation: Substitution::subs_dpsi_ds1: (19.7750,0.00000)
+DEAL:Complex float:Power:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: (4.00000,0.00000)
+DEAL:Complex float:Power:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: (19.1833,0.00000)
+DEAL:Complex float:Power:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: (19.1833,0.00000)
+DEAL:Complex float:Power:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: (21.7251,0.00000)
+DEAL:Complex float:Sqrt:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Complex float:Sqrt:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Complex float:Sqrt:Symbolic computation: Function initialisation::symb_psi: 2.0*sqrt(s1*s2)
+DEAL:Complex float:Sqrt:Symbolic computation: Differentiation::symb_dpsi_ds0: 1.0*s2/sqrt(s1*s2)
+DEAL:Complex float:Sqrt:Symbolic computation: Differentiation::symb_dpsi_ds1: 1.0*s1/sqrt(s1*s2)
+DEAL:Complex float:Sqrt:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: -0.5*s2**2/(s1*s2)**(3/2)
+DEAL:Complex float:Sqrt:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -0.5*s1*s2/(s1*s2)**(3/2) + 1.0*(s1*s2)**(-1/2)
+DEAL:Complex float:Sqrt:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -0.5*s1*s2/(s1*s2)**(3/2) + 1.0*(s1*s2)**(-1/2)
+DEAL:Complex float:Sqrt:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: -0.5*s1**2/(s1*s2)**(3/2)
+DEAL:Complex float:Sqrt:Symbolic computation: Substitution::subs_psi: (4.89898,0.00000)
+DEAL:Complex float:Sqrt:Symbolic computation: Substitution::subs_dpsi_ds0: (0.816497,0.00000)
+DEAL:Complex float:Sqrt:Symbolic computation: Substitution::subs_dpsi_ds1: (1.22474,0.00000)
+DEAL:Complex float:Sqrt:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: (-0.136083,0.00000)
+DEAL:Complex float:Sqrt:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: (0.204124,0.00000)
+DEAL:Complex float:Sqrt:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: (0.204124,0.00000)
+DEAL:Complex float:Sqrt:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: (-0.306186,0.00000)
+DEAL:Complex float:Exponential:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Complex float:Exponential:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Complex float:Exponential:Symbolic computation: Function initialisation::symb_psi: exp(s2)*s1**2
+DEAL:Complex float:Exponential:Symbolic computation: Differentiation::symb_dpsi_ds0: 2*exp(s2)*s1
+DEAL:Complex float:Exponential:Symbolic computation: Differentiation::symb_dpsi_ds1: exp(s2)*s1**2
+DEAL:Complex float:Exponential:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 2*exp(s2)
+DEAL:Complex float:Exponential:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: 2*exp(s2)*s1
+DEAL:Complex float:Exponential:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: 2*exp(s2)*s1
+DEAL:Complex float:Exponential:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: exp(s2)*s1**2
+DEAL:Complex float:Exponential:Symbolic computation: Substitution::subs_psi: (66.5015,0.00000)
+DEAL:Complex float:Exponential:Symbolic computation: Substitution::subs_dpsi_ds0: (44.3343,0.00000)
+DEAL:Complex float:Exponential:Symbolic computation: Substitution::subs_dpsi_ds1: (66.5015,0.00000)
+DEAL:Complex float:Exponential:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: (14.7781,0.00000)
+DEAL:Complex float:Exponential:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: (44.3343,0.00000)
+DEAL:Complex float:Exponential:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: (44.3343,0.00000)
+DEAL:Complex float:Exponential:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: (66.5015,0.00000)
+DEAL:Complex float:Logarithm:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Complex float:Logarithm:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Complex float:Logarithm:Symbolic computation: Function initialisation::symb_psi: s1**2*log(s2)
+DEAL:Complex float:Logarithm:Symbolic computation: Differentiation::symb_dpsi_ds0: 2*s1*log(s2)
+DEAL:Complex float:Logarithm:Symbolic computation: Differentiation::symb_dpsi_ds1: s1**2/s2
+DEAL:Complex float:Logarithm:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 2*log(s2)
+DEAL:Complex float:Logarithm:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: 2*s1/s2
+DEAL:Complex float:Logarithm:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: 2*s1/s2
+DEAL:Complex float:Logarithm:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: -s1**2/s2**2
+DEAL:Complex float:Logarithm:Symbolic computation: Substitution::subs_psi: (6.23832,0.00000)
+DEAL:Complex float:Logarithm:Symbolic computation: Substitution::subs_dpsi_ds0: (4.15888,0.00000)
+DEAL:Complex float:Logarithm:Symbolic computation: Substitution::subs_dpsi_ds1: (4.50000,0.00000)
+DEAL:Complex float:Logarithm:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: (1.38629,0.00000)
+DEAL:Complex float:Logarithm:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: (3.00000,0.00000)
+DEAL:Complex float:Logarithm:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: (3.00000,0.00000)
+DEAL:Complex float:Logarithm:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: (-2.25000,0.00000)
+DEAL:Complex float:Logarithm with Base:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Complex float:Logarithm with Base:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Complex float:Logarithm with Base:Symbolic computation: Function initialisation::symb_psi: log(s2)/log(s1)
+DEAL:Complex float:Logarithm with Base:Symbolic computation: Differentiation::symb_dpsi_ds0: -log(s2)/(s1*log(s1)**2)
+DEAL:Complex float:Logarithm with Base:Symbolic computation: Differentiation::symb_dpsi_ds1: 1/(s2*log(s1))
+DEAL:Complex float:Logarithm with Base:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 2*log(s2)/(s1**2*log(s1)**3) + log(s2)/(s1**2*log(s1)**2)
+DEAL:Complex float:Logarithm with Base:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -1/(s1*s2*log(s1)**2)
+DEAL:Complex float:Logarithm with Base:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -1/(s1*s2*log(s1)**2)
+DEAL:Complex float:Logarithm with Base:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: -1/(s2**2*log(s1))
+DEAL:Complex float:Logarithm with Base:Symbolic computation: Substitution::subs_psi: (0.630930,0.00000)
+DEAL:Complex float:Logarithm with Base:Symbolic computation: Substitution::subs_dpsi_ds0: (-0.191432,0.00000)
+DEAL:Complex float:Logarithm with Base:Symbolic computation: Substitution::subs_dpsi_ds1: (0.455120,0.00000)
+DEAL:Complex float:Logarithm with Base:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: (0.179977,0.00000)
+DEAL:Complex float:Logarithm with Base:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: (-0.138089,0.00000)
+DEAL:Complex float:Logarithm with Base:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: (-0.138089,0.00000)
+DEAL:Complex float:Logarithm with Base:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: (-0.227560,0.00000)
+DEAL:Complex float:Logarithm base 10:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Complex float:Logarithm base 10:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Complex float:Logarithm base 10:Symbolic computation: Function initialisation::symb_psi: 0.434294481903252*s1**2*log(s2)
+DEAL:Complex float:Logarithm base 10:Symbolic computation: Differentiation::symb_dpsi_ds0: 0.868588963806504*s1*log(s2)
+DEAL:Complex float:Logarithm base 10:Symbolic computation: Differentiation::symb_dpsi_ds1: 0.434294481903252*s1**2/s2
+DEAL:Complex float:Logarithm base 10:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 0.868588963806504*log(s2)
+DEAL:Complex float:Logarithm base 10:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: 0.868588963806504*s1/s2
+DEAL:Complex float:Logarithm base 10:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: 0.868588963806504*s1/s2
+DEAL:Complex float:Logarithm base 10:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: -0.434294481903252*s1**2/s2**2
+DEAL:Complex float:Logarithm base 10:Symbolic computation: Substitution::subs_psi: (2.70927,0.00000)
+DEAL:Complex float:Logarithm base 10:Symbolic computation: Substitution::subs_dpsi_ds0: (1.80618,0.00000)
+DEAL:Complex float:Logarithm base 10:Symbolic computation: Substitution::subs_dpsi_ds1: (1.95433,0.00000)
+DEAL:Complex float:Logarithm base 10:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: (0.602060,0.00000)
+DEAL:Complex float:Logarithm base 10:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: (1.30288,0.00000)
+DEAL:Complex float:Logarithm base 10:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: (1.30288,0.00000)
+DEAL:Complex float:Logarithm base 10:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: (-0.977163,0.00000)
+DEAL:Complex float:Sin:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Complex float:Sin:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Complex float:Sin:Symbolic computation: Function initialisation::symb_psi: sin(s2/s1)
+DEAL:Complex float:Sin:Symbolic computation: Differentiation::symb_dpsi_ds0: -s2*cos(s2/s1)/s1**2
+DEAL:Complex float:Sin:Symbolic computation: Differentiation::symb_dpsi_ds1: cos(s2/s1)/s1
+DEAL:Complex float:Sin:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: -s2**2*sin(s2/s1)/s1**4 + 2*s2*cos(s2/s1)/s1**3
+DEAL:Complex float:Sin:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -cos(s2/s1)/s1**2 + s2*sin(s2/s1)/s1**3
+DEAL:Complex float:Sin:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -cos(s2/s1)/s1**2 + s2*sin(s2/s1)/s1**3
+DEAL:Complex float:Sin:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: -sin(s2/s1)/s1**2
+DEAL:Complex float:Sin:Symbolic computation: Substitution::subs_psi: (0.618370,0.00000)
+DEAL:Complex float:Sin:Symbolic computation: Substitution::subs_dpsi_ds0: (-0.174642,0.00000)
+DEAL:Complex float:Sin:Symbolic computation: Substitution::subs_dpsi_ds1: (0.261962,0.00000)
+DEAL:Complex float:Sin:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: (0.0858910,0.00000)
+DEAL:Complex float:Sin:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: (-0.0415156,0.00000)
+DEAL:Complex float:Sin:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: (-0.0415156,0.00000)
+DEAL:Complex float:Sin:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: (-0.0687078,0.00000)
+DEAL:Complex float:Cos:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Complex float:Cos:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Complex float:Cos:Symbolic computation: Function initialisation::symb_psi: cos(s2/s1)
+DEAL:Complex float:Cos:Symbolic computation: Differentiation::symb_dpsi_ds0: s2*sin(s2/s1)/s1**2
+DEAL:Complex float:Cos:Symbolic computation: Differentiation::symb_dpsi_ds1: -sin(s2/s1)/s1
+DEAL:Complex float:Cos:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: -s2**2*cos(s2/s1)/s1**4 - 2*s2*sin(s2/s1)/s1**3
+DEAL:Complex float:Cos:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: sin(s2/s1)/s1**2 + s2*cos(s2/s1)/s1**3
+DEAL:Complex float:Cos:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: sin(s2/s1)/s1**2 + s2*cos(s2/s1)/s1**3
+DEAL:Complex float:Cos:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: -cos(s2/s1)/s1**2
+DEAL:Complex float:Cos:Symbolic computation: Substitution::subs_psi: (0.785887,0.00000)
+DEAL:Complex float:Cos:Symbolic computation: Substitution::subs_dpsi_ds0: (0.137416,0.00000)
+DEAL:Complex float:Cos:Symbolic computation: Substitution::subs_dpsi_ds1: (-0.206123,0.00000)
+DEAL:Complex float:Cos:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: (-0.130420,0.00000)
+DEAL:Complex float:Cos:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: (0.126922,0.00000)
+DEAL:Complex float:Cos:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: (0.126922,0.00000)
+DEAL:Complex float:Cos:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: (-0.0873208,0.00000)
+DEAL:Complex float:Tan:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Complex float:Tan:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Complex float:Tan:Symbolic computation: Function initialisation::symb_psi: tan(s2/s1)
+DEAL:Complex float:Tan:Symbolic computation: Differentiation::symb_dpsi_ds0: -s2*(1 + tan(s2/s1)**2)/s1**2
+DEAL:Complex float:Tan:Symbolic computation: Differentiation::symb_dpsi_ds1: (1 + tan(s2/s1)**2)/s1
+DEAL:Complex float:Tan:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 2*s2*(1 + tan(s2/s1)**2)/s1**3 + 2*s2**2*tan(s2/s1)*(1 + tan(s2/s1)**2)/s1**4
+DEAL:Complex float:Tan:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -(1 + tan(s2/s1)**2)/s1**2 - 2*s2*tan(s2/s1)*(1 + tan(s2/s1)**2)/s1**3
+DEAL:Complex float:Tan:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -(1 + tan(s2/s1)**2)/s1**2 - 2*s2*tan(s2/s1)*(1 + tan(s2/s1)**2)/s1**3
+DEAL:Complex float:Tan:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: 2*tan(s2/s1)*(1 + tan(s2/s1)**2)/s1**2
+DEAL:Complex float:Tan:Symbolic computation: Substitution::subs_psi: (0.786843,0.00000)
+DEAL:Complex float:Tan:Symbolic computation: Substitution::subs_dpsi_ds0: (-0.359805,0.00000)
+DEAL:Complex float:Tan:Symbolic computation: Substitution::subs_dpsi_ds1: (0.539707,0.00000)
+DEAL:Complex float:Tan:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: (0.365696,0.00000)
+DEAL:Complex float:Tan:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: (-0.368642,0.00000)
+DEAL:Complex float:Tan:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: (-0.368642,0.00000)
+DEAL:Complex float:Tan:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: (0.283110,0.00000)
+DEAL:Complex float:ASin:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Complex float:ASin:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Complex float:ASin:Symbolic computation: Function initialisation::symb_psi: asin(1.0/(s1*s2))
+DEAL:Complex float:ASin:Symbolic computation: Differentiation::symb_dpsi_ds0: -1.0/(s1**2*s2*sqrt(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Complex float:ASin:Symbolic computation: Differentiation::symb_dpsi_ds1: -1.0/(s1*s2**2*sqrt(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Complex float:ASin:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 1.0*1/(s1**5*s2**3*(1 - 1.0*1/(s1**2*s2**2))**(3/2)) + 2.0*1/(s1**3*s2*sqrt(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Complex float:ASin:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: 1.0*1/(s1**4*s2**4*(1 - 1.0*1/(s1**2*s2**2))**(3/2)) + 1.0*1/(s1**2*s2**2*sqrt(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Complex float:ASin:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: 1.0*1/(s1**4*s2**4*(1 - 1.0*1/(s1**2*s2**2))**(3/2)) + 1.0*1/(s1**2*s2**2*sqrt(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Complex float:ASin:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: 1.0*1/(s1**3*s2**5*(1 - 1.0*1/(s1**2*s2**2))**(3/2)) + 2.0*1/(s1*s2**3*sqrt(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Complex float:ASin:Symbolic computation: Substitution::subs_psi: (0.167448,0.00000)
+DEAL:Complex float:ASin:Symbolic computation: Substitution::subs_dpsi_ds0: (-0.0563436,0.00000)
+DEAL:Complex float:ASin:Symbolic computation: Substitution::subs_dpsi_ds1: (-0.0845154,0.00000)
+DEAL:Complex float:ASin:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: (0.0380990,0.00000)
+DEAL:Complex float:ASin:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: (0.0289767,0.00000)
+DEAL:Complex float:ASin:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: (0.0289767,0.00000)
+DEAL:Complex float:ASin:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: (0.0857228,0.00000)
+DEAL:Complex float:ACos:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Complex float:ACos:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Complex float:ACos:Symbolic computation: Function initialisation::symb_psi: acos(1.0/(s1*s2))
+DEAL:Complex float:ACos:Symbolic computation: Differentiation::symb_dpsi_ds0: 1.0/(s1**2*s2*sqrt(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Complex float:ACos:Symbolic computation: Differentiation::symb_dpsi_ds1: 1.0/(s1*s2**2*sqrt(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Complex float:ACos:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: -1.0*1/(s1**5*s2**3*(1 - 1.0*1/(s1**2*s2**2))**(3/2)) - 2.0*1/(s1**3*s2*sqrt(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Complex float:ACos:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -1.0*1/(s1**4*s2**4*(1 - 1.0*1/(s1**2*s2**2))**(3/2)) - 1.0*1/(s1**2*s2**2*sqrt(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Complex float:ACos:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -1.0*1/(s1**4*s2**4*(1 - 1.0*1/(s1**2*s2**2))**(3/2)) - 1.0*1/(s1**2*s2**2*sqrt(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Complex float:ACos:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: -1.0*1/(s1**3*s2**5*(1 - 1.0*1/(s1**2*s2**2))**(3/2)) - 2.0*1/(s1*s2**3*sqrt(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Complex float:ACos:Symbolic computation: Substitution::subs_psi: (1.40335,0.00000)
+DEAL:Complex float:ACos:Symbolic computation: Substitution::subs_dpsi_ds0: (0.0563436,0.00000)
+DEAL:Complex float:ACos:Symbolic computation: Substitution::subs_dpsi_ds1: (0.0845154,0.00000)
+DEAL:Complex float:ACos:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: (-0.0380990,0.00000)
+DEAL:Complex float:ACos:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: (-0.0289767,0.00000)
+DEAL:Complex float:ACos:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: (-0.0289767,0.00000)
+DEAL:Complex float:ACos:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: (-0.0857228,0.00000)
+DEAL:Complex float:ATan:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Complex float:ATan:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Complex float:ATan:Symbolic computation: Function initialisation::symb_psi: atan(1.0/(s1*s2))
+DEAL:Complex float:ATan:Symbolic computation: Differentiation::symb_dpsi_ds0: -1.0/(s1**2*s2*(1 + 1.0*1/(s1**2*s2**2)))
+DEAL:Complex float:ATan:Symbolic computation: Differentiation::symb_dpsi_ds1: -1.0/(s1*s2**2*(1 + 1.0*1/(s1**2*s2**2)))
+DEAL:Complex float:ATan:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: -2.0*1/(s1**5*s2**3*(1 + 1.0*1/(s1**2*s2**2))**2) + 2.0*1/(s1**3*s2*(1 + 1.0*1/(s1**2*s2**2)))
+DEAL:Complex float:ATan:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -2.0*1/(s1**4*s2**4*(1 + 1.0*1/(s1**2*s2**2))**2) + 1.0*1/(s1**2*s2**2*(1 + 1.0*1/(s1**2*s2**2)))
+DEAL:Complex float:ATan:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -2.0*1/(s1**4*s2**4*(1 + 1.0*1/(s1**2*s2**2))**2) + 1.0*1/(s1**2*s2**2*(1 + 1.0*1/(s1**2*s2**2)))
+DEAL:Complex float:ATan:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: -2.0*1/(s1**3*s2**5*(1 + 1.0*1/(s1**2*s2**2))**2) + 2.0*1/(s1*s2**3*(1 + 1.0*1/(s1**2*s2**2)))
+DEAL:Complex float:ATan:Symbolic computation: Substitution::subs_psi: (0.165149,0.00000)
+DEAL:Complex float:ATan:Symbolic computation: Substitution::subs_dpsi_ds0: (-0.0540541,0.00000)
+DEAL:Complex float:ATan:Symbolic computation: Substitution::subs_dpsi_ds1: (-0.0810811,0.00000)
+DEAL:Complex float:ATan:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: (0.0350621,0.00000)
+DEAL:Complex float:ATan:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: (0.0255661,0.00000)
+DEAL:Complex float:ATan:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: (0.0255661,0.00000)
+DEAL:Complex float:ATan:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: (0.0788897,0.00000)
+DEAL:Complex float:Sinh:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Complex float:Sinh:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Complex float:Sinh:Symbolic computation: Function initialisation::symb_psi: sinh(s2/s1)
+DEAL:Complex float:Sinh:Symbolic computation: Differentiation::symb_dpsi_ds0: -s2*cosh(s2/s1)/s1**2
+DEAL:Complex float:Sinh:Symbolic computation: Differentiation::symb_dpsi_ds1: cosh(s2/s1)/s1
+DEAL:Complex float:Sinh:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: s2**2*sinh(s2/s1)/s1**4 + 2*s2*cosh(s2/s1)/s1**3
+DEAL:Complex float:Sinh:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -cosh(s2/s1)/s1**2 - s2*sinh(s2/s1)/s1**3
+DEAL:Complex float:Sinh:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -cosh(s2/s1)/s1**2 - s2*sinh(s2/s1)/s1**3
+DEAL:Complex float:Sinh:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: sinh(s2/s1)/s1**2
+DEAL:Complex float:Sinh:Symbolic computation: Substitution::subs_psi: (0.717158,0.00000)
+DEAL:Complex float:Sinh:Symbolic computation: Substitution::subs_dpsi_ds0: (-0.273461,0.00000)
+DEAL:Complex float:Sinh:Symbolic computation: Substitution::subs_dpsi_ds1: (0.410192,0.00000)
+DEAL:Complex float:Sinh:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: (0.217723,0.00000)
+DEAL:Complex float:Sinh:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: (-0.189853,0.00000)
+DEAL:Complex float:Sinh:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: (-0.189853,0.00000)
+DEAL:Complex float:Sinh:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: (0.0796843,0.00000)
+DEAL:Complex float:Cosh:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Complex float:Cosh:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Complex float:Cosh:Symbolic computation: Function initialisation::symb_psi: cosh(s2/s1)
+DEAL:Complex float:Cosh:Symbolic computation: Differentiation::symb_dpsi_ds0: -s2*sinh(s2/s1)/s1**2
+DEAL:Complex float:Cosh:Symbolic computation: Differentiation::symb_dpsi_ds1: sinh(s2/s1)/s1
+DEAL:Complex float:Cosh:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: s2**2*cosh(s2/s1)/s1**4 + 2*s2*sinh(s2/s1)/s1**3
+DEAL:Complex float:Cosh:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -sinh(s2/s1)/s1**2 - s2*cosh(s2/s1)/s1**3
+DEAL:Complex float:Cosh:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -sinh(s2/s1)/s1**2 - s2*cosh(s2/s1)/s1**3
+DEAL:Complex float:Cosh:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: cosh(s2/s1)/s1**2
+DEAL:Complex float:Cosh:Symbolic computation: Substitution::subs_psi: (1.23058,0.00000)
+DEAL:Complex float:Cosh:Symbolic computation: Substitution::subs_dpsi_ds0: (-0.159369,0.00000)
+DEAL:Complex float:Cosh:Symbolic computation: Substitution::subs_dpsi_ds1: (0.239053,0.00000)
+DEAL:Complex float:Cosh:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: (0.167015,0.00000)
+DEAL:Complex float:Cosh:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: (-0.170838,0.00000)
+DEAL:Complex float:Cosh:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: (-0.170838,0.00000)
+DEAL:Complex float:Cosh:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: (0.136731,0.00000)
+DEAL:Complex float:Tanh:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Complex float:Tanh:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Complex float:Tanh:Symbolic computation: Function initialisation::symb_psi: tanh(s2/s1)
+DEAL:Complex float:Tanh:Symbolic computation: Differentiation::symb_dpsi_ds0: -s2*(1 - tanh(s2/s1)**2)/s1**2
+DEAL:Complex float:Tanh:Symbolic computation: Differentiation::symb_dpsi_ds1: (1 - tanh(s2/s1)**2)/s1
+DEAL:Complex float:Tanh:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 2*s2*(1 - tanh(s2/s1)**2)/s1**3 - 2*s2**2*tanh(s2/s1)*(1 - tanh(s2/s1)**2)/s1**4
+DEAL:Complex float:Tanh:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -(1 - tanh(s2/s1)**2)/s1**2 + 2*s2*tanh(s2/s1)*(1 - tanh(s2/s1)**2)/s1**3
+DEAL:Complex float:Tanh:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -(1 - tanh(s2/s1)**2)/s1**2 + 2*s2*tanh(s2/s1)*(1 - tanh(s2/s1)**2)/s1**3
+DEAL:Complex float:Tanh:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: -2*tanh(s2/s1)*(1 - tanh(s2/s1)**2)/s1**2
+DEAL:Complex float:Tanh:Symbolic computation: Substitution::subs_psi: (0.582783,0.00000)
+DEAL:Complex float:Tanh:Symbolic computation: Substitution::subs_dpsi_ds0: (-0.146748,0.00000)
+DEAL:Complex float:Tanh:Symbolic computation: Substitution::subs_dpsi_ds1: (0.220121,0.00000)
+DEAL:Complex float:Tanh:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: (0.0598219,0.00000)
+DEAL:Complex float:Tanh:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: (-0.0163591,0.00000)
+DEAL:Complex float:Tanh:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: (-0.0163591,0.00000)
+DEAL:Complex float:Tanh:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: (-0.0855220,0.00000)
+DEAL:Complex float:ASinh:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Complex float:ASinh:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Complex float:ASinh:Symbolic computation: Function initialisation::symb_psi: asinh(1.0/(s1*s2))
+DEAL:Complex float:ASinh:Symbolic computation: Differentiation::symb_dpsi_ds0: -1.0/(s1**2*s2*sqrt(1 + 1.0*1/(s1**2*s2**2)))
+DEAL:Complex float:ASinh:Symbolic computation: Differentiation::symb_dpsi_ds1: -1.0/(s1*s2**2*sqrt(1 + 1.0*1/(s1**2*s2**2)))
+DEAL:Complex float:ASinh:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: -1.0*1/(s1**5*s2**3*(1 + 1.0*1/(s1**2*s2**2))**(3/2)) + 2.0*1/(s1**3*s2*sqrt(1 + 1.0*1/(s1**2*s2**2)))
+DEAL:Complex float:ASinh:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -1.0*1/(s1**4*s2**4*(1 + 1.0*1/(s1**2*s2**2))**(3/2)) + 1.0*1/(s1**2*s2**2*sqrt(1 + 1.0*1/(s1**2*s2**2)))
+DEAL:Complex float:ASinh:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -1.0*1/(s1**4*s2**4*(1 + 1.0*1/(s1**2*s2**2))**(3/2)) + 1.0*1/(s1**2*s2**2*sqrt(1 + 1.0*1/(s1**2*s2**2)))
+DEAL:Complex float:ASinh:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: -1.0*1/(s1**3*s2**5*(1 + 1.0*1/(s1**2*s2**2))**(3/2)) + 2.0*1/(s1*s2**3*sqrt(1 + 1.0*1/(s1**2*s2**2)))
+DEAL:Complex float:ASinh:Symbolic computation: Substitution::subs_psi: (0.165905,0.00000)
+DEAL:Complex float:ASinh:Symbolic computation: Substitution::subs_dpsi_ds0: (-0.0547997,0.00000)
+DEAL:Complex float:ASinh:Symbolic computation: Substitution::subs_dpsi_ds1: (-0.0821995,0.00000)
+DEAL:Complex float:ASinh:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: (0.0360394,0.00000)
+DEAL:Complex float:ASinh:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: (0.0266593,0.00000)
+DEAL:Complex float:ASinh:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: (0.0266593,0.00000)
+DEAL:Complex float:ASinh:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: (0.0810887,0.00000)
+DEAL:Complex float:ACosh:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Complex float:ACosh:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Complex float:ACosh:Symbolic computation: Function initialisation::symb_psi: acosh(s1*s2)
+DEAL:Complex float:ACosh:Symbolic computation: Differentiation::symb_dpsi_ds0: s2/sqrt(-1 + s1**2*s2**2)
+DEAL:Complex float:ACosh:Symbolic computation: Differentiation::symb_dpsi_ds1: s1/sqrt(-1 + s1**2*s2**2)
+DEAL:Complex float:ACosh:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: -s1*s2**3/(-1 + s1**2*s2**2)**(3/2)
+DEAL:Complex float:ACosh:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -s1**2*s2**2/(-1 + s1**2*s2**2)**(3/2) + (-1 + s1**2*s2**2)**(-1/2)
+DEAL:Complex float:ACosh:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -s1**2*s2**2/(-1 + s1**2*s2**2)**(3/2) + (-1 + s1**2*s2**2)**(-1/2)
+DEAL:Complex float:ACosh:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: -s1**3*s2/(-1 + s1**2*s2**2)**(3/2)
+DEAL:Complex float:ACosh:Symbolic computation: Substitution::subs_psi: (2.47789,0.00000)
+DEAL:Complex float:ACosh:Symbolic computation: Substitution::subs_dpsi_ds0: (0.338062,0.00000)
+DEAL:Complex float:ACosh:Symbolic computation: Substitution::subs_dpsi_ds1: (0.507093,0.00000)
+DEAL:Complex float:ACosh:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: (-0.115907,0.00000)
+DEAL:Complex float:ACosh:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: (-0.00482945,0.00000)
+DEAL:Complex float:ACosh:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: (-0.00482945,0.00000)
+DEAL:Complex float:ACosh:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: (-0.260790,0.00000)
+DEAL:Complex float:ATanh:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Complex float:ATanh:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Complex float:ATanh:Symbolic computation: Function initialisation::symb_psi: atanh(1.0/(s1*s2))
+DEAL:Complex float:ATanh:Symbolic computation: Differentiation::symb_dpsi_ds0: -1.0/(s1**2*s2*(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Complex float:ATanh:Symbolic computation: Differentiation::symb_dpsi_ds1: -1.0/(s1*s2**2*(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Complex float:ATanh:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 2.0*1/(s1**5*s2**3*(1 - 1.0*1/(s1**2*s2**2))**2) + 2.0*1/(s1**3*s2*(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Complex float:ATanh:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: 2.0*1/(s1**4*s2**4*(1 - 1.0*1/(s1**2*s2**2))**2) + 1.0*1/(s1**2*s2**2*(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Complex float:ATanh:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: 2.0*1/(s1**4*s2**4*(1 - 1.0*1/(s1**2*s2**2))**2) + 1.0*1/(s1**2*s2**2*(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Complex float:ATanh:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: 2.0*1/(s1**3*s2**5*(1 - 1.0*1/(s1**2*s2**2))**2) + 2.0*1/(s1*s2**3*(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Complex float:ATanh:Symbolic computation: Substitution::subs_psi: (0.168236,0.00000)
+DEAL:Complex float:ATanh:Symbolic computation: Substitution::subs_dpsi_ds0: (-0.0571429,0.00000)
+DEAL:Complex float:ATanh:Symbolic computation: Substitution::subs_dpsi_ds1: (-0.0857143,0.00000)
+DEAL:Complex float:ATanh:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: (0.0391837,0.00000)
+DEAL:Complex float:ATanh:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: (0.0302041,0.00000)
+DEAL:Complex float:ATanh:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: (0.0302041,0.00000)
+DEAL:Complex float:ATanh:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: (0.0881633,0.00000)
+DEAL:Complex float::OK
+DEAL:Complex double:Add:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Complex double:Add:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Complex double:Add:Symbolic computation: Function initialisation::symb_psi: (s1 + s2)**2
+DEAL:Complex double:Add:Symbolic computation: Differentiation::symb_dpsi_ds0: 2*(s1 + s2)
+DEAL:Complex double:Add:Symbolic computation: Differentiation::symb_dpsi_ds1: 2*(s1 + s2)
+DEAL:Complex double:Add:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 2
+DEAL:Complex double:Add:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: 2
+DEAL:Complex double:Add:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: 2
+DEAL:Complex double:Add:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: 2
+DEAL:Complex double:Add:Symbolic computation: Substitution::subs_psi: (25.0000,0.00000)
+DEAL:Complex double:Add:Symbolic computation: Substitution::subs_dpsi_ds0: (10.0000,0.00000)
+DEAL:Complex double:Add:Symbolic computation: Substitution::subs_dpsi_ds1: (10.0000,0.00000)
+DEAL:Complex double:Add:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: (2.00000,0.00000)
+DEAL:Complex double:Add:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: (2.00000,0.00000)
+DEAL:Complex double:Add:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: (2.00000,0.00000)
+DEAL:Complex double:Add:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: (2.00000,0.00000)
+DEAL:Complex double:Subtract:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Complex double:Subtract:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Complex double:Subtract:Symbolic computation: Function initialisation::symb_psi: (s1 - s2)**2
+DEAL:Complex double:Subtract:Symbolic computation: Differentiation::symb_dpsi_ds0: 2*(s1 - s2)
+DEAL:Complex double:Subtract:Symbolic computation: Differentiation::symb_dpsi_ds1: -2*(s1 - s2)
+DEAL:Complex double:Subtract:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 2
+DEAL:Complex double:Subtract:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -2
+DEAL:Complex double:Subtract:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -2
+DEAL:Complex double:Subtract:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: 2
+DEAL:Complex double:Subtract:Symbolic computation: Substitution::subs_psi: (1.00000,0.00000)
+DEAL:Complex double:Subtract:Symbolic computation: Substitution::subs_dpsi_ds0: (2.00000,0.00000)
+DEAL:Complex double:Subtract:Symbolic computation: Substitution::subs_dpsi_ds1: (-2.00000,0.00000)
+DEAL:Complex double:Subtract:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: (2.00000,0.00000)
+DEAL:Complex double:Subtract:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: (-2.00000,0.00000)
+DEAL:Complex double:Subtract:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: (-2.00000,0.00000)
+DEAL:Complex double:Subtract:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: (2.00000,0.00000)
+DEAL:Complex double:Multiply:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Complex double:Multiply:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Complex double:Multiply:Symbolic computation: Function initialisation::symb_psi: s1**2*s2**2
+DEAL:Complex double:Multiply:Symbolic computation: Differentiation::symb_dpsi_ds0: 2*s1*s2**2
+DEAL:Complex double:Multiply:Symbolic computation: Differentiation::symb_dpsi_ds1: 2*s1**2*s2
+DEAL:Complex double:Multiply:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 2*s2**2
+DEAL:Complex double:Multiply:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: 4*s1*s2
+DEAL:Complex double:Multiply:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: 4*s1*s2
+DEAL:Complex double:Multiply:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: 2*s1**2
+DEAL:Complex double:Multiply:Symbolic computation: Substitution::subs_psi: (36.0000,0.00000)
+DEAL:Complex double:Multiply:Symbolic computation: Substitution::subs_dpsi_ds0: (24.0000,0.00000)
+DEAL:Complex double:Multiply:Symbolic computation: Substitution::subs_dpsi_ds1: (36.0000,0.00000)
+DEAL:Complex double:Multiply:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: (8.00000,0.00000)
+DEAL:Complex double:Multiply:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: (24.0000,0.00000)
+DEAL:Complex double:Multiply:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: (24.0000,0.00000)
+DEAL:Complex double:Multiply:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: (18.0000,0.00000)
+DEAL:Complex double:Divide:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Complex double:Divide:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Complex double:Divide:Symbolic computation: Function initialisation::symb_psi: s1**2/s2**2
+DEAL:Complex double:Divide:Symbolic computation: Differentiation::symb_dpsi_ds0: 2*s1/s2**2
+DEAL:Complex double:Divide:Symbolic computation: Differentiation::symb_dpsi_ds1: -2*s1**2/s2**3
+DEAL:Complex double:Divide:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 2/s2**2
+DEAL:Complex double:Divide:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -4*s1/s2**3
+DEAL:Complex double:Divide:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -4*s1/s2**3
+DEAL:Complex double:Divide:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: 6*s1**2/s2**4
+DEAL:Complex double:Divide:Symbolic computation: Substitution::subs_psi: (2.25000,0.00000)
+DEAL:Complex double:Divide:Symbolic computation: Substitution::subs_dpsi_ds0: (1.50000,0.00000)
+DEAL:Complex double:Divide:Symbolic computation: Substitution::subs_dpsi_ds1: (-2.25000,0.00000)
+DEAL:Complex double:Divide:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: (0.500000,0.00000)
+DEAL:Complex double:Divide:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: (-1.50000,0.00000)
+DEAL:Complex double:Divide:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: (-1.50000,0.00000)
+DEAL:Complex double:Divide:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: (3.37500,0.00000)
+DEAL:Complex double:Power:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Complex double:Power:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Complex double:Power:Symbolic computation: Function initialisation::symb_psi: 2.0*s1**s2
+DEAL:Complex double:Power:Symbolic computation: Differentiation::symb_dpsi_ds0: 2.0*s1**(-1 + s2)*s2
+DEAL:Complex double:Power:Symbolic computation: Differentiation::symb_dpsi_ds1: 2.0*s1**s2*log(s1)
+DEAL:Complex double:Power:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 2.0*s1**(-2 + s2)*s2*(-1 + s2)
+DEAL:Complex double:Power:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: 2.0*s1**(-1 + s2)*s2*log(s1) + 2.0*s1**(-1 + s2)
+DEAL:Complex double:Power:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: 2.0*s1**(-1 + s2)*s2*log(s1) + 2.0*s1**(-1 + s2)
+DEAL:Complex double:Power:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: 2.0*s1**s2*log(s1)**2
+DEAL:Complex double:Power:Symbolic computation: Substitution::subs_psi: (18.0000,0.00000)
+DEAL:Complex double:Power:Symbolic computation: Substitution::subs_dpsi_ds0: (12.0000,0.00000)
+DEAL:Complex double:Power:Symbolic computation: Substitution::subs_dpsi_ds1: (19.7750,0.00000)
+DEAL:Complex double:Power:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: (4.00000,0.00000)
+DEAL:Complex double:Power:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: (19.1833,0.00000)
+DEAL:Complex double:Power:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: (19.1833,0.00000)
+DEAL:Complex double:Power:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: (21.7251,0.00000)
+DEAL:Complex double:Sqrt:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Complex double:Sqrt:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Complex double:Sqrt:Symbolic computation: Function initialisation::symb_psi: 2.0*sqrt(s1*s2)
+DEAL:Complex double:Sqrt:Symbolic computation: Differentiation::symb_dpsi_ds0: 1.0*s2/sqrt(s1*s2)
+DEAL:Complex double:Sqrt:Symbolic computation: Differentiation::symb_dpsi_ds1: 1.0*s1/sqrt(s1*s2)
+DEAL:Complex double:Sqrt:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: -0.5*s2**2/(s1*s2)**(3/2)
+DEAL:Complex double:Sqrt:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -0.5*s1*s2/(s1*s2)**(3/2) + 1.0*(s1*s2)**(-1/2)
+DEAL:Complex double:Sqrt:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -0.5*s1*s2/(s1*s2)**(3/2) + 1.0*(s1*s2)**(-1/2)
+DEAL:Complex double:Sqrt:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: -0.5*s1**2/(s1*s2)**(3/2)
+DEAL:Complex double:Sqrt:Symbolic computation: Substitution::subs_psi: (4.89898,0.00000)
+DEAL:Complex double:Sqrt:Symbolic computation: Substitution::subs_dpsi_ds0: (0.816497,0.00000)
+DEAL:Complex double:Sqrt:Symbolic computation: Substitution::subs_dpsi_ds1: (1.22474,0.00000)
+DEAL:Complex double:Sqrt:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: (-0.136083,0.00000)
+DEAL:Complex double:Sqrt:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: (0.204124,0.00000)
+DEAL:Complex double:Sqrt:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: (0.204124,0.00000)
+DEAL:Complex double:Sqrt:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: (-0.306186,0.00000)
+DEAL:Complex double:Exponential:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Complex double:Exponential:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Complex double:Exponential:Symbolic computation: Function initialisation::symb_psi: exp(s2)*s1**2
+DEAL:Complex double:Exponential:Symbolic computation: Differentiation::symb_dpsi_ds0: 2*exp(s2)*s1
+DEAL:Complex double:Exponential:Symbolic computation: Differentiation::symb_dpsi_ds1: exp(s2)*s1**2
+DEAL:Complex double:Exponential:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 2*exp(s2)
+DEAL:Complex double:Exponential:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: 2*exp(s2)*s1
+DEAL:Complex double:Exponential:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: 2*exp(s2)*s1
+DEAL:Complex double:Exponential:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: exp(s2)*s1**2
+DEAL:Complex double:Exponential:Symbolic computation: Substitution::subs_psi: (66.5015,0.00000)
+DEAL:Complex double:Exponential:Symbolic computation: Substitution::subs_dpsi_ds0: (44.3343,0.00000)
+DEAL:Complex double:Exponential:Symbolic computation: Substitution::subs_dpsi_ds1: (66.5015,0.00000)
+DEAL:Complex double:Exponential:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: (14.7781,0.00000)
+DEAL:Complex double:Exponential:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: (44.3343,0.00000)
+DEAL:Complex double:Exponential:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: (44.3343,0.00000)
+DEAL:Complex double:Exponential:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: (66.5015,0.00000)
+DEAL:Complex double:Logarithm:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Complex double:Logarithm:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Complex double:Logarithm:Symbolic computation: Function initialisation::symb_psi: s1**2*log(s2)
+DEAL:Complex double:Logarithm:Symbolic computation: Differentiation::symb_dpsi_ds0: 2*s1*log(s2)
+DEAL:Complex double:Logarithm:Symbolic computation: Differentiation::symb_dpsi_ds1: s1**2/s2
+DEAL:Complex double:Logarithm:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 2*log(s2)
+DEAL:Complex double:Logarithm:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: 2*s1/s2
+DEAL:Complex double:Logarithm:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: 2*s1/s2
+DEAL:Complex double:Logarithm:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: -s1**2/s2**2
+DEAL:Complex double:Logarithm:Symbolic computation: Substitution::subs_psi: (6.23832,0.00000)
+DEAL:Complex double:Logarithm:Symbolic computation: Substitution::subs_dpsi_ds0: (4.15888,0.00000)
+DEAL:Complex double:Logarithm:Symbolic computation: Substitution::subs_dpsi_ds1: (4.50000,0.00000)
+DEAL:Complex double:Logarithm:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: (1.38629,0.00000)
+DEAL:Complex double:Logarithm:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: (3.00000,0.00000)
+DEAL:Complex double:Logarithm:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: (3.00000,0.00000)
+DEAL:Complex double:Logarithm:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: (-2.25000,0.00000)
+DEAL:Complex double:Logarithm with Base:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Complex double:Logarithm with Base:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Complex double:Logarithm with Base:Symbolic computation: Function initialisation::symb_psi: log(s2)/log(s1)
+DEAL:Complex double:Logarithm with Base:Symbolic computation: Differentiation::symb_dpsi_ds0: -log(s2)/(s1*log(s1)**2)
+DEAL:Complex double:Logarithm with Base:Symbolic computation: Differentiation::symb_dpsi_ds1: 1/(s2*log(s1))
+DEAL:Complex double:Logarithm with Base:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 2*log(s2)/(s1**2*log(s1)**3) + log(s2)/(s1**2*log(s1)**2)
+DEAL:Complex double:Logarithm with Base:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -1/(s1*s2*log(s1)**2)
+DEAL:Complex double:Logarithm with Base:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -1/(s1*s2*log(s1)**2)
+DEAL:Complex double:Logarithm with Base:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: -1/(s2**2*log(s1))
+DEAL:Complex double:Logarithm with Base:Symbolic computation: Substitution::subs_psi: (0.630930,0.00000)
+DEAL:Complex double:Logarithm with Base:Symbolic computation: Substitution::subs_dpsi_ds0: (-0.191432,0.00000)
+DEAL:Complex double:Logarithm with Base:Symbolic computation: Substitution::subs_dpsi_ds1: (0.455120,0.00000)
+DEAL:Complex double:Logarithm with Base:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: (0.179977,0.00000)
+DEAL:Complex double:Logarithm with Base:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: (-0.138089,0.00000)
+DEAL:Complex double:Logarithm with Base:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: (-0.138089,0.00000)
+DEAL:Complex double:Logarithm with Base:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: (-0.227560,0.00000)
+DEAL:Complex double:Logarithm base 10:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Complex double:Logarithm base 10:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Complex double:Logarithm base 10:Symbolic computation: Function initialisation::symb_psi: 0.434294481903252*s1**2*log(s2)
+DEAL:Complex double:Logarithm base 10:Symbolic computation: Differentiation::symb_dpsi_ds0: 0.868588963806504*s1*log(s2)
+DEAL:Complex double:Logarithm base 10:Symbolic computation: Differentiation::symb_dpsi_ds1: 0.434294481903252*s1**2/s2
+DEAL:Complex double:Logarithm base 10:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 0.868588963806504*log(s2)
+DEAL:Complex double:Logarithm base 10:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: 0.868588963806504*s1/s2
+DEAL:Complex double:Logarithm base 10:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: 0.868588963806504*s1/s2
+DEAL:Complex double:Logarithm base 10:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: -0.434294481903252*s1**2/s2**2
+DEAL:Complex double:Logarithm base 10:Symbolic computation: Substitution::subs_psi: (2.70927,0.00000)
+DEAL:Complex double:Logarithm base 10:Symbolic computation: Substitution::subs_dpsi_ds0: (1.80618,0.00000)
+DEAL:Complex double:Logarithm base 10:Symbolic computation: Substitution::subs_dpsi_ds1: (1.95433,0.00000)
+DEAL:Complex double:Logarithm base 10:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: (0.602060,0.00000)
+DEAL:Complex double:Logarithm base 10:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: (1.30288,0.00000)
+DEAL:Complex double:Logarithm base 10:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: (1.30288,0.00000)
+DEAL:Complex double:Logarithm base 10:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: (-0.977163,0.00000)
+DEAL:Complex double:Sin:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Complex double:Sin:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Complex double:Sin:Symbolic computation: Function initialisation::symb_psi: sin(s2/s1)
+DEAL:Complex double:Sin:Symbolic computation: Differentiation::symb_dpsi_ds0: -s2*cos(s2/s1)/s1**2
+DEAL:Complex double:Sin:Symbolic computation: Differentiation::symb_dpsi_ds1: cos(s2/s1)/s1
+DEAL:Complex double:Sin:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: -s2**2*sin(s2/s1)/s1**4 + 2*s2*cos(s2/s1)/s1**3
+DEAL:Complex double:Sin:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -cos(s2/s1)/s1**2 + s2*sin(s2/s1)/s1**3
+DEAL:Complex double:Sin:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -cos(s2/s1)/s1**2 + s2*sin(s2/s1)/s1**3
+DEAL:Complex double:Sin:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: -sin(s2/s1)/s1**2
+DEAL:Complex double:Sin:Symbolic computation: Substitution::subs_psi: (0.618370,0.00000)
+DEAL:Complex double:Sin:Symbolic computation: Substitution::subs_dpsi_ds0: (-0.174642,0.00000)
+DEAL:Complex double:Sin:Symbolic computation: Substitution::subs_dpsi_ds1: (0.261962,0.00000)
+DEAL:Complex double:Sin:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: (0.0858910,0.00000)
+DEAL:Complex double:Sin:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: (-0.0415156,0.00000)
+DEAL:Complex double:Sin:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: (-0.0415156,0.00000)
+DEAL:Complex double:Sin:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: (-0.0687078,0.00000)
+DEAL:Complex double:Cos:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Complex double:Cos:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Complex double:Cos:Symbolic computation: Function initialisation::symb_psi: cos(s2/s1)
+DEAL:Complex double:Cos:Symbolic computation: Differentiation::symb_dpsi_ds0: s2*sin(s2/s1)/s1**2
+DEAL:Complex double:Cos:Symbolic computation: Differentiation::symb_dpsi_ds1: -sin(s2/s1)/s1
+DEAL:Complex double:Cos:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: -s2**2*cos(s2/s1)/s1**4 - 2*s2*sin(s2/s1)/s1**3
+DEAL:Complex double:Cos:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: sin(s2/s1)/s1**2 + s2*cos(s2/s1)/s1**3
+DEAL:Complex double:Cos:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: sin(s2/s1)/s1**2 + s2*cos(s2/s1)/s1**3
+DEAL:Complex double:Cos:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: -cos(s2/s1)/s1**2
+DEAL:Complex double:Cos:Symbolic computation: Substitution::subs_psi: (0.785887,0.00000)
+DEAL:Complex double:Cos:Symbolic computation: Substitution::subs_dpsi_ds0: (0.137416,0.00000)
+DEAL:Complex double:Cos:Symbolic computation: Substitution::subs_dpsi_ds1: (-0.206123,0.00000)
+DEAL:Complex double:Cos:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: (-0.130420,0.00000)
+DEAL:Complex double:Cos:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: (0.126922,0.00000)
+DEAL:Complex double:Cos:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: (0.126922,0.00000)
+DEAL:Complex double:Cos:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: (-0.0873208,0.00000)
+DEAL:Complex double:Tan:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Complex double:Tan:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Complex double:Tan:Symbolic computation: Function initialisation::symb_psi: tan(s2/s1)
+DEAL:Complex double:Tan:Symbolic computation: Differentiation::symb_dpsi_ds0: -s2*(1 + tan(s2/s1)**2)/s1**2
+DEAL:Complex double:Tan:Symbolic computation: Differentiation::symb_dpsi_ds1: (1 + tan(s2/s1)**2)/s1
+DEAL:Complex double:Tan:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 2*s2*(1 + tan(s2/s1)**2)/s1**3 + 2*s2**2*tan(s2/s1)*(1 + tan(s2/s1)**2)/s1**4
+DEAL:Complex double:Tan:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -(1 + tan(s2/s1)**2)/s1**2 - 2*s2*tan(s2/s1)*(1 + tan(s2/s1)**2)/s1**3
+DEAL:Complex double:Tan:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -(1 + tan(s2/s1)**2)/s1**2 - 2*s2*tan(s2/s1)*(1 + tan(s2/s1)**2)/s1**3
+DEAL:Complex double:Tan:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: 2*tan(s2/s1)*(1 + tan(s2/s1)**2)/s1**2
+DEAL:Complex double:Tan:Symbolic computation: Substitution::subs_psi: (0.786843,0.00000)
+DEAL:Complex double:Tan:Symbolic computation: Substitution::subs_dpsi_ds0: (-0.359805,0.00000)
+DEAL:Complex double:Tan:Symbolic computation: Substitution::subs_dpsi_ds1: (0.539707,0.00000)
+DEAL:Complex double:Tan:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: (0.365696,0.00000)
+DEAL:Complex double:Tan:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: (-0.368642,0.00000)
+DEAL:Complex double:Tan:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: (-0.368642,0.00000)
+DEAL:Complex double:Tan:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: (0.283110,0.00000)
+DEAL:Complex double:ASin:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Complex double:ASin:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Complex double:ASin:Symbolic computation: Function initialisation::symb_psi: asin(1.0/(s1*s2))
+DEAL:Complex double:ASin:Symbolic computation: Differentiation::symb_dpsi_ds0: -1.0/(s1**2*s2*sqrt(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Complex double:ASin:Symbolic computation: Differentiation::symb_dpsi_ds1: -1.0/(s1*s2**2*sqrt(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Complex double:ASin:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 1.0*1/(s1**5*s2**3*(1 - 1.0*1/(s1**2*s2**2))**(3/2)) + 2.0*1/(s1**3*s2*sqrt(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Complex double:ASin:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: 1.0*1/(s1**4*s2**4*(1 - 1.0*1/(s1**2*s2**2))**(3/2)) + 1.0*1/(s1**2*s2**2*sqrt(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Complex double:ASin:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: 1.0*1/(s1**4*s2**4*(1 - 1.0*1/(s1**2*s2**2))**(3/2)) + 1.0*1/(s1**2*s2**2*sqrt(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Complex double:ASin:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: 1.0*1/(s1**3*s2**5*(1 - 1.0*1/(s1**2*s2**2))**(3/2)) + 2.0*1/(s1*s2**3*sqrt(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Complex double:ASin:Symbolic computation: Substitution::subs_psi: (0.167448,0.00000)
+DEAL:Complex double:ASin:Symbolic computation: Substitution::subs_dpsi_ds0: (-0.0563436,0.00000)
+DEAL:Complex double:ASin:Symbolic computation: Substitution::subs_dpsi_ds1: (-0.0845154,0.00000)
+DEAL:Complex double:ASin:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: (0.0380990,0.00000)
+DEAL:Complex double:ASin:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: (0.0289767,0.00000)
+DEAL:Complex double:ASin:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: (0.0289767,0.00000)
+DEAL:Complex double:ASin:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: (0.0857228,0.00000)
+DEAL:Complex double:ACos:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Complex double:ACos:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Complex double:ACos:Symbolic computation: Function initialisation::symb_psi: acos(1.0/(s1*s2))
+DEAL:Complex double:ACos:Symbolic computation: Differentiation::symb_dpsi_ds0: 1.0/(s1**2*s2*sqrt(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Complex double:ACos:Symbolic computation: Differentiation::symb_dpsi_ds1: 1.0/(s1*s2**2*sqrt(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Complex double:ACos:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: -1.0*1/(s1**5*s2**3*(1 - 1.0*1/(s1**2*s2**2))**(3/2)) - 2.0*1/(s1**3*s2*sqrt(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Complex double:ACos:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -1.0*1/(s1**4*s2**4*(1 - 1.0*1/(s1**2*s2**2))**(3/2)) - 1.0*1/(s1**2*s2**2*sqrt(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Complex double:ACos:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -1.0*1/(s1**4*s2**4*(1 - 1.0*1/(s1**2*s2**2))**(3/2)) - 1.0*1/(s1**2*s2**2*sqrt(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Complex double:ACos:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: -1.0*1/(s1**3*s2**5*(1 - 1.0*1/(s1**2*s2**2))**(3/2)) - 2.0*1/(s1*s2**3*sqrt(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Complex double:ACos:Symbolic computation: Substitution::subs_psi: (1.40335,0.00000)
+DEAL:Complex double:ACos:Symbolic computation: Substitution::subs_dpsi_ds0: (0.0563436,0.00000)
+DEAL:Complex double:ACos:Symbolic computation: Substitution::subs_dpsi_ds1: (0.0845154,0.00000)
+DEAL:Complex double:ACos:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: (-0.0380990,0.00000)
+DEAL:Complex double:ACos:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: (-0.0289767,0.00000)
+DEAL:Complex double:ACos:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: (-0.0289767,0.00000)
+DEAL:Complex double:ACos:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: (-0.0857228,0.00000)
+DEAL:Complex double:ATan:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Complex double:ATan:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Complex double:ATan:Symbolic computation: Function initialisation::symb_psi: atan(1.0/(s1*s2))
+DEAL:Complex double:ATan:Symbolic computation: Differentiation::symb_dpsi_ds0: -1.0/(s1**2*s2*(1 + 1.0*1/(s1**2*s2**2)))
+DEAL:Complex double:ATan:Symbolic computation: Differentiation::symb_dpsi_ds1: -1.0/(s1*s2**2*(1 + 1.0*1/(s1**2*s2**2)))
+DEAL:Complex double:ATan:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: -2.0*1/(s1**5*s2**3*(1 + 1.0*1/(s1**2*s2**2))**2) + 2.0*1/(s1**3*s2*(1 + 1.0*1/(s1**2*s2**2)))
+DEAL:Complex double:ATan:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -2.0*1/(s1**4*s2**4*(1 + 1.0*1/(s1**2*s2**2))**2) + 1.0*1/(s1**2*s2**2*(1 + 1.0*1/(s1**2*s2**2)))
+DEAL:Complex double:ATan:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -2.0*1/(s1**4*s2**4*(1 + 1.0*1/(s1**2*s2**2))**2) + 1.0*1/(s1**2*s2**2*(1 + 1.0*1/(s1**2*s2**2)))
+DEAL:Complex double:ATan:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: -2.0*1/(s1**3*s2**5*(1 + 1.0*1/(s1**2*s2**2))**2) + 2.0*1/(s1*s2**3*(1 + 1.0*1/(s1**2*s2**2)))
+DEAL:Complex double:ATan:Symbolic computation: Substitution::subs_psi: (0.165149,0.00000)
+DEAL:Complex double:ATan:Symbolic computation: Substitution::subs_dpsi_ds0: (-0.0540541,0.00000)
+DEAL:Complex double:ATan:Symbolic computation: Substitution::subs_dpsi_ds1: (-0.0810811,0.00000)
+DEAL:Complex double:ATan:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: (0.0350621,0.00000)
+DEAL:Complex double:ATan:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: (0.0255661,0.00000)
+DEAL:Complex double:ATan:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: (0.0255661,0.00000)
+DEAL:Complex double:ATan:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: (0.0788897,0.00000)
+DEAL:Complex double:Sinh:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Complex double:Sinh:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Complex double:Sinh:Symbolic computation: Function initialisation::symb_psi: sinh(s2/s1)
+DEAL:Complex double:Sinh:Symbolic computation: Differentiation::symb_dpsi_ds0: -s2*cosh(s2/s1)/s1**2
+DEAL:Complex double:Sinh:Symbolic computation: Differentiation::symb_dpsi_ds1: cosh(s2/s1)/s1
+DEAL:Complex double:Sinh:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: s2**2*sinh(s2/s1)/s1**4 + 2*s2*cosh(s2/s1)/s1**3
+DEAL:Complex double:Sinh:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -cosh(s2/s1)/s1**2 - s2*sinh(s2/s1)/s1**3
+DEAL:Complex double:Sinh:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -cosh(s2/s1)/s1**2 - s2*sinh(s2/s1)/s1**3
+DEAL:Complex double:Sinh:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: sinh(s2/s1)/s1**2
+DEAL:Complex double:Sinh:Symbolic computation: Substitution::subs_psi: (0.717158,0.00000)
+DEAL:Complex double:Sinh:Symbolic computation: Substitution::subs_dpsi_ds0: (-0.273461,0.00000)
+DEAL:Complex double:Sinh:Symbolic computation: Substitution::subs_dpsi_ds1: (0.410192,0.00000)
+DEAL:Complex double:Sinh:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: (0.217723,0.00000)
+DEAL:Complex double:Sinh:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: (-0.189853,0.00000)
+DEAL:Complex double:Sinh:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: (-0.189853,0.00000)
+DEAL:Complex double:Sinh:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: (0.0796843,0.00000)
+DEAL:Complex double:Cosh:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Complex double:Cosh:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Complex double:Cosh:Symbolic computation: Function initialisation::symb_psi: cosh(s2/s1)
+DEAL:Complex double:Cosh:Symbolic computation: Differentiation::symb_dpsi_ds0: -s2*sinh(s2/s1)/s1**2
+DEAL:Complex double:Cosh:Symbolic computation: Differentiation::symb_dpsi_ds1: sinh(s2/s1)/s1
+DEAL:Complex double:Cosh:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: s2**2*cosh(s2/s1)/s1**4 + 2*s2*sinh(s2/s1)/s1**3
+DEAL:Complex double:Cosh:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -sinh(s2/s1)/s1**2 - s2*cosh(s2/s1)/s1**3
+DEAL:Complex double:Cosh:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -sinh(s2/s1)/s1**2 - s2*cosh(s2/s1)/s1**3
+DEAL:Complex double:Cosh:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: cosh(s2/s1)/s1**2
+DEAL:Complex double:Cosh:Symbolic computation: Substitution::subs_psi: (1.23058,0.00000)
+DEAL:Complex double:Cosh:Symbolic computation: Substitution::subs_dpsi_ds0: (-0.159369,0.00000)
+DEAL:Complex double:Cosh:Symbolic computation: Substitution::subs_dpsi_ds1: (0.239053,0.00000)
+DEAL:Complex double:Cosh:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: (0.167015,0.00000)
+DEAL:Complex double:Cosh:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: (-0.170838,0.00000)
+DEAL:Complex double:Cosh:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: (-0.170838,0.00000)
+DEAL:Complex double:Cosh:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: (0.136731,0.00000)
+DEAL:Complex double:Tanh:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Complex double:Tanh:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Complex double:Tanh:Symbolic computation: Function initialisation::symb_psi: tanh(s2/s1)
+DEAL:Complex double:Tanh:Symbolic computation: Differentiation::symb_dpsi_ds0: -s2*(1 - tanh(s2/s1)**2)/s1**2
+DEAL:Complex double:Tanh:Symbolic computation: Differentiation::symb_dpsi_ds1: (1 - tanh(s2/s1)**2)/s1
+DEAL:Complex double:Tanh:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 2*s2*(1 - tanh(s2/s1)**2)/s1**3 - 2*s2**2*tanh(s2/s1)*(1 - tanh(s2/s1)**2)/s1**4
+DEAL:Complex double:Tanh:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -(1 - tanh(s2/s1)**2)/s1**2 + 2*s2*tanh(s2/s1)*(1 - tanh(s2/s1)**2)/s1**3
+DEAL:Complex double:Tanh:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -(1 - tanh(s2/s1)**2)/s1**2 + 2*s2*tanh(s2/s1)*(1 - tanh(s2/s1)**2)/s1**3
+DEAL:Complex double:Tanh:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: -2*tanh(s2/s1)*(1 - tanh(s2/s1)**2)/s1**2
+DEAL:Complex double:Tanh:Symbolic computation: Substitution::subs_psi: (0.582783,0.00000)
+DEAL:Complex double:Tanh:Symbolic computation: Substitution::subs_dpsi_ds0: (-0.146748,0.00000)
+DEAL:Complex double:Tanh:Symbolic computation: Substitution::subs_dpsi_ds1: (0.220121,0.00000)
+DEAL:Complex double:Tanh:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: (0.0598219,0.00000)
+DEAL:Complex double:Tanh:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: (-0.0163591,0.00000)
+DEAL:Complex double:Tanh:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: (-0.0163591,0.00000)
+DEAL:Complex double:Tanh:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: (-0.0855220,0.00000)
+DEAL:Complex double:ASinh:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Complex double:ASinh:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Complex double:ASinh:Symbolic computation: Function initialisation::symb_psi: asinh(1.0/(s1*s2))
+DEAL:Complex double:ASinh:Symbolic computation: Differentiation::symb_dpsi_ds0: -1.0/(s1**2*s2*sqrt(1 + 1.0*1/(s1**2*s2**2)))
+DEAL:Complex double:ASinh:Symbolic computation: Differentiation::symb_dpsi_ds1: -1.0/(s1*s2**2*sqrt(1 + 1.0*1/(s1**2*s2**2)))
+DEAL:Complex double:ASinh:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: -1.0*1/(s1**5*s2**3*(1 + 1.0*1/(s1**2*s2**2))**(3/2)) + 2.0*1/(s1**3*s2*sqrt(1 + 1.0*1/(s1**2*s2**2)))
+DEAL:Complex double:ASinh:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -1.0*1/(s1**4*s2**4*(1 + 1.0*1/(s1**2*s2**2))**(3/2)) + 1.0*1/(s1**2*s2**2*sqrt(1 + 1.0*1/(s1**2*s2**2)))
+DEAL:Complex double:ASinh:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -1.0*1/(s1**4*s2**4*(1 + 1.0*1/(s1**2*s2**2))**(3/2)) + 1.0*1/(s1**2*s2**2*sqrt(1 + 1.0*1/(s1**2*s2**2)))
+DEAL:Complex double:ASinh:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: -1.0*1/(s1**3*s2**5*(1 + 1.0*1/(s1**2*s2**2))**(3/2)) + 2.0*1/(s1*s2**3*sqrt(1 + 1.0*1/(s1**2*s2**2)))
+DEAL:Complex double:ASinh:Symbolic computation: Substitution::subs_psi: (0.165905,0.00000)
+DEAL:Complex double:ASinh:Symbolic computation: Substitution::subs_dpsi_ds0: (-0.0547997,0.00000)
+DEAL:Complex double:ASinh:Symbolic computation: Substitution::subs_dpsi_ds1: (-0.0821995,0.00000)
+DEAL:Complex double:ASinh:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: (0.0360394,0.00000)
+DEAL:Complex double:ASinh:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: (0.0266593,0.00000)
+DEAL:Complex double:ASinh:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: (0.0266593,0.00000)
+DEAL:Complex double:ASinh:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: (0.0810887,0.00000)
+DEAL:Complex double:ACosh:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Complex double:ACosh:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Complex double:ACosh:Symbolic computation: Function initialisation::symb_psi: acosh(s1*s2)
+DEAL:Complex double:ACosh:Symbolic computation: Differentiation::symb_dpsi_ds0: s2/sqrt(-1 + s1**2*s2**2)
+DEAL:Complex double:ACosh:Symbolic computation: Differentiation::symb_dpsi_ds1: s1/sqrt(-1 + s1**2*s2**2)
+DEAL:Complex double:ACosh:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: -s1*s2**3/(-1 + s1**2*s2**2)**(3/2)
+DEAL:Complex double:ACosh:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -s1**2*s2**2/(-1 + s1**2*s2**2)**(3/2) + (-1 + s1**2*s2**2)**(-1/2)
+DEAL:Complex double:ACosh:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -s1**2*s2**2/(-1 + s1**2*s2**2)**(3/2) + (-1 + s1**2*s2**2)**(-1/2)
+DEAL:Complex double:ACosh:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: -s1**3*s2/(-1 + s1**2*s2**2)**(3/2)
+DEAL:Complex double:ACosh:Symbolic computation: Substitution::subs_psi: (2.47789,0.00000)
+DEAL:Complex double:ACosh:Symbolic computation: Substitution::subs_dpsi_ds0: (0.338062,0.00000)
+DEAL:Complex double:ACosh:Symbolic computation: Substitution::subs_dpsi_ds1: (0.507093,0.00000)
+DEAL:Complex double:ACosh:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: (-0.115907,0.00000)
+DEAL:Complex double:ACosh:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: (-0.00482945,0.00000)
+DEAL:Complex double:ACosh:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: (-0.00482945,0.00000)
+DEAL:Complex double:ACosh:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: (-0.260790,0.00000)
+DEAL:Complex double:ATanh:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Complex double:ATanh:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Complex double:ATanh:Symbolic computation: Function initialisation::symb_psi: atanh(1.0/(s1*s2))
+DEAL:Complex double:ATanh:Symbolic computation: Differentiation::symb_dpsi_ds0: -1.0/(s1**2*s2*(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Complex double:ATanh:Symbolic computation: Differentiation::symb_dpsi_ds1: -1.0/(s1*s2**2*(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Complex double:ATanh:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 2.0*1/(s1**5*s2**3*(1 - 1.0*1/(s1**2*s2**2))**2) + 2.0*1/(s1**3*s2*(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Complex double:ATanh:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: 2.0*1/(s1**4*s2**4*(1 - 1.0*1/(s1**2*s2**2))**2) + 1.0*1/(s1**2*s2**2*(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Complex double:ATanh:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: 2.0*1/(s1**4*s2**4*(1 - 1.0*1/(s1**2*s2**2))**2) + 1.0*1/(s1**2*s2**2*(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Complex double:ATanh:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: 2.0*1/(s1**3*s2**5*(1 - 1.0*1/(s1**2*s2**2))**2) + 2.0*1/(s1*s2**3*(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Complex double:ATanh:Symbolic computation: Substitution::subs_psi: (0.168236,0.00000)
+DEAL:Complex double:ATanh:Symbolic computation: Substitution::subs_dpsi_ds0: (-0.0571429,0.00000)
+DEAL:Complex double:ATanh:Symbolic computation: Substitution::subs_dpsi_ds1: (-0.0857143,0.00000)
+DEAL:Complex double:ATanh:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: (0.0391837,0.00000)
+DEAL:Complex double:ATanh:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: (0.0302041,0.00000)
+DEAL:Complex double:ATanh:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: (0.0302041,0.00000)
+DEAL:Complex double:ATanh:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: (0.0881633,0.00000)
+DEAL:Complex double::OK
+DEAL::OK
diff --git a/tests/symengine/batch_optimizer_01_1b.cc b/tests/symengine/batch_optimizer_01_1b.cc
new file mode 100644 (file)
index 0000000..d1d365d
--- /dev/null
@@ -0,0 +1,41 @@
+// ---------------------------------------------------------------------
+//
+// Copyright (C) 2020 by the deal.II authors
+//
+// This file is part of the deal.II library.
+//
+// The deal.II library is free software; you can use it, redistribute
+// it, and/or modify it under the terms of the GNU Lesser General
+// Public License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+// The full text of the license can be found in the file LICENSE at
+// the top level of the deal.II distribution.
+//
+// ---------------------------------------------------------------------
+
+
+// Test that all of the low-level math operations function as expected
+// and that their values and derivatives can be computed using the
+// optimizer.
+// For this test the optimizer uses plain old dictionary substitution,
+// but all other optimizations (e.g. CSE) have been enabled.
+// This test is based on function_verification_01.cc
+
+#include "../tests.h"
+
+#include "sd_common_tests/batch_optimizer_01.h"
+
+
+int
+main()
+{
+  initlog();
+
+  const enum SD::OptimizerType     opt_method = SD::OptimizerType::dictionary;
+  const enum SD::OptimizationFlags opt_flags =
+    SD::OptimizationFlags::optimize_all;
+
+  run_tests<opt_method, opt_flags>();
+
+  deallog << "OK" << std::endl;
+}
diff --git a/tests/symengine/batch_optimizer_01_1b.output b/tests/symengine/batch_optimizer_01_1b.output
new file mode 100644 (file)
index 0000000..e733d25
--- /dev/null
@@ -0,0 +1,1510 @@
+
+DEAL:Float:Add:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Float:Add:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Float:Add:Symbolic computation: Function initialisation::symb_psi: (s1 + s2)**2
+DEAL:Float:Add:Symbolic computation: Differentiation::symb_dpsi_ds0: 2*(s1 + s2)
+DEAL:Float:Add:Symbolic computation: Differentiation::symb_dpsi_ds1: 2*(s1 + s2)
+DEAL:Float:Add:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 2
+DEAL:Float:Add:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: 2
+DEAL:Float:Add:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: 2
+DEAL:Float:Add:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: 2
+DEAL:Float:Add:Symbolic computation: Substitution::subs_psi: 25.0000
+DEAL:Float:Add:Symbolic computation: Substitution::subs_dpsi_ds0: 10.0000
+DEAL:Float:Add:Symbolic computation: Substitution::subs_dpsi_ds1: 10.0000
+DEAL:Float:Add:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: 2.00000
+DEAL:Float:Add:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: 2.00000
+DEAL:Float:Add:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: 2.00000
+DEAL:Float:Add:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: 2.00000
+DEAL:Float:Subtract:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Float:Subtract:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Float:Subtract:Symbolic computation: Function initialisation::symb_psi: (s1 - s2)**2
+DEAL:Float:Subtract:Symbolic computation: Differentiation::symb_dpsi_ds0: 2*(s1 - s2)
+DEAL:Float:Subtract:Symbolic computation: Differentiation::symb_dpsi_ds1: -2*(s1 - s2)
+DEAL:Float:Subtract:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 2
+DEAL:Float:Subtract:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -2
+DEAL:Float:Subtract:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -2
+DEAL:Float:Subtract:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: 2
+DEAL:Float:Subtract:Symbolic computation: Substitution::subs_psi: 1.00000
+DEAL:Float:Subtract:Symbolic computation: Substitution::subs_dpsi_ds0: 2.00000
+DEAL:Float:Subtract:Symbolic computation: Substitution::subs_dpsi_ds1: -2.00000
+DEAL:Float:Subtract:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: 2.00000
+DEAL:Float:Subtract:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: -2.00000
+DEAL:Float:Subtract:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: -2.00000
+DEAL:Float:Subtract:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: 2.00000
+DEAL:Float:Multiply:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Float:Multiply:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Float:Multiply:Symbolic computation: Function initialisation::symb_psi: s1**2*s2**2
+DEAL:Float:Multiply:Symbolic computation: Differentiation::symb_dpsi_ds0: 2*s1*s2**2
+DEAL:Float:Multiply:Symbolic computation: Differentiation::symb_dpsi_ds1: 2*s1**2*s2
+DEAL:Float:Multiply:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 2*s2**2
+DEAL:Float:Multiply:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: 4*s1*s2
+DEAL:Float:Multiply:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: 4*s1*s2
+DEAL:Float:Multiply:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: 2*s1**2
+DEAL:Float:Multiply:Symbolic computation: Substitution::subs_psi: 36.0000
+DEAL:Float:Multiply:Symbolic computation: Substitution::subs_dpsi_ds0: 24.0000
+DEAL:Float:Multiply:Symbolic computation: Substitution::subs_dpsi_ds1: 36.0000
+DEAL:Float:Multiply:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: 8.00000
+DEAL:Float:Multiply:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: 24.0000
+DEAL:Float:Multiply:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: 24.0000
+DEAL:Float:Multiply:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: 18.0000
+DEAL:Float:Divide:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Float:Divide:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Float:Divide:Symbolic computation: Function initialisation::symb_psi: s1**2/s2**2
+DEAL:Float:Divide:Symbolic computation: Differentiation::symb_dpsi_ds0: 2*s1/s2**2
+DEAL:Float:Divide:Symbolic computation: Differentiation::symb_dpsi_ds1: -2*s1**2/s2**3
+DEAL:Float:Divide:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 2/s2**2
+DEAL:Float:Divide:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -4*s1/s2**3
+DEAL:Float:Divide:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -4*s1/s2**3
+DEAL:Float:Divide:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: 6*s1**2/s2**4
+DEAL:Float:Divide:Symbolic computation: Substitution::subs_psi: 2.25000
+DEAL:Float:Divide:Symbolic computation: Substitution::subs_dpsi_ds0: 1.50000
+DEAL:Float:Divide:Symbolic computation: Substitution::subs_dpsi_ds1: -2.25000
+DEAL:Float:Divide:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: 0.500000
+DEAL:Float:Divide:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: -1.50000
+DEAL:Float:Divide:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: -1.50000
+DEAL:Float:Divide:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: 3.37500
+DEAL:Float:Power:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Float:Power:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Float:Power:Symbolic computation: Function initialisation::symb_psi: 2.0*s1**s2
+DEAL:Float:Power:Symbolic computation: Differentiation::symb_dpsi_ds0: 2.0*s1**(-1 + s2)*s2
+DEAL:Float:Power:Symbolic computation: Differentiation::symb_dpsi_ds1: 2.0*s1**s2*log(s1)
+DEAL:Float:Power:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 2.0*s1**(-2 + s2)*s2*(-1 + s2)
+DEAL:Float:Power:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: 2.0*s1**(-1 + s2)*s2*log(s1) + 2.0*s1**(-1 + s2)
+DEAL:Float:Power:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: 2.0*s1**(-1 + s2)*s2*log(s1) + 2.0*s1**(-1 + s2)
+DEAL:Float:Power:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: 2.0*s1**s2*log(s1)**2
+DEAL:Float:Power:Symbolic computation: Substitution::subs_psi: 18.0000
+DEAL:Float:Power:Symbolic computation: Substitution::subs_dpsi_ds0: 12.0000
+DEAL:Float:Power:Symbolic computation: Substitution::subs_dpsi_ds1: 19.7750
+DEAL:Float:Power:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: 4.00000
+DEAL:Float:Power:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: 19.1833
+DEAL:Float:Power:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: 19.1833
+DEAL:Float:Power:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: 21.7251
+DEAL:Float:Sqrt:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Float:Sqrt:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Float:Sqrt:Symbolic computation: Function initialisation::symb_psi: 2.0*sqrt(s1*s2)
+DEAL:Float:Sqrt:Symbolic computation: Differentiation::symb_dpsi_ds0: 1.0*s2/sqrt(s1*s2)
+DEAL:Float:Sqrt:Symbolic computation: Differentiation::symb_dpsi_ds1: 1.0*s1/sqrt(s1*s2)
+DEAL:Float:Sqrt:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: -0.5*s2**2/(s1*s2)**(3/2)
+DEAL:Float:Sqrt:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -0.5*s1*s2/(s1*s2)**(3/2) + 1.0*(s1*s2)**(-1/2)
+DEAL:Float:Sqrt:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -0.5*s1*s2/(s1*s2)**(3/2) + 1.0*(s1*s2)**(-1/2)
+DEAL:Float:Sqrt:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: -0.5*s1**2/(s1*s2)**(3/2)
+DEAL:Float:Sqrt:Symbolic computation: Substitution::subs_psi: 4.89898
+DEAL:Float:Sqrt:Symbolic computation: Substitution::subs_dpsi_ds0: 0.816497
+DEAL:Float:Sqrt:Symbolic computation: Substitution::subs_dpsi_ds1: 1.22474
+DEAL:Float:Sqrt:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: -0.136083
+DEAL:Float:Sqrt:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: 0.204124
+DEAL:Float:Sqrt:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: 0.204124
+DEAL:Float:Sqrt:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: -0.306186
+DEAL:Float:Exponential:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Float:Exponential:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Float:Exponential:Symbolic computation: Function initialisation::symb_psi: exp(s2)*s1**2
+DEAL:Float:Exponential:Symbolic computation: Differentiation::symb_dpsi_ds0: 2*exp(s2)*s1
+DEAL:Float:Exponential:Symbolic computation: Differentiation::symb_dpsi_ds1: exp(s2)*s1**2
+DEAL:Float:Exponential:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 2*exp(s2)
+DEAL:Float:Exponential:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: 2*exp(s2)*s1
+DEAL:Float:Exponential:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: 2*exp(s2)*s1
+DEAL:Float:Exponential:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: exp(s2)*s1**2
+DEAL:Float:Exponential:Symbolic computation: Substitution::subs_psi: 66.5015
+DEAL:Float:Exponential:Symbolic computation: Substitution::subs_dpsi_ds0: 44.3343
+DEAL:Float:Exponential:Symbolic computation: Substitution::subs_dpsi_ds1: 66.5015
+DEAL:Float:Exponential:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: 14.7781
+DEAL:Float:Exponential:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: 44.3343
+DEAL:Float:Exponential:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: 44.3343
+DEAL:Float:Exponential:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: 66.5015
+DEAL:Float:Logarithm:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Float:Logarithm:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Float:Logarithm:Symbolic computation: Function initialisation::symb_psi: s1**2*log(s2)
+DEAL:Float:Logarithm:Symbolic computation: Differentiation::symb_dpsi_ds0: 2*s1*log(s2)
+DEAL:Float:Logarithm:Symbolic computation: Differentiation::symb_dpsi_ds1: s1**2/s2
+DEAL:Float:Logarithm:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 2*log(s2)
+DEAL:Float:Logarithm:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: 2*s1/s2
+DEAL:Float:Logarithm:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: 2*s1/s2
+DEAL:Float:Logarithm:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: -s1**2/s2**2
+DEAL:Float:Logarithm:Symbolic computation: Substitution::subs_psi: 6.23832
+DEAL:Float:Logarithm:Symbolic computation: Substitution::subs_dpsi_ds0: 4.15888
+DEAL:Float:Logarithm:Symbolic computation: Substitution::subs_dpsi_ds1: 4.50000
+DEAL:Float:Logarithm:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: 1.38629
+DEAL:Float:Logarithm:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: 3.00000
+DEAL:Float:Logarithm:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: 3.00000
+DEAL:Float:Logarithm:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: -2.25000
+DEAL:Float:Logarithm with Base:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Float:Logarithm with Base:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Float:Logarithm with Base:Symbolic computation: Function initialisation::symb_psi: log(s2)/log(s1)
+DEAL:Float:Logarithm with Base:Symbolic computation: Differentiation::symb_dpsi_ds0: -log(s2)/(s1*log(s1)**2)
+DEAL:Float:Logarithm with Base:Symbolic computation: Differentiation::symb_dpsi_ds1: 1/(s2*log(s1))
+DEAL:Float:Logarithm with Base:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 2*log(s2)/(s1**2*log(s1)**3) + log(s2)/(s1**2*log(s1)**2)
+DEAL:Float:Logarithm with Base:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -1/(s1*s2*log(s1)**2)
+DEAL:Float:Logarithm with Base:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -1/(s1*s2*log(s1)**2)
+DEAL:Float:Logarithm with Base:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: -1/(s2**2*log(s1))
+DEAL:Float:Logarithm with Base:Symbolic computation: Substitution::subs_psi: 0.630930
+DEAL:Float:Logarithm with Base:Symbolic computation: Substitution::subs_dpsi_ds0: -0.191432
+DEAL:Float:Logarithm with Base:Symbolic computation: Substitution::subs_dpsi_ds1: 0.455120
+DEAL:Float:Logarithm with Base:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: 0.179977
+DEAL:Float:Logarithm with Base:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: -0.138089
+DEAL:Float:Logarithm with Base:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: -0.138089
+DEAL:Float:Logarithm with Base:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: -0.227560
+DEAL:Float:Logarithm base 10:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Float:Logarithm base 10:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Float:Logarithm base 10:Symbolic computation: Function initialisation::symb_psi: 0.434294481903252*s1**2*log(s2)
+DEAL:Float:Logarithm base 10:Symbolic computation: Differentiation::symb_dpsi_ds0: 0.868588963806504*s1*log(s2)
+DEAL:Float:Logarithm base 10:Symbolic computation: Differentiation::symb_dpsi_ds1: 0.434294481903252*s1**2/s2
+DEAL:Float:Logarithm base 10:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 0.868588963806504*log(s2)
+DEAL:Float:Logarithm base 10:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: 0.868588963806504*s1/s2
+DEAL:Float:Logarithm base 10:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: 0.868588963806504*s1/s2
+DEAL:Float:Logarithm base 10:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: -0.434294481903252*s1**2/s2**2
+DEAL:Float:Logarithm base 10:Symbolic computation: Substitution::subs_psi: 2.70927
+DEAL:Float:Logarithm base 10:Symbolic computation: Substitution::subs_dpsi_ds0: 1.80618
+DEAL:Float:Logarithm base 10:Symbolic computation: Substitution::subs_dpsi_ds1: 1.95433
+DEAL:Float:Logarithm base 10:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: 0.602060
+DEAL:Float:Logarithm base 10:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: 1.30288
+DEAL:Float:Logarithm base 10:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: 1.30288
+DEAL:Float:Logarithm base 10:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: -0.977163
+DEAL:Float:Sin:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Float:Sin:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Float:Sin:Symbolic computation: Function initialisation::symb_psi: sin(s2/s1)
+DEAL:Float:Sin:Symbolic computation: Differentiation::symb_dpsi_ds0: -s2*cos(s2/s1)/s1**2
+DEAL:Float:Sin:Symbolic computation: Differentiation::symb_dpsi_ds1: cos(s2/s1)/s1
+DEAL:Float:Sin:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: -s2**2*sin(s2/s1)/s1**4 + 2*s2*cos(s2/s1)/s1**3
+DEAL:Float:Sin:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -cos(s2/s1)/s1**2 + s2*sin(s2/s1)/s1**3
+DEAL:Float:Sin:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -cos(s2/s1)/s1**2 + s2*sin(s2/s1)/s1**3
+DEAL:Float:Sin:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: -sin(s2/s1)/s1**2
+DEAL:Float:Sin:Symbolic computation: Substitution::subs_psi: 0.618370
+DEAL:Float:Sin:Symbolic computation: Substitution::subs_dpsi_ds0: -0.174642
+DEAL:Float:Sin:Symbolic computation: Substitution::subs_dpsi_ds1: 0.261962
+DEAL:Float:Sin:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: 0.0858910
+DEAL:Float:Sin:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: -0.0415156
+DEAL:Float:Sin:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: -0.0415156
+DEAL:Float:Sin:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: -0.0687078
+DEAL:Float:Cos:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Float:Cos:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Float:Cos:Symbolic computation: Function initialisation::symb_psi: cos(s2/s1)
+DEAL:Float:Cos:Symbolic computation: Differentiation::symb_dpsi_ds0: s2*sin(s2/s1)/s1**2
+DEAL:Float:Cos:Symbolic computation: Differentiation::symb_dpsi_ds1: -sin(s2/s1)/s1
+DEAL:Float:Cos:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: -s2**2*cos(s2/s1)/s1**4 - 2*s2*sin(s2/s1)/s1**3
+DEAL:Float:Cos:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: sin(s2/s1)/s1**2 + s2*cos(s2/s1)/s1**3
+DEAL:Float:Cos:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: sin(s2/s1)/s1**2 + s2*cos(s2/s1)/s1**3
+DEAL:Float:Cos:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: -cos(s2/s1)/s1**2
+DEAL:Float:Cos:Symbolic computation: Substitution::subs_psi: 0.785887
+DEAL:Float:Cos:Symbolic computation: Substitution::subs_dpsi_ds0: 0.137416
+DEAL:Float:Cos:Symbolic computation: Substitution::subs_dpsi_ds1: -0.206123
+DEAL:Float:Cos:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: -0.130420
+DEAL:Float:Cos:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: 0.126922
+DEAL:Float:Cos:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: 0.126922
+DEAL:Float:Cos:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: -0.0873208
+DEAL:Float:Tan:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Float:Tan:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Float:Tan:Symbolic computation: Function initialisation::symb_psi: tan(s2/s1)
+DEAL:Float:Tan:Symbolic computation: Differentiation::symb_dpsi_ds0: -s2*(1 + tan(s2/s1)**2)/s1**2
+DEAL:Float:Tan:Symbolic computation: Differentiation::symb_dpsi_ds1: (1 + tan(s2/s1)**2)/s1
+DEAL:Float:Tan:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 2*s2*(1 + tan(s2/s1)**2)/s1**3 + 2*s2**2*tan(s2/s1)*(1 + tan(s2/s1)**2)/s1**4
+DEAL:Float:Tan:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -(1 + tan(s2/s1)**2)/s1**2 - 2*s2*tan(s2/s1)*(1 + tan(s2/s1)**2)/s1**3
+DEAL:Float:Tan:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -(1 + tan(s2/s1)**2)/s1**2 - 2*s2*tan(s2/s1)*(1 + tan(s2/s1)**2)/s1**3
+DEAL:Float:Tan:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: 2*tan(s2/s1)*(1 + tan(s2/s1)**2)/s1**2
+DEAL:Float:Tan:Symbolic computation: Substitution::subs_psi: 0.786843
+DEAL:Float:Tan:Symbolic computation: Substitution::subs_dpsi_ds0: -0.359805
+DEAL:Float:Tan:Symbolic computation: Substitution::subs_dpsi_ds1: 0.539707
+DEAL:Float:Tan:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: 0.365696
+DEAL:Float:Tan:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: -0.368642
+DEAL:Float:Tan:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: -0.368642
+DEAL:Float:Tan:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: 0.283110
+DEAL:Float:ASin:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Float:ASin:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Float:ASin:Symbolic computation: Function initialisation::symb_psi: asin(1.0/(s1*s2))
+DEAL:Float:ASin:Symbolic computation: Differentiation::symb_dpsi_ds0: -1.0/(s1**2*s2*sqrt(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Float:ASin:Symbolic computation: Differentiation::symb_dpsi_ds1: -1.0/(s1*s2**2*sqrt(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Float:ASin:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 1.0*1/(s1**5*s2**3*(1 - 1.0*1/(s1**2*s2**2))**(3/2)) + 2.0*1/(s1**3*s2*sqrt(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Float:ASin:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: 1.0*1/(s1**4*s2**4*(1 - 1.0*1/(s1**2*s2**2))**(3/2)) + 1.0*1/(s1**2*s2**2*sqrt(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Float:ASin:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: 1.0*1/(s1**4*s2**4*(1 - 1.0*1/(s1**2*s2**2))**(3/2)) + 1.0*1/(s1**2*s2**2*sqrt(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Float:ASin:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: 1.0*1/(s1**3*s2**5*(1 - 1.0*1/(s1**2*s2**2))**(3/2)) + 2.0*1/(s1*s2**3*sqrt(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Float:ASin:Symbolic computation: Substitution::subs_psi: 0.167448
+DEAL:Float:ASin:Symbolic computation: Substitution::subs_dpsi_ds0: -0.0563436
+DEAL:Float:ASin:Symbolic computation: Substitution::subs_dpsi_ds1: -0.0845154
+DEAL:Float:ASin:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: 0.0380990
+DEAL:Float:ASin:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: 0.0289767
+DEAL:Float:ASin:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: 0.0289767
+DEAL:Float:ASin:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: 0.0857228
+DEAL:Float:ACos:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Float:ACos:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Float:ACos:Symbolic computation: Function initialisation::symb_psi: acos(1.0/(s1*s2))
+DEAL:Float:ACos:Symbolic computation: Differentiation::symb_dpsi_ds0: 1.0/(s1**2*s2*sqrt(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Float:ACos:Symbolic computation: Differentiation::symb_dpsi_ds1: 1.0/(s1*s2**2*sqrt(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Float:ACos:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: -1.0*1/(s1**5*s2**3*(1 - 1.0*1/(s1**2*s2**2))**(3/2)) - 2.0*1/(s1**3*s2*sqrt(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Float:ACos:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -1.0*1/(s1**4*s2**4*(1 - 1.0*1/(s1**2*s2**2))**(3/2)) - 1.0*1/(s1**2*s2**2*sqrt(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Float:ACos:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -1.0*1/(s1**4*s2**4*(1 - 1.0*1/(s1**2*s2**2))**(3/2)) - 1.0*1/(s1**2*s2**2*sqrt(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Float:ACos:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: -1.0*1/(s1**3*s2**5*(1 - 1.0*1/(s1**2*s2**2))**(3/2)) - 2.0*1/(s1*s2**3*sqrt(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Float:ACos:Symbolic computation: Substitution::subs_psi: 1.40335
+DEAL:Float:ACos:Symbolic computation: Substitution::subs_dpsi_ds0: 0.0563436
+DEAL:Float:ACos:Symbolic computation: Substitution::subs_dpsi_ds1: 0.0845154
+DEAL:Float:ACos:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: -0.0380990
+DEAL:Float:ACos:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: -0.0289767
+DEAL:Float:ACos:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: -0.0289767
+DEAL:Float:ACos:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: -0.0857228
+DEAL:Float:ATan:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Float:ATan:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Float:ATan:Symbolic computation: Function initialisation::symb_psi: atan(1.0/(s1*s2))
+DEAL:Float:ATan:Symbolic computation: Differentiation::symb_dpsi_ds0: -1.0/(s1**2*s2*(1 + 1.0*1/(s1**2*s2**2)))
+DEAL:Float:ATan:Symbolic computation: Differentiation::symb_dpsi_ds1: -1.0/(s1*s2**2*(1 + 1.0*1/(s1**2*s2**2)))
+DEAL:Float:ATan:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: -2.0*1/(s1**5*s2**3*(1 + 1.0*1/(s1**2*s2**2))**2) + 2.0*1/(s1**3*s2*(1 + 1.0*1/(s1**2*s2**2)))
+DEAL:Float:ATan:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -2.0*1/(s1**4*s2**4*(1 + 1.0*1/(s1**2*s2**2))**2) + 1.0*1/(s1**2*s2**2*(1 + 1.0*1/(s1**2*s2**2)))
+DEAL:Float:ATan:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -2.0*1/(s1**4*s2**4*(1 + 1.0*1/(s1**2*s2**2))**2) + 1.0*1/(s1**2*s2**2*(1 + 1.0*1/(s1**2*s2**2)))
+DEAL:Float:ATan:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: -2.0*1/(s1**3*s2**5*(1 + 1.0*1/(s1**2*s2**2))**2) + 2.0*1/(s1*s2**3*(1 + 1.0*1/(s1**2*s2**2)))
+DEAL:Float:ATan:Symbolic computation: Substitution::subs_psi: 0.165149
+DEAL:Float:ATan:Symbolic computation: Substitution::subs_dpsi_ds0: -0.0540541
+DEAL:Float:ATan:Symbolic computation: Substitution::subs_dpsi_ds1: -0.0810811
+DEAL:Float:ATan:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: 0.0350621
+DEAL:Float:ATan:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: 0.0255661
+DEAL:Float:ATan:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: 0.0255661
+DEAL:Float:ATan:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: 0.0788897
+DEAL:Float:ATan2:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Float:ATan2:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Float:ATan2:Symbolic computation: Function initialisation::symb_psi: 3.0*atan2(s2, s1)
+DEAL:Float:ATan2:Symbolic computation: Differentiation::symb_dpsi_ds0: -3.0*s2/(s1**2 + s2**2)
+DEAL:Float:ATan2:Symbolic computation: Differentiation::symb_dpsi_ds1: 3.0*s1/(s1**2 + s2**2)
+DEAL:Float:ATan2:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 6.0*s1*s2/(s1**2 + s2**2)**2
+DEAL:Float:ATan2:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: 6.0*s2**2/(s1**2 + s2**2)**2 - 3.0*(s1**2 + s2**2)**(-1)
+DEAL:Float:ATan2:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -6.0*s1**2/(s1**2 + s2**2)**2 + 3.0*(s1**2 + s2**2)**(-1)
+DEAL:Float:ATan2:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: -6.0*s1*s2/(s1**2 + s2**2)**2
+DEAL:Float:ATan2:Symbolic computation: Substitution::subs_psi: 1.76401
+DEAL:Float:ATan2:Symbolic computation: Substitution::subs_dpsi_ds0: -0.461538
+DEAL:Float:ATan2:Symbolic computation: Substitution::subs_dpsi_ds1: 0.692308
+DEAL:Float:ATan2:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: 0.213018
+DEAL:Float:ATan2:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: -0.0887574
+DEAL:Float:ATan2:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: -0.0887574
+DEAL:Float:ATan2:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: -0.213018
+DEAL:Float:Sinh:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Float:Sinh:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Float:Sinh:Symbolic computation: Function initialisation::symb_psi: sinh(s2/s1)
+DEAL:Float:Sinh:Symbolic computation: Differentiation::symb_dpsi_ds0: -s2*cosh(s2/s1)/s1**2
+DEAL:Float:Sinh:Symbolic computation: Differentiation::symb_dpsi_ds1: cosh(s2/s1)/s1
+DEAL:Float:Sinh:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: s2**2*sinh(s2/s1)/s1**4 + 2*s2*cosh(s2/s1)/s1**3
+DEAL:Float:Sinh:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -cosh(s2/s1)/s1**2 - s2*sinh(s2/s1)/s1**3
+DEAL:Float:Sinh:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -cosh(s2/s1)/s1**2 - s2*sinh(s2/s1)/s1**3
+DEAL:Float:Sinh:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: sinh(s2/s1)/s1**2
+DEAL:Float:Sinh:Symbolic computation: Substitution::subs_psi: 0.717158
+DEAL:Float:Sinh:Symbolic computation: Substitution::subs_dpsi_ds0: -0.273461
+DEAL:Float:Sinh:Symbolic computation: Substitution::subs_dpsi_ds1: 0.410192
+DEAL:Float:Sinh:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: 0.217723
+DEAL:Float:Sinh:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: -0.189853
+DEAL:Float:Sinh:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: -0.189853
+DEAL:Float:Sinh:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: 0.0796843
+DEAL:Float:Cosh:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Float:Cosh:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Float:Cosh:Symbolic computation: Function initialisation::symb_psi: cosh(s2/s1)
+DEAL:Float:Cosh:Symbolic computation: Differentiation::symb_dpsi_ds0: -s2*sinh(s2/s1)/s1**2
+DEAL:Float:Cosh:Symbolic computation: Differentiation::symb_dpsi_ds1: sinh(s2/s1)/s1
+DEAL:Float:Cosh:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: s2**2*cosh(s2/s1)/s1**4 + 2*s2*sinh(s2/s1)/s1**3
+DEAL:Float:Cosh:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -sinh(s2/s1)/s1**2 - s2*cosh(s2/s1)/s1**3
+DEAL:Float:Cosh:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -sinh(s2/s1)/s1**2 - s2*cosh(s2/s1)/s1**3
+DEAL:Float:Cosh:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: cosh(s2/s1)/s1**2
+DEAL:Float:Cosh:Symbolic computation: Substitution::subs_psi: 1.23058
+DEAL:Float:Cosh:Symbolic computation: Substitution::subs_dpsi_ds0: -0.159369
+DEAL:Float:Cosh:Symbolic computation: Substitution::subs_dpsi_ds1: 0.239053
+DEAL:Float:Cosh:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: 0.167015
+DEAL:Float:Cosh:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: -0.170838
+DEAL:Float:Cosh:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: -0.170838
+DEAL:Float:Cosh:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: 0.136731
+DEAL:Float:Tanh:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Float:Tanh:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Float:Tanh:Symbolic computation: Function initialisation::symb_psi: tanh(s2/s1)
+DEAL:Float:Tanh:Symbolic computation: Differentiation::symb_dpsi_ds0: -s2*(1 - tanh(s2/s1)**2)/s1**2
+DEAL:Float:Tanh:Symbolic computation: Differentiation::symb_dpsi_ds1: (1 - tanh(s2/s1)**2)/s1
+DEAL:Float:Tanh:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 2*s2*(1 - tanh(s2/s1)**2)/s1**3 - 2*s2**2*tanh(s2/s1)*(1 - tanh(s2/s1)**2)/s1**4
+DEAL:Float:Tanh:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -(1 - tanh(s2/s1)**2)/s1**2 + 2*s2*tanh(s2/s1)*(1 - tanh(s2/s1)**2)/s1**3
+DEAL:Float:Tanh:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -(1 - tanh(s2/s1)**2)/s1**2 + 2*s2*tanh(s2/s1)*(1 - tanh(s2/s1)**2)/s1**3
+DEAL:Float:Tanh:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: -2*tanh(s2/s1)*(1 - tanh(s2/s1)**2)/s1**2
+DEAL:Float:Tanh:Symbolic computation: Substitution::subs_psi: 0.582783
+DEAL:Float:Tanh:Symbolic computation: Substitution::subs_dpsi_ds0: -0.146748
+DEAL:Float:Tanh:Symbolic computation: Substitution::subs_dpsi_ds1: 0.220121
+DEAL:Float:Tanh:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: 0.0598219
+DEAL:Float:Tanh:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: -0.0163591
+DEAL:Float:Tanh:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: -0.0163591
+DEAL:Float:Tanh:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: -0.0855220
+DEAL:Float:ASinh:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Float:ASinh:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Float:ASinh:Symbolic computation: Function initialisation::symb_psi: asinh(1.0/(s1*s2))
+DEAL:Float:ASinh:Symbolic computation: Differentiation::symb_dpsi_ds0: -1.0/(s1**2*s2*sqrt(1 + 1.0*1/(s1**2*s2**2)))
+DEAL:Float:ASinh:Symbolic computation: Differentiation::symb_dpsi_ds1: -1.0/(s1*s2**2*sqrt(1 + 1.0*1/(s1**2*s2**2)))
+DEAL:Float:ASinh:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: -1.0*1/(s1**5*s2**3*(1 + 1.0*1/(s1**2*s2**2))**(3/2)) + 2.0*1/(s1**3*s2*sqrt(1 + 1.0*1/(s1**2*s2**2)))
+DEAL:Float:ASinh:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -1.0*1/(s1**4*s2**4*(1 + 1.0*1/(s1**2*s2**2))**(3/2)) + 1.0*1/(s1**2*s2**2*sqrt(1 + 1.0*1/(s1**2*s2**2)))
+DEAL:Float:ASinh:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -1.0*1/(s1**4*s2**4*(1 + 1.0*1/(s1**2*s2**2))**(3/2)) + 1.0*1/(s1**2*s2**2*sqrt(1 + 1.0*1/(s1**2*s2**2)))
+DEAL:Float:ASinh:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: -1.0*1/(s1**3*s2**5*(1 + 1.0*1/(s1**2*s2**2))**(3/2)) + 2.0*1/(s1*s2**3*sqrt(1 + 1.0*1/(s1**2*s2**2)))
+DEAL:Float:ASinh:Symbolic computation: Substitution::subs_psi: 0.165905
+DEAL:Float:ASinh:Symbolic computation: Substitution::subs_dpsi_ds0: -0.0547997
+DEAL:Float:ASinh:Symbolic computation: Substitution::subs_dpsi_ds1: -0.0821995
+DEAL:Float:ASinh:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: 0.0360394
+DEAL:Float:ASinh:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: 0.0266593
+DEAL:Float:ASinh:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: 0.0266593
+DEAL:Float:ASinh:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: 0.0810887
+DEAL:Float:ACosh:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Float:ACosh:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Float:ACosh:Symbolic computation: Function initialisation::symb_psi: acosh(s1*s2)
+DEAL:Float:ACosh:Symbolic computation: Differentiation::symb_dpsi_ds0: s2/sqrt(-1 + s1**2*s2**2)
+DEAL:Float:ACosh:Symbolic computation: Differentiation::symb_dpsi_ds1: s1/sqrt(-1 + s1**2*s2**2)
+DEAL:Float:ACosh:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: -s1*s2**3/(-1 + s1**2*s2**2)**(3/2)
+DEAL:Float:ACosh:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -s1**2*s2**2/(-1 + s1**2*s2**2)**(3/2) + (-1 + s1**2*s2**2)**(-1/2)
+DEAL:Float:ACosh:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -s1**2*s2**2/(-1 + s1**2*s2**2)**(3/2) + (-1 + s1**2*s2**2)**(-1/2)
+DEAL:Float:ACosh:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: -s1**3*s2/(-1 + s1**2*s2**2)**(3/2)
+DEAL:Float:ACosh:Symbolic computation: Substitution::subs_psi: 2.47789
+DEAL:Float:ACosh:Symbolic computation: Substitution::subs_dpsi_ds0: 0.338062
+DEAL:Float:ACosh:Symbolic computation: Substitution::subs_dpsi_ds1: 0.507093
+DEAL:Float:ACosh:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: -0.115907
+DEAL:Float:ACosh:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: -0.00482945
+DEAL:Float:ACosh:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: -0.00482945
+DEAL:Float:ACosh:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: -0.260790
+DEAL:Float:ATanh:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Float:ATanh:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Float:ATanh:Symbolic computation: Function initialisation::symb_psi: atanh(1.0/(s1*s2))
+DEAL:Float:ATanh:Symbolic computation: Differentiation::symb_dpsi_ds0: -1.0/(s1**2*s2*(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Float:ATanh:Symbolic computation: Differentiation::symb_dpsi_ds1: -1.0/(s1*s2**2*(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Float:ATanh:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 2.0*1/(s1**5*s2**3*(1 - 1.0*1/(s1**2*s2**2))**2) + 2.0*1/(s1**3*s2*(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Float:ATanh:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: 2.0*1/(s1**4*s2**4*(1 - 1.0*1/(s1**2*s2**2))**2) + 1.0*1/(s1**2*s2**2*(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Float:ATanh:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: 2.0*1/(s1**4*s2**4*(1 - 1.0*1/(s1**2*s2**2))**2) + 1.0*1/(s1**2*s2**2*(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Float:ATanh:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: 2.0*1/(s1**3*s2**5*(1 - 1.0*1/(s1**2*s2**2))**2) + 2.0*1/(s1*s2**3*(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Float:ATanh:Symbolic computation: Substitution::subs_psi: 0.168236
+DEAL:Float:ATanh:Symbolic computation: Substitution::subs_dpsi_ds0: -0.0571429
+DEAL:Float:ATanh:Symbolic computation: Substitution::subs_dpsi_ds1: -0.0857143
+DEAL:Float:ATanh:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: 0.0391837
+DEAL:Float:ATanh:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: 0.0302041
+DEAL:Float:ATanh:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: 0.0302041
+DEAL:Float:ATanh:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: 0.0881633
+DEAL:Float:Erf:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Float:Erf:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Float:Erf:Symbolic computation: Function initialisation::symb_psi: s1**2*erf(s2)
+DEAL:Float:Erf:Symbolic computation: Differentiation::symb_dpsi_ds0: 2*s1*erf(s2)
+DEAL:Float:Erf:Symbolic computation: Differentiation::symb_dpsi_ds1: 2*exp(-s2**2)*s1**2/sqrt(pi)
+DEAL:Float:Erf:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 2*erf(s2)
+DEAL:Float:Erf:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: 4*exp(-s2**2)*s1/sqrt(pi)
+DEAL:Float:Erf:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: 4*exp(-s2**2)*s1/sqrt(pi)
+DEAL:Float:Erf:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: -4*exp(-s2**2)*s1**2*s2/sqrt(pi)
+DEAL:Float:Erf:Symbolic computation: Substitution::subs_psi: 8.95790
+DEAL:Float:Erf:Symbolic computation: Substitution::subs_dpsi_ds0: 5.97193
+DEAL:Float:Erf:Symbolic computation: Substitution::subs_dpsi_ds1: 0.186003
+DEAL:Float:Erf:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: 1.99064
+DEAL:Float:Erf:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: 0.124002
+DEAL:Float:Erf:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: 0.124002
+DEAL:Float:Erf:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: -0.744011
+DEAL:Float:Erfc:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Float:Erfc:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Float:Erfc:Symbolic computation: Function initialisation::symb_psi: s1**2*erfc(s2)
+DEAL:Float:Erfc:Symbolic computation: Differentiation::symb_dpsi_ds0: 2*s1*erfc(s2)
+DEAL:Float:Erfc:Symbolic computation: Differentiation::symb_dpsi_ds1: -2*exp(-s2**2)*s1**2/sqrt(pi)
+DEAL:Float:Erfc:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 2*erfc(s2)
+DEAL:Float:Erfc:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -4*exp(-s2**2)*s1/sqrt(pi)
+DEAL:Float:Erfc:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -4*exp(-s2**2)*s1/sqrt(pi)
+DEAL:Float:Erfc:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: 4*exp(-s2**2)*s1**2*s2/sqrt(pi)
+DEAL:Float:Erfc:Symbolic computation: Substitution::subs_psi: 0.0420996
+DEAL:Float:Erfc:Symbolic computation: Substitution::subs_dpsi_ds0: 0.0280664
+DEAL:Float:Erfc:Symbolic computation: Substitution::subs_dpsi_ds1: -0.186003
+DEAL:Float:Erfc:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: 0.00935547
+DEAL:Float:Erfc:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: -0.124002
+DEAL:Float:Erfc:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: -0.124002
+DEAL:Float:Erfc:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: 0.744011
+DEAL:Float::OK
+DEAL:Double:Add:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Double:Add:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Double:Add:Symbolic computation: Function initialisation::symb_psi: (s1 + s2)**2
+DEAL:Double:Add:Symbolic computation: Differentiation::symb_dpsi_ds0: 2*(s1 + s2)
+DEAL:Double:Add:Symbolic computation: Differentiation::symb_dpsi_ds1: 2*(s1 + s2)
+DEAL:Double:Add:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 2
+DEAL:Double:Add:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: 2
+DEAL:Double:Add:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: 2
+DEAL:Double:Add:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: 2
+DEAL:Double:Add:Symbolic computation: Substitution::subs_psi: 25.0000
+DEAL:Double:Add:Symbolic computation: Substitution::subs_dpsi_ds0: 10.0000
+DEAL:Double:Add:Symbolic computation: Substitution::subs_dpsi_ds1: 10.0000
+DEAL:Double:Add:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: 2.00000
+DEAL:Double:Add:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: 2.00000
+DEAL:Double:Add:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: 2.00000
+DEAL:Double:Add:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: 2.00000
+DEAL:Double:Subtract:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Double:Subtract:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Double:Subtract:Symbolic computation: Function initialisation::symb_psi: (s1 - s2)**2
+DEAL:Double:Subtract:Symbolic computation: Differentiation::symb_dpsi_ds0: 2*(s1 - s2)
+DEAL:Double:Subtract:Symbolic computation: Differentiation::symb_dpsi_ds1: -2*(s1 - s2)
+DEAL:Double:Subtract:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 2
+DEAL:Double:Subtract:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -2
+DEAL:Double:Subtract:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -2
+DEAL:Double:Subtract:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: 2
+DEAL:Double:Subtract:Symbolic computation: Substitution::subs_psi: 1.00000
+DEAL:Double:Subtract:Symbolic computation: Substitution::subs_dpsi_ds0: 2.00000
+DEAL:Double:Subtract:Symbolic computation: Substitution::subs_dpsi_ds1: -2.00000
+DEAL:Double:Subtract:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: 2.00000
+DEAL:Double:Subtract:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: -2.00000
+DEAL:Double:Subtract:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: -2.00000
+DEAL:Double:Subtract:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: 2.00000
+DEAL:Double:Multiply:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Double:Multiply:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Double:Multiply:Symbolic computation: Function initialisation::symb_psi: s1**2*s2**2
+DEAL:Double:Multiply:Symbolic computation: Differentiation::symb_dpsi_ds0: 2*s1*s2**2
+DEAL:Double:Multiply:Symbolic computation: Differentiation::symb_dpsi_ds1: 2*s1**2*s2
+DEAL:Double:Multiply:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 2*s2**2
+DEAL:Double:Multiply:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: 4*s1*s2
+DEAL:Double:Multiply:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: 4*s1*s2
+DEAL:Double:Multiply:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: 2*s1**2
+DEAL:Double:Multiply:Symbolic computation: Substitution::subs_psi: 36.0000
+DEAL:Double:Multiply:Symbolic computation: Substitution::subs_dpsi_ds0: 24.0000
+DEAL:Double:Multiply:Symbolic computation: Substitution::subs_dpsi_ds1: 36.0000
+DEAL:Double:Multiply:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: 8.00000
+DEAL:Double:Multiply:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: 24.0000
+DEAL:Double:Multiply:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: 24.0000
+DEAL:Double:Multiply:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: 18.0000
+DEAL:Double:Divide:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Double:Divide:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Double:Divide:Symbolic computation: Function initialisation::symb_psi: s1**2/s2**2
+DEAL:Double:Divide:Symbolic computation: Differentiation::symb_dpsi_ds0: 2*s1/s2**2
+DEAL:Double:Divide:Symbolic computation: Differentiation::symb_dpsi_ds1: -2*s1**2/s2**3
+DEAL:Double:Divide:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 2/s2**2
+DEAL:Double:Divide:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -4*s1/s2**3
+DEAL:Double:Divide:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -4*s1/s2**3
+DEAL:Double:Divide:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: 6*s1**2/s2**4
+DEAL:Double:Divide:Symbolic computation: Substitution::subs_psi: 2.25000
+DEAL:Double:Divide:Symbolic computation: Substitution::subs_dpsi_ds0: 1.50000
+DEAL:Double:Divide:Symbolic computation: Substitution::subs_dpsi_ds1: -2.25000
+DEAL:Double:Divide:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: 0.500000
+DEAL:Double:Divide:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: -1.50000
+DEAL:Double:Divide:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: -1.50000
+DEAL:Double:Divide:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: 3.37500
+DEAL:Double:Power:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Double:Power:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Double:Power:Symbolic computation: Function initialisation::symb_psi: 2.0*s1**s2
+DEAL:Double:Power:Symbolic computation: Differentiation::symb_dpsi_ds0: 2.0*s1**(-1 + s2)*s2
+DEAL:Double:Power:Symbolic computation: Differentiation::symb_dpsi_ds1: 2.0*s1**s2*log(s1)
+DEAL:Double:Power:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 2.0*s1**(-2 + s2)*s2*(-1 + s2)
+DEAL:Double:Power:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: 2.0*s1**(-1 + s2)*s2*log(s1) + 2.0*s1**(-1 + s2)
+DEAL:Double:Power:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: 2.0*s1**(-1 + s2)*s2*log(s1) + 2.0*s1**(-1 + s2)
+DEAL:Double:Power:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: 2.0*s1**s2*log(s1)**2
+DEAL:Double:Power:Symbolic computation: Substitution::subs_psi: 18.0000
+DEAL:Double:Power:Symbolic computation: Substitution::subs_dpsi_ds0: 12.0000
+DEAL:Double:Power:Symbolic computation: Substitution::subs_dpsi_ds1: 19.7750
+DEAL:Double:Power:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: 4.00000
+DEAL:Double:Power:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: 19.1833
+DEAL:Double:Power:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: 19.1833
+DEAL:Double:Power:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: 21.7251
+DEAL:Double:Sqrt:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Double:Sqrt:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Double:Sqrt:Symbolic computation: Function initialisation::symb_psi: 2.0*sqrt(s1*s2)
+DEAL:Double:Sqrt:Symbolic computation: Differentiation::symb_dpsi_ds0: 1.0*s2/sqrt(s1*s2)
+DEAL:Double:Sqrt:Symbolic computation: Differentiation::symb_dpsi_ds1: 1.0*s1/sqrt(s1*s2)
+DEAL:Double:Sqrt:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: -0.5*s2**2/(s1*s2)**(3/2)
+DEAL:Double:Sqrt:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -0.5*s1*s2/(s1*s2)**(3/2) + 1.0*(s1*s2)**(-1/2)
+DEAL:Double:Sqrt:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -0.5*s1*s2/(s1*s2)**(3/2) + 1.0*(s1*s2)**(-1/2)
+DEAL:Double:Sqrt:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: -0.5*s1**2/(s1*s2)**(3/2)
+DEAL:Double:Sqrt:Symbolic computation: Substitution::subs_psi: 4.89898
+DEAL:Double:Sqrt:Symbolic computation: Substitution::subs_dpsi_ds0: 0.816497
+DEAL:Double:Sqrt:Symbolic computation: Substitution::subs_dpsi_ds1: 1.22474
+DEAL:Double:Sqrt:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: -0.136083
+DEAL:Double:Sqrt:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: 0.204124
+DEAL:Double:Sqrt:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: 0.204124
+DEAL:Double:Sqrt:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: -0.306186
+DEAL:Double:Exponential:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Double:Exponential:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Double:Exponential:Symbolic computation: Function initialisation::symb_psi: exp(s2)*s1**2
+DEAL:Double:Exponential:Symbolic computation: Differentiation::symb_dpsi_ds0: 2*exp(s2)*s1
+DEAL:Double:Exponential:Symbolic computation: Differentiation::symb_dpsi_ds1: exp(s2)*s1**2
+DEAL:Double:Exponential:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 2*exp(s2)
+DEAL:Double:Exponential:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: 2*exp(s2)*s1
+DEAL:Double:Exponential:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: 2*exp(s2)*s1
+DEAL:Double:Exponential:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: exp(s2)*s1**2
+DEAL:Double:Exponential:Symbolic computation: Substitution::subs_psi: 66.5015
+DEAL:Double:Exponential:Symbolic computation: Substitution::subs_dpsi_ds0: 44.3343
+DEAL:Double:Exponential:Symbolic computation: Substitution::subs_dpsi_ds1: 66.5015
+DEAL:Double:Exponential:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: 14.7781
+DEAL:Double:Exponential:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: 44.3343
+DEAL:Double:Exponential:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: 44.3343
+DEAL:Double:Exponential:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: 66.5015
+DEAL:Double:Logarithm:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Double:Logarithm:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Double:Logarithm:Symbolic computation: Function initialisation::symb_psi: s1**2*log(s2)
+DEAL:Double:Logarithm:Symbolic computation: Differentiation::symb_dpsi_ds0: 2*s1*log(s2)
+DEAL:Double:Logarithm:Symbolic computation: Differentiation::symb_dpsi_ds1: s1**2/s2
+DEAL:Double:Logarithm:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 2*log(s2)
+DEAL:Double:Logarithm:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: 2*s1/s2
+DEAL:Double:Logarithm:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: 2*s1/s2
+DEAL:Double:Logarithm:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: -s1**2/s2**2
+DEAL:Double:Logarithm:Symbolic computation: Substitution::subs_psi: 6.23832
+DEAL:Double:Logarithm:Symbolic computation: Substitution::subs_dpsi_ds0: 4.15888
+DEAL:Double:Logarithm:Symbolic computation: Substitution::subs_dpsi_ds1: 4.50000
+DEAL:Double:Logarithm:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: 1.38629
+DEAL:Double:Logarithm:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: 3.00000
+DEAL:Double:Logarithm:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: 3.00000
+DEAL:Double:Logarithm:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: -2.25000
+DEAL:Double:Logarithm with Base:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Double:Logarithm with Base:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Double:Logarithm with Base:Symbolic computation: Function initialisation::symb_psi: log(s2)/log(s1)
+DEAL:Double:Logarithm with Base:Symbolic computation: Differentiation::symb_dpsi_ds0: -log(s2)/(s1*log(s1)**2)
+DEAL:Double:Logarithm with Base:Symbolic computation: Differentiation::symb_dpsi_ds1: 1/(s2*log(s1))
+DEAL:Double:Logarithm with Base:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 2*log(s2)/(s1**2*log(s1)**3) + log(s2)/(s1**2*log(s1)**2)
+DEAL:Double:Logarithm with Base:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -1/(s1*s2*log(s1)**2)
+DEAL:Double:Logarithm with Base:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -1/(s1*s2*log(s1)**2)
+DEAL:Double:Logarithm with Base:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: -1/(s2**2*log(s1))
+DEAL:Double:Logarithm with Base:Symbolic computation: Substitution::subs_psi: 0.630930
+DEAL:Double:Logarithm with Base:Symbolic computation: Substitution::subs_dpsi_ds0: -0.191432
+DEAL:Double:Logarithm with Base:Symbolic computation: Substitution::subs_dpsi_ds1: 0.455120
+DEAL:Double:Logarithm with Base:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: 0.179977
+DEAL:Double:Logarithm with Base:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: -0.138089
+DEAL:Double:Logarithm with Base:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: -0.138089
+DEAL:Double:Logarithm with Base:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: -0.227560
+DEAL:Double:Logarithm base 10:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Double:Logarithm base 10:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Double:Logarithm base 10:Symbolic computation: Function initialisation::symb_psi: 0.434294481903252*s1**2*log(s2)
+DEAL:Double:Logarithm base 10:Symbolic computation: Differentiation::symb_dpsi_ds0: 0.868588963806504*s1*log(s2)
+DEAL:Double:Logarithm base 10:Symbolic computation: Differentiation::symb_dpsi_ds1: 0.434294481903252*s1**2/s2
+DEAL:Double:Logarithm base 10:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 0.868588963806504*log(s2)
+DEAL:Double:Logarithm base 10:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: 0.868588963806504*s1/s2
+DEAL:Double:Logarithm base 10:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: 0.868588963806504*s1/s2
+DEAL:Double:Logarithm base 10:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: -0.434294481903252*s1**2/s2**2
+DEAL:Double:Logarithm base 10:Symbolic computation: Substitution::subs_psi: 2.70927
+DEAL:Double:Logarithm base 10:Symbolic computation: Substitution::subs_dpsi_ds0: 1.80618
+DEAL:Double:Logarithm base 10:Symbolic computation: Substitution::subs_dpsi_ds1: 1.95433
+DEAL:Double:Logarithm base 10:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: 0.602060
+DEAL:Double:Logarithm base 10:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: 1.30288
+DEAL:Double:Logarithm base 10:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: 1.30288
+DEAL:Double:Logarithm base 10:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: -0.977163
+DEAL:Double:Sin:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Double:Sin:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Double:Sin:Symbolic computation: Function initialisation::symb_psi: sin(s2/s1)
+DEAL:Double:Sin:Symbolic computation: Differentiation::symb_dpsi_ds0: -s2*cos(s2/s1)/s1**2
+DEAL:Double:Sin:Symbolic computation: Differentiation::symb_dpsi_ds1: cos(s2/s1)/s1
+DEAL:Double:Sin:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: -s2**2*sin(s2/s1)/s1**4 + 2*s2*cos(s2/s1)/s1**3
+DEAL:Double:Sin:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -cos(s2/s1)/s1**2 + s2*sin(s2/s1)/s1**3
+DEAL:Double:Sin:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -cos(s2/s1)/s1**2 + s2*sin(s2/s1)/s1**3
+DEAL:Double:Sin:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: -sin(s2/s1)/s1**2
+DEAL:Double:Sin:Symbolic computation: Substitution::subs_psi: 0.618370
+DEAL:Double:Sin:Symbolic computation: Substitution::subs_dpsi_ds0: -0.174642
+DEAL:Double:Sin:Symbolic computation: Substitution::subs_dpsi_ds1: 0.261962
+DEAL:Double:Sin:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: 0.0858910
+DEAL:Double:Sin:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: -0.0415156
+DEAL:Double:Sin:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: -0.0415156
+DEAL:Double:Sin:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: -0.0687078
+DEAL:Double:Cos:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Double:Cos:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Double:Cos:Symbolic computation: Function initialisation::symb_psi: cos(s2/s1)
+DEAL:Double:Cos:Symbolic computation: Differentiation::symb_dpsi_ds0: s2*sin(s2/s1)/s1**2
+DEAL:Double:Cos:Symbolic computation: Differentiation::symb_dpsi_ds1: -sin(s2/s1)/s1
+DEAL:Double:Cos:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: -s2**2*cos(s2/s1)/s1**4 - 2*s2*sin(s2/s1)/s1**3
+DEAL:Double:Cos:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: sin(s2/s1)/s1**2 + s2*cos(s2/s1)/s1**3
+DEAL:Double:Cos:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: sin(s2/s1)/s1**2 + s2*cos(s2/s1)/s1**3
+DEAL:Double:Cos:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: -cos(s2/s1)/s1**2
+DEAL:Double:Cos:Symbolic computation: Substitution::subs_psi: 0.785887
+DEAL:Double:Cos:Symbolic computation: Substitution::subs_dpsi_ds0: 0.137416
+DEAL:Double:Cos:Symbolic computation: Substitution::subs_dpsi_ds1: -0.206123
+DEAL:Double:Cos:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: -0.130420
+DEAL:Double:Cos:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: 0.126922
+DEAL:Double:Cos:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: 0.126922
+DEAL:Double:Cos:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: -0.0873208
+DEAL:Double:Tan:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Double:Tan:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Double:Tan:Symbolic computation: Function initialisation::symb_psi: tan(s2/s1)
+DEAL:Double:Tan:Symbolic computation: Differentiation::symb_dpsi_ds0: -s2*(1 + tan(s2/s1)**2)/s1**2
+DEAL:Double:Tan:Symbolic computation: Differentiation::symb_dpsi_ds1: (1 + tan(s2/s1)**2)/s1
+DEAL:Double:Tan:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 2*s2*(1 + tan(s2/s1)**2)/s1**3 + 2*s2**2*tan(s2/s1)*(1 + tan(s2/s1)**2)/s1**4
+DEAL:Double:Tan:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -(1 + tan(s2/s1)**2)/s1**2 - 2*s2*tan(s2/s1)*(1 + tan(s2/s1)**2)/s1**3
+DEAL:Double:Tan:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -(1 + tan(s2/s1)**2)/s1**2 - 2*s2*tan(s2/s1)*(1 + tan(s2/s1)**2)/s1**3
+DEAL:Double:Tan:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: 2*tan(s2/s1)*(1 + tan(s2/s1)**2)/s1**2
+DEAL:Double:Tan:Symbolic computation: Substitution::subs_psi: 0.786843
+DEAL:Double:Tan:Symbolic computation: Substitution::subs_dpsi_ds0: -0.359805
+DEAL:Double:Tan:Symbolic computation: Substitution::subs_dpsi_ds1: 0.539707
+DEAL:Double:Tan:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: 0.365696
+DEAL:Double:Tan:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: -0.368642
+DEAL:Double:Tan:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: -0.368642
+DEAL:Double:Tan:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: 0.283110
+DEAL:Double:ASin:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Double:ASin:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Double:ASin:Symbolic computation: Function initialisation::symb_psi: asin(1.0/(s1*s2))
+DEAL:Double:ASin:Symbolic computation: Differentiation::symb_dpsi_ds0: -1.0/(s1**2*s2*sqrt(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Double:ASin:Symbolic computation: Differentiation::symb_dpsi_ds1: -1.0/(s1*s2**2*sqrt(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Double:ASin:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 1.0*1/(s1**5*s2**3*(1 - 1.0*1/(s1**2*s2**2))**(3/2)) + 2.0*1/(s1**3*s2*sqrt(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Double:ASin:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: 1.0*1/(s1**4*s2**4*(1 - 1.0*1/(s1**2*s2**2))**(3/2)) + 1.0*1/(s1**2*s2**2*sqrt(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Double:ASin:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: 1.0*1/(s1**4*s2**4*(1 - 1.0*1/(s1**2*s2**2))**(3/2)) + 1.0*1/(s1**2*s2**2*sqrt(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Double:ASin:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: 1.0*1/(s1**3*s2**5*(1 - 1.0*1/(s1**2*s2**2))**(3/2)) + 2.0*1/(s1*s2**3*sqrt(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Double:ASin:Symbolic computation: Substitution::subs_psi: 0.167448
+DEAL:Double:ASin:Symbolic computation: Substitution::subs_dpsi_ds0: -0.0563436
+DEAL:Double:ASin:Symbolic computation: Substitution::subs_dpsi_ds1: -0.0845154
+DEAL:Double:ASin:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: 0.0380990
+DEAL:Double:ASin:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: 0.0289767
+DEAL:Double:ASin:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: 0.0289767
+DEAL:Double:ASin:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: 0.0857228
+DEAL:Double:ACos:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Double:ACos:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Double:ACos:Symbolic computation: Function initialisation::symb_psi: acos(1.0/(s1*s2))
+DEAL:Double:ACos:Symbolic computation: Differentiation::symb_dpsi_ds0: 1.0/(s1**2*s2*sqrt(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Double:ACos:Symbolic computation: Differentiation::symb_dpsi_ds1: 1.0/(s1*s2**2*sqrt(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Double:ACos:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: -1.0*1/(s1**5*s2**3*(1 - 1.0*1/(s1**2*s2**2))**(3/2)) - 2.0*1/(s1**3*s2*sqrt(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Double:ACos:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -1.0*1/(s1**4*s2**4*(1 - 1.0*1/(s1**2*s2**2))**(3/2)) - 1.0*1/(s1**2*s2**2*sqrt(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Double:ACos:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -1.0*1/(s1**4*s2**4*(1 - 1.0*1/(s1**2*s2**2))**(3/2)) - 1.0*1/(s1**2*s2**2*sqrt(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Double:ACos:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: -1.0*1/(s1**3*s2**5*(1 - 1.0*1/(s1**2*s2**2))**(3/2)) - 2.0*1/(s1*s2**3*sqrt(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Double:ACos:Symbolic computation: Substitution::subs_psi: 1.40335
+DEAL:Double:ACos:Symbolic computation: Substitution::subs_dpsi_ds0: 0.0563436
+DEAL:Double:ACos:Symbolic computation: Substitution::subs_dpsi_ds1: 0.0845154
+DEAL:Double:ACos:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: -0.0380990
+DEAL:Double:ACos:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: -0.0289767
+DEAL:Double:ACos:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: -0.0289767
+DEAL:Double:ACos:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: -0.0857228
+DEAL:Double:ATan:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Double:ATan:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Double:ATan:Symbolic computation: Function initialisation::symb_psi: atan(1.0/(s1*s2))
+DEAL:Double:ATan:Symbolic computation: Differentiation::symb_dpsi_ds0: -1.0/(s1**2*s2*(1 + 1.0*1/(s1**2*s2**2)))
+DEAL:Double:ATan:Symbolic computation: Differentiation::symb_dpsi_ds1: -1.0/(s1*s2**2*(1 + 1.0*1/(s1**2*s2**2)))
+DEAL:Double:ATan:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: -2.0*1/(s1**5*s2**3*(1 + 1.0*1/(s1**2*s2**2))**2) + 2.0*1/(s1**3*s2*(1 + 1.0*1/(s1**2*s2**2)))
+DEAL:Double:ATan:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -2.0*1/(s1**4*s2**4*(1 + 1.0*1/(s1**2*s2**2))**2) + 1.0*1/(s1**2*s2**2*(1 + 1.0*1/(s1**2*s2**2)))
+DEAL:Double:ATan:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -2.0*1/(s1**4*s2**4*(1 + 1.0*1/(s1**2*s2**2))**2) + 1.0*1/(s1**2*s2**2*(1 + 1.0*1/(s1**2*s2**2)))
+DEAL:Double:ATan:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: -2.0*1/(s1**3*s2**5*(1 + 1.0*1/(s1**2*s2**2))**2) + 2.0*1/(s1*s2**3*(1 + 1.0*1/(s1**2*s2**2)))
+DEAL:Double:ATan:Symbolic computation: Substitution::subs_psi: 0.165149
+DEAL:Double:ATan:Symbolic computation: Substitution::subs_dpsi_ds0: -0.0540541
+DEAL:Double:ATan:Symbolic computation: Substitution::subs_dpsi_ds1: -0.0810811
+DEAL:Double:ATan:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: 0.0350621
+DEAL:Double:ATan:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: 0.0255661
+DEAL:Double:ATan:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: 0.0255661
+DEAL:Double:ATan:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: 0.0788897
+DEAL:Double:ATan2:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Double:ATan2:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Double:ATan2:Symbolic computation: Function initialisation::symb_psi: 3.0*atan2(s2, s1)
+DEAL:Double:ATan2:Symbolic computation: Differentiation::symb_dpsi_ds0: -3.0*s2/(s1**2 + s2**2)
+DEAL:Double:ATan2:Symbolic computation: Differentiation::symb_dpsi_ds1: 3.0*s1/(s1**2 + s2**2)
+DEAL:Double:ATan2:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 6.0*s1*s2/(s1**2 + s2**2)**2
+DEAL:Double:ATan2:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: 6.0*s2**2/(s1**2 + s2**2)**2 - 3.0*(s1**2 + s2**2)**(-1)
+DEAL:Double:ATan2:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -6.0*s1**2/(s1**2 + s2**2)**2 + 3.0*(s1**2 + s2**2)**(-1)
+DEAL:Double:ATan2:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: -6.0*s1*s2/(s1**2 + s2**2)**2
+DEAL:Double:ATan2:Symbolic computation: Substitution::subs_psi: 1.76401
+DEAL:Double:ATan2:Symbolic computation: Substitution::subs_dpsi_ds0: -0.461538
+DEAL:Double:ATan2:Symbolic computation: Substitution::subs_dpsi_ds1: 0.692308
+DEAL:Double:ATan2:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: 0.213018
+DEAL:Double:ATan2:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: -0.0887574
+DEAL:Double:ATan2:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: -0.0887574
+DEAL:Double:ATan2:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: -0.213018
+DEAL:Double:Sinh:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Double:Sinh:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Double:Sinh:Symbolic computation: Function initialisation::symb_psi: sinh(s2/s1)
+DEAL:Double:Sinh:Symbolic computation: Differentiation::symb_dpsi_ds0: -s2*cosh(s2/s1)/s1**2
+DEAL:Double:Sinh:Symbolic computation: Differentiation::symb_dpsi_ds1: cosh(s2/s1)/s1
+DEAL:Double:Sinh:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: s2**2*sinh(s2/s1)/s1**4 + 2*s2*cosh(s2/s1)/s1**3
+DEAL:Double:Sinh:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -cosh(s2/s1)/s1**2 - s2*sinh(s2/s1)/s1**3
+DEAL:Double:Sinh:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -cosh(s2/s1)/s1**2 - s2*sinh(s2/s1)/s1**3
+DEAL:Double:Sinh:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: sinh(s2/s1)/s1**2
+DEAL:Double:Sinh:Symbolic computation: Substitution::subs_psi: 0.717158
+DEAL:Double:Sinh:Symbolic computation: Substitution::subs_dpsi_ds0: -0.273461
+DEAL:Double:Sinh:Symbolic computation: Substitution::subs_dpsi_ds1: 0.410192
+DEAL:Double:Sinh:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: 0.217723
+DEAL:Double:Sinh:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: -0.189853
+DEAL:Double:Sinh:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: -0.189853
+DEAL:Double:Sinh:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: 0.0796843
+DEAL:Double:Cosh:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Double:Cosh:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Double:Cosh:Symbolic computation: Function initialisation::symb_psi: cosh(s2/s1)
+DEAL:Double:Cosh:Symbolic computation: Differentiation::symb_dpsi_ds0: -s2*sinh(s2/s1)/s1**2
+DEAL:Double:Cosh:Symbolic computation: Differentiation::symb_dpsi_ds1: sinh(s2/s1)/s1
+DEAL:Double:Cosh:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: s2**2*cosh(s2/s1)/s1**4 + 2*s2*sinh(s2/s1)/s1**3
+DEAL:Double:Cosh:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -sinh(s2/s1)/s1**2 - s2*cosh(s2/s1)/s1**3
+DEAL:Double:Cosh:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -sinh(s2/s1)/s1**2 - s2*cosh(s2/s1)/s1**3
+DEAL:Double:Cosh:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: cosh(s2/s1)/s1**2
+DEAL:Double:Cosh:Symbolic computation: Substitution::subs_psi: 1.23058
+DEAL:Double:Cosh:Symbolic computation: Substitution::subs_dpsi_ds0: -0.159369
+DEAL:Double:Cosh:Symbolic computation: Substitution::subs_dpsi_ds1: 0.239053
+DEAL:Double:Cosh:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: 0.167015
+DEAL:Double:Cosh:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: -0.170838
+DEAL:Double:Cosh:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: -0.170838
+DEAL:Double:Cosh:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: 0.136731
+DEAL:Double:Tanh:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Double:Tanh:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Double:Tanh:Symbolic computation: Function initialisation::symb_psi: tanh(s2/s1)
+DEAL:Double:Tanh:Symbolic computation: Differentiation::symb_dpsi_ds0: -s2*(1 - tanh(s2/s1)**2)/s1**2
+DEAL:Double:Tanh:Symbolic computation: Differentiation::symb_dpsi_ds1: (1 - tanh(s2/s1)**2)/s1
+DEAL:Double:Tanh:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 2*s2*(1 - tanh(s2/s1)**2)/s1**3 - 2*s2**2*tanh(s2/s1)*(1 - tanh(s2/s1)**2)/s1**4
+DEAL:Double:Tanh:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -(1 - tanh(s2/s1)**2)/s1**2 + 2*s2*tanh(s2/s1)*(1 - tanh(s2/s1)**2)/s1**3
+DEAL:Double:Tanh:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -(1 - tanh(s2/s1)**2)/s1**2 + 2*s2*tanh(s2/s1)*(1 - tanh(s2/s1)**2)/s1**3
+DEAL:Double:Tanh:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: -2*tanh(s2/s1)*(1 - tanh(s2/s1)**2)/s1**2
+DEAL:Double:Tanh:Symbolic computation: Substitution::subs_psi: 0.582783
+DEAL:Double:Tanh:Symbolic computation: Substitution::subs_dpsi_ds0: -0.146748
+DEAL:Double:Tanh:Symbolic computation: Substitution::subs_dpsi_ds1: 0.220121
+DEAL:Double:Tanh:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: 0.0598219
+DEAL:Double:Tanh:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: -0.0163591
+DEAL:Double:Tanh:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: -0.0163591
+DEAL:Double:Tanh:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: -0.0855220
+DEAL:Double:ASinh:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Double:ASinh:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Double:ASinh:Symbolic computation: Function initialisation::symb_psi: asinh(1.0/(s1*s2))
+DEAL:Double:ASinh:Symbolic computation: Differentiation::symb_dpsi_ds0: -1.0/(s1**2*s2*sqrt(1 + 1.0*1/(s1**2*s2**2)))
+DEAL:Double:ASinh:Symbolic computation: Differentiation::symb_dpsi_ds1: -1.0/(s1*s2**2*sqrt(1 + 1.0*1/(s1**2*s2**2)))
+DEAL:Double:ASinh:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: -1.0*1/(s1**5*s2**3*(1 + 1.0*1/(s1**2*s2**2))**(3/2)) + 2.0*1/(s1**3*s2*sqrt(1 + 1.0*1/(s1**2*s2**2)))
+DEAL:Double:ASinh:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -1.0*1/(s1**4*s2**4*(1 + 1.0*1/(s1**2*s2**2))**(3/2)) + 1.0*1/(s1**2*s2**2*sqrt(1 + 1.0*1/(s1**2*s2**2)))
+DEAL:Double:ASinh:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -1.0*1/(s1**4*s2**4*(1 + 1.0*1/(s1**2*s2**2))**(3/2)) + 1.0*1/(s1**2*s2**2*sqrt(1 + 1.0*1/(s1**2*s2**2)))
+DEAL:Double:ASinh:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: -1.0*1/(s1**3*s2**5*(1 + 1.0*1/(s1**2*s2**2))**(3/2)) + 2.0*1/(s1*s2**3*sqrt(1 + 1.0*1/(s1**2*s2**2)))
+DEAL:Double:ASinh:Symbolic computation: Substitution::subs_psi: 0.165905
+DEAL:Double:ASinh:Symbolic computation: Substitution::subs_dpsi_ds0: -0.0547997
+DEAL:Double:ASinh:Symbolic computation: Substitution::subs_dpsi_ds1: -0.0821995
+DEAL:Double:ASinh:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: 0.0360394
+DEAL:Double:ASinh:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: 0.0266593
+DEAL:Double:ASinh:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: 0.0266593
+DEAL:Double:ASinh:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: 0.0810887
+DEAL:Double:ACosh:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Double:ACosh:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Double:ACosh:Symbolic computation: Function initialisation::symb_psi: acosh(s1*s2)
+DEAL:Double:ACosh:Symbolic computation: Differentiation::symb_dpsi_ds0: s2/sqrt(-1 + s1**2*s2**2)
+DEAL:Double:ACosh:Symbolic computation: Differentiation::symb_dpsi_ds1: s1/sqrt(-1 + s1**2*s2**2)
+DEAL:Double:ACosh:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: -s1*s2**3/(-1 + s1**2*s2**2)**(3/2)
+DEAL:Double:ACosh:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -s1**2*s2**2/(-1 + s1**2*s2**2)**(3/2) + (-1 + s1**2*s2**2)**(-1/2)
+DEAL:Double:ACosh:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -s1**2*s2**2/(-1 + s1**2*s2**2)**(3/2) + (-1 + s1**2*s2**2)**(-1/2)
+DEAL:Double:ACosh:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: -s1**3*s2/(-1 + s1**2*s2**2)**(3/2)
+DEAL:Double:ACosh:Symbolic computation: Substitution::subs_psi: 2.47789
+DEAL:Double:ACosh:Symbolic computation: Substitution::subs_dpsi_ds0: 0.338062
+DEAL:Double:ACosh:Symbolic computation: Substitution::subs_dpsi_ds1: 0.507093
+DEAL:Double:ACosh:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: -0.115907
+DEAL:Double:ACosh:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: -0.00482945
+DEAL:Double:ACosh:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: -0.00482945
+DEAL:Double:ACosh:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: -0.260790
+DEAL:Double:ATanh:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Double:ATanh:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Double:ATanh:Symbolic computation: Function initialisation::symb_psi: atanh(1.0/(s1*s2))
+DEAL:Double:ATanh:Symbolic computation: Differentiation::symb_dpsi_ds0: -1.0/(s1**2*s2*(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Double:ATanh:Symbolic computation: Differentiation::symb_dpsi_ds1: -1.0/(s1*s2**2*(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Double:ATanh:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 2.0*1/(s1**5*s2**3*(1 - 1.0*1/(s1**2*s2**2))**2) + 2.0*1/(s1**3*s2*(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Double:ATanh:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: 2.0*1/(s1**4*s2**4*(1 - 1.0*1/(s1**2*s2**2))**2) + 1.0*1/(s1**2*s2**2*(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Double:ATanh:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: 2.0*1/(s1**4*s2**4*(1 - 1.0*1/(s1**2*s2**2))**2) + 1.0*1/(s1**2*s2**2*(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Double:ATanh:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: 2.0*1/(s1**3*s2**5*(1 - 1.0*1/(s1**2*s2**2))**2) + 2.0*1/(s1*s2**3*(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Double:ATanh:Symbolic computation: Substitution::subs_psi: 0.168236
+DEAL:Double:ATanh:Symbolic computation: Substitution::subs_dpsi_ds0: -0.0571429
+DEAL:Double:ATanh:Symbolic computation: Substitution::subs_dpsi_ds1: -0.0857143
+DEAL:Double:ATanh:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: 0.0391837
+DEAL:Double:ATanh:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: 0.0302041
+DEAL:Double:ATanh:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: 0.0302041
+DEAL:Double:ATanh:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: 0.0881633
+DEAL:Double:Erf:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Double:Erf:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Double:Erf:Symbolic computation: Function initialisation::symb_psi: s1**2*erf(s2)
+DEAL:Double:Erf:Symbolic computation: Differentiation::symb_dpsi_ds0: 2*s1*erf(s2)
+DEAL:Double:Erf:Symbolic computation: Differentiation::symb_dpsi_ds1: 2*exp(-s2**2)*s1**2/sqrt(pi)
+DEAL:Double:Erf:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 2*erf(s2)
+DEAL:Double:Erf:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: 4*exp(-s2**2)*s1/sqrt(pi)
+DEAL:Double:Erf:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: 4*exp(-s2**2)*s1/sqrt(pi)
+DEAL:Double:Erf:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: -4*exp(-s2**2)*s1**2*s2/sqrt(pi)
+DEAL:Double:Erf:Symbolic computation: Substitution::subs_psi: 8.95790
+DEAL:Double:Erf:Symbolic computation: Substitution::subs_dpsi_ds0: 5.97193
+DEAL:Double:Erf:Symbolic computation: Substitution::subs_dpsi_ds1: 0.186003
+DEAL:Double:Erf:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: 1.99064
+DEAL:Double:Erf:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: 0.124002
+DEAL:Double:Erf:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: 0.124002
+DEAL:Double:Erf:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: -0.744011
+DEAL:Double:Erfc:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Double:Erfc:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Double:Erfc:Symbolic computation: Function initialisation::symb_psi: s1**2*erfc(s2)
+DEAL:Double:Erfc:Symbolic computation: Differentiation::symb_dpsi_ds0: 2*s1*erfc(s2)
+DEAL:Double:Erfc:Symbolic computation: Differentiation::symb_dpsi_ds1: -2*exp(-s2**2)*s1**2/sqrt(pi)
+DEAL:Double:Erfc:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 2*erfc(s2)
+DEAL:Double:Erfc:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -4*exp(-s2**2)*s1/sqrt(pi)
+DEAL:Double:Erfc:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -4*exp(-s2**2)*s1/sqrt(pi)
+DEAL:Double:Erfc:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: 4*exp(-s2**2)*s1**2*s2/sqrt(pi)
+DEAL:Double:Erfc:Symbolic computation: Substitution::subs_psi: 0.0420996
+DEAL:Double:Erfc:Symbolic computation: Substitution::subs_dpsi_ds0: 0.0280664
+DEAL:Double:Erfc:Symbolic computation: Substitution::subs_dpsi_ds1: -0.186003
+DEAL:Double:Erfc:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: 0.00935547
+DEAL:Double:Erfc:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: -0.124002
+DEAL:Double:Erfc:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: -0.124002
+DEAL:Double:Erfc:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: 0.744011
+DEAL:Double::OK
+DEAL:Complex float:Add:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Complex float:Add:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Complex float:Add:Symbolic computation: Function initialisation::symb_psi: (s1 + s2)**2
+DEAL:Complex float:Add:Symbolic computation: Differentiation::symb_dpsi_ds0: 2*(s1 + s2)
+DEAL:Complex float:Add:Symbolic computation: Differentiation::symb_dpsi_ds1: 2*(s1 + s2)
+DEAL:Complex float:Add:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 2
+DEAL:Complex float:Add:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: 2
+DEAL:Complex float:Add:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: 2
+DEAL:Complex float:Add:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: 2
+DEAL:Complex float:Add:Symbolic computation: Substitution::subs_psi: (25.0000,0.00000)
+DEAL:Complex float:Add:Symbolic computation: Substitution::subs_dpsi_ds0: (10.0000,0.00000)
+DEAL:Complex float:Add:Symbolic computation: Substitution::subs_dpsi_ds1: (10.0000,0.00000)
+DEAL:Complex float:Add:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: (2.00000,0.00000)
+DEAL:Complex float:Add:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: (2.00000,0.00000)
+DEAL:Complex float:Add:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: (2.00000,0.00000)
+DEAL:Complex float:Add:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: (2.00000,0.00000)
+DEAL:Complex float:Subtract:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Complex float:Subtract:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Complex float:Subtract:Symbolic computation: Function initialisation::symb_psi: (s1 - s2)**2
+DEAL:Complex float:Subtract:Symbolic computation: Differentiation::symb_dpsi_ds0: 2*(s1 - s2)
+DEAL:Complex float:Subtract:Symbolic computation: Differentiation::symb_dpsi_ds1: -2*(s1 - s2)
+DEAL:Complex float:Subtract:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 2
+DEAL:Complex float:Subtract:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -2
+DEAL:Complex float:Subtract:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -2
+DEAL:Complex float:Subtract:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: 2
+DEAL:Complex float:Subtract:Symbolic computation: Substitution::subs_psi: (1.00000,0.00000)
+DEAL:Complex float:Subtract:Symbolic computation: Substitution::subs_dpsi_ds0: (2.00000,0.00000)
+DEAL:Complex float:Subtract:Symbolic computation: Substitution::subs_dpsi_ds1: (-2.00000,0.00000)
+DEAL:Complex float:Subtract:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: (2.00000,0.00000)
+DEAL:Complex float:Subtract:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: (-2.00000,0.00000)
+DEAL:Complex float:Subtract:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: (-2.00000,0.00000)
+DEAL:Complex float:Subtract:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: (2.00000,0.00000)
+DEAL:Complex float:Multiply:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Complex float:Multiply:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Complex float:Multiply:Symbolic computation: Function initialisation::symb_psi: s1**2*s2**2
+DEAL:Complex float:Multiply:Symbolic computation: Differentiation::symb_dpsi_ds0: 2*s1*s2**2
+DEAL:Complex float:Multiply:Symbolic computation: Differentiation::symb_dpsi_ds1: 2*s1**2*s2
+DEAL:Complex float:Multiply:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 2*s2**2
+DEAL:Complex float:Multiply:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: 4*s1*s2
+DEAL:Complex float:Multiply:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: 4*s1*s2
+DEAL:Complex float:Multiply:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: 2*s1**2
+DEAL:Complex float:Multiply:Symbolic computation: Substitution::subs_psi: (36.0000,0.00000)
+DEAL:Complex float:Multiply:Symbolic computation: Substitution::subs_dpsi_ds0: (24.0000,0.00000)
+DEAL:Complex float:Multiply:Symbolic computation: Substitution::subs_dpsi_ds1: (36.0000,0.00000)
+DEAL:Complex float:Multiply:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: (8.00000,0.00000)
+DEAL:Complex float:Multiply:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: (24.0000,0.00000)
+DEAL:Complex float:Multiply:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: (24.0000,0.00000)
+DEAL:Complex float:Multiply:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: (18.0000,0.00000)
+DEAL:Complex float:Divide:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Complex float:Divide:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Complex float:Divide:Symbolic computation: Function initialisation::symb_psi: s1**2/s2**2
+DEAL:Complex float:Divide:Symbolic computation: Differentiation::symb_dpsi_ds0: 2*s1/s2**2
+DEAL:Complex float:Divide:Symbolic computation: Differentiation::symb_dpsi_ds1: -2*s1**2/s2**3
+DEAL:Complex float:Divide:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 2/s2**2
+DEAL:Complex float:Divide:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -4*s1/s2**3
+DEAL:Complex float:Divide:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -4*s1/s2**3
+DEAL:Complex float:Divide:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: 6*s1**2/s2**4
+DEAL:Complex float:Divide:Symbolic computation: Substitution::subs_psi: (2.25000,0.00000)
+DEAL:Complex float:Divide:Symbolic computation: Substitution::subs_dpsi_ds0: (1.50000,0.00000)
+DEAL:Complex float:Divide:Symbolic computation: Substitution::subs_dpsi_ds1: (-2.25000,0.00000)
+DEAL:Complex float:Divide:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: (0.500000,0.00000)
+DEAL:Complex float:Divide:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: (-1.50000,0.00000)
+DEAL:Complex float:Divide:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: (-1.50000,0.00000)
+DEAL:Complex float:Divide:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: (3.37500,0.00000)
+DEAL:Complex float:Power:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Complex float:Power:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Complex float:Power:Symbolic computation: Function initialisation::symb_psi: 2.0*s1**s2
+DEAL:Complex float:Power:Symbolic computation: Differentiation::symb_dpsi_ds0: 2.0*s1**(-1 + s2)*s2
+DEAL:Complex float:Power:Symbolic computation: Differentiation::symb_dpsi_ds1: 2.0*s1**s2*log(s1)
+DEAL:Complex float:Power:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 2.0*s1**(-2 + s2)*s2*(-1 + s2)
+DEAL:Complex float:Power:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: 2.0*s1**(-1 + s2)*s2*log(s1) + 2.0*s1**(-1 + s2)
+DEAL:Complex float:Power:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: 2.0*s1**(-1 + s2)*s2*log(s1) + 2.0*s1**(-1 + s2)
+DEAL:Complex float:Power:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: 2.0*s1**s2*log(s1)**2
+DEAL:Complex float:Power:Symbolic computation: Substitution::subs_psi: (18.0000,0.00000)
+DEAL:Complex float:Power:Symbolic computation: Substitution::subs_dpsi_ds0: (12.0000,0.00000)
+DEAL:Complex float:Power:Symbolic computation: Substitution::subs_dpsi_ds1: (19.7750,0.00000)
+DEAL:Complex float:Power:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: (4.00000,0.00000)
+DEAL:Complex float:Power:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: (19.1833,0.00000)
+DEAL:Complex float:Power:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: (19.1833,0.00000)
+DEAL:Complex float:Power:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: (21.7251,0.00000)
+DEAL:Complex float:Sqrt:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Complex float:Sqrt:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Complex float:Sqrt:Symbolic computation: Function initialisation::symb_psi: 2.0*sqrt(s1*s2)
+DEAL:Complex float:Sqrt:Symbolic computation: Differentiation::symb_dpsi_ds0: 1.0*s2/sqrt(s1*s2)
+DEAL:Complex float:Sqrt:Symbolic computation: Differentiation::symb_dpsi_ds1: 1.0*s1/sqrt(s1*s2)
+DEAL:Complex float:Sqrt:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: -0.5*s2**2/(s1*s2)**(3/2)
+DEAL:Complex float:Sqrt:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -0.5*s1*s2/(s1*s2)**(3/2) + 1.0*(s1*s2)**(-1/2)
+DEAL:Complex float:Sqrt:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -0.5*s1*s2/(s1*s2)**(3/2) + 1.0*(s1*s2)**(-1/2)
+DEAL:Complex float:Sqrt:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: -0.5*s1**2/(s1*s2)**(3/2)
+DEAL:Complex float:Sqrt:Symbolic computation: Substitution::subs_psi: (4.89898,0.00000)
+DEAL:Complex float:Sqrt:Symbolic computation: Substitution::subs_dpsi_ds0: (0.816497,0.00000)
+DEAL:Complex float:Sqrt:Symbolic computation: Substitution::subs_dpsi_ds1: (1.22474,0.00000)
+DEAL:Complex float:Sqrt:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: (-0.136083,0.00000)
+DEAL:Complex float:Sqrt:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: (0.204124,0.00000)
+DEAL:Complex float:Sqrt:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: (0.204124,0.00000)
+DEAL:Complex float:Sqrt:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: (-0.306186,0.00000)
+DEAL:Complex float:Exponential:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Complex float:Exponential:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Complex float:Exponential:Symbolic computation: Function initialisation::symb_psi: exp(s2)*s1**2
+DEAL:Complex float:Exponential:Symbolic computation: Differentiation::symb_dpsi_ds0: 2*exp(s2)*s1
+DEAL:Complex float:Exponential:Symbolic computation: Differentiation::symb_dpsi_ds1: exp(s2)*s1**2
+DEAL:Complex float:Exponential:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 2*exp(s2)
+DEAL:Complex float:Exponential:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: 2*exp(s2)*s1
+DEAL:Complex float:Exponential:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: 2*exp(s2)*s1
+DEAL:Complex float:Exponential:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: exp(s2)*s1**2
+DEAL:Complex float:Exponential:Symbolic computation: Substitution::subs_psi: (66.5015,0.00000)
+DEAL:Complex float:Exponential:Symbolic computation: Substitution::subs_dpsi_ds0: (44.3343,0.00000)
+DEAL:Complex float:Exponential:Symbolic computation: Substitution::subs_dpsi_ds1: (66.5015,0.00000)
+DEAL:Complex float:Exponential:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: (14.7781,0.00000)
+DEAL:Complex float:Exponential:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: (44.3343,0.00000)
+DEAL:Complex float:Exponential:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: (44.3343,0.00000)
+DEAL:Complex float:Exponential:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: (66.5015,0.00000)
+DEAL:Complex float:Logarithm:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Complex float:Logarithm:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Complex float:Logarithm:Symbolic computation: Function initialisation::symb_psi: s1**2*log(s2)
+DEAL:Complex float:Logarithm:Symbolic computation: Differentiation::symb_dpsi_ds0: 2*s1*log(s2)
+DEAL:Complex float:Logarithm:Symbolic computation: Differentiation::symb_dpsi_ds1: s1**2/s2
+DEAL:Complex float:Logarithm:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 2*log(s2)
+DEAL:Complex float:Logarithm:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: 2*s1/s2
+DEAL:Complex float:Logarithm:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: 2*s1/s2
+DEAL:Complex float:Logarithm:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: -s1**2/s2**2
+DEAL:Complex float:Logarithm:Symbolic computation: Substitution::subs_psi: (6.23832,0.00000)
+DEAL:Complex float:Logarithm:Symbolic computation: Substitution::subs_dpsi_ds0: (4.15888,0.00000)
+DEAL:Complex float:Logarithm:Symbolic computation: Substitution::subs_dpsi_ds1: (4.50000,0.00000)
+DEAL:Complex float:Logarithm:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: (1.38629,0.00000)
+DEAL:Complex float:Logarithm:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: (3.00000,0.00000)
+DEAL:Complex float:Logarithm:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: (3.00000,0.00000)
+DEAL:Complex float:Logarithm:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: (-2.25000,0.00000)
+DEAL:Complex float:Logarithm with Base:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Complex float:Logarithm with Base:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Complex float:Logarithm with Base:Symbolic computation: Function initialisation::symb_psi: log(s2)/log(s1)
+DEAL:Complex float:Logarithm with Base:Symbolic computation: Differentiation::symb_dpsi_ds0: -log(s2)/(s1*log(s1)**2)
+DEAL:Complex float:Logarithm with Base:Symbolic computation: Differentiation::symb_dpsi_ds1: 1/(s2*log(s1))
+DEAL:Complex float:Logarithm with Base:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 2*log(s2)/(s1**2*log(s1)**3) + log(s2)/(s1**2*log(s1)**2)
+DEAL:Complex float:Logarithm with Base:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -1/(s1*s2*log(s1)**2)
+DEAL:Complex float:Logarithm with Base:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -1/(s1*s2*log(s1)**2)
+DEAL:Complex float:Logarithm with Base:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: -1/(s2**2*log(s1))
+DEAL:Complex float:Logarithm with Base:Symbolic computation: Substitution::subs_psi: (0.630930,0.00000)
+DEAL:Complex float:Logarithm with Base:Symbolic computation: Substitution::subs_dpsi_ds0: (-0.191432,0.00000)
+DEAL:Complex float:Logarithm with Base:Symbolic computation: Substitution::subs_dpsi_ds1: (0.455120,0.00000)
+DEAL:Complex float:Logarithm with Base:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: (0.179977,0.00000)
+DEAL:Complex float:Logarithm with Base:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: (-0.138089,0.00000)
+DEAL:Complex float:Logarithm with Base:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: (-0.138089,0.00000)
+DEAL:Complex float:Logarithm with Base:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: (-0.227560,0.00000)
+DEAL:Complex float:Logarithm base 10:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Complex float:Logarithm base 10:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Complex float:Logarithm base 10:Symbolic computation: Function initialisation::symb_psi: 0.434294481903252*s1**2*log(s2)
+DEAL:Complex float:Logarithm base 10:Symbolic computation: Differentiation::symb_dpsi_ds0: 0.868588963806504*s1*log(s2)
+DEAL:Complex float:Logarithm base 10:Symbolic computation: Differentiation::symb_dpsi_ds1: 0.434294481903252*s1**2/s2
+DEAL:Complex float:Logarithm base 10:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 0.868588963806504*log(s2)
+DEAL:Complex float:Logarithm base 10:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: 0.868588963806504*s1/s2
+DEAL:Complex float:Logarithm base 10:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: 0.868588963806504*s1/s2
+DEAL:Complex float:Logarithm base 10:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: -0.434294481903252*s1**2/s2**2
+DEAL:Complex float:Logarithm base 10:Symbolic computation: Substitution::subs_psi: (2.70927,0.00000)
+DEAL:Complex float:Logarithm base 10:Symbolic computation: Substitution::subs_dpsi_ds0: (1.80618,0.00000)
+DEAL:Complex float:Logarithm base 10:Symbolic computation: Substitution::subs_dpsi_ds1: (1.95433,0.00000)
+DEAL:Complex float:Logarithm base 10:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: (0.602060,0.00000)
+DEAL:Complex float:Logarithm base 10:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: (1.30288,0.00000)
+DEAL:Complex float:Logarithm base 10:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: (1.30288,0.00000)
+DEAL:Complex float:Logarithm base 10:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: (-0.977163,0.00000)
+DEAL:Complex float:Sin:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Complex float:Sin:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Complex float:Sin:Symbolic computation: Function initialisation::symb_psi: sin(s2/s1)
+DEAL:Complex float:Sin:Symbolic computation: Differentiation::symb_dpsi_ds0: -s2*cos(s2/s1)/s1**2
+DEAL:Complex float:Sin:Symbolic computation: Differentiation::symb_dpsi_ds1: cos(s2/s1)/s1
+DEAL:Complex float:Sin:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: -s2**2*sin(s2/s1)/s1**4 + 2*s2*cos(s2/s1)/s1**3
+DEAL:Complex float:Sin:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -cos(s2/s1)/s1**2 + s2*sin(s2/s1)/s1**3
+DEAL:Complex float:Sin:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -cos(s2/s1)/s1**2 + s2*sin(s2/s1)/s1**3
+DEAL:Complex float:Sin:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: -sin(s2/s1)/s1**2
+DEAL:Complex float:Sin:Symbolic computation: Substitution::subs_psi: (0.618370,0.00000)
+DEAL:Complex float:Sin:Symbolic computation: Substitution::subs_dpsi_ds0: (-0.174642,0.00000)
+DEAL:Complex float:Sin:Symbolic computation: Substitution::subs_dpsi_ds1: (0.261962,0.00000)
+DEAL:Complex float:Sin:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: (0.0858910,0.00000)
+DEAL:Complex float:Sin:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: (-0.0415156,0.00000)
+DEAL:Complex float:Sin:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: (-0.0415156,0.00000)
+DEAL:Complex float:Sin:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: (-0.0687078,0.00000)
+DEAL:Complex float:Cos:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Complex float:Cos:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Complex float:Cos:Symbolic computation: Function initialisation::symb_psi: cos(s2/s1)
+DEAL:Complex float:Cos:Symbolic computation: Differentiation::symb_dpsi_ds0: s2*sin(s2/s1)/s1**2
+DEAL:Complex float:Cos:Symbolic computation: Differentiation::symb_dpsi_ds1: -sin(s2/s1)/s1
+DEAL:Complex float:Cos:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: -s2**2*cos(s2/s1)/s1**4 - 2*s2*sin(s2/s1)/s1**3
+DEAL:Complex float:Cos:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: sin(s2/s1)/s1**2 + s2*cos(s2/s1)/s1**3
+DEAL:Complex float:Cos:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: sin(s2/s1)/s1**2 + s2*cos(s2/s1)/s1**3
+DEAL:Complex float:Cos:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: -cos(s2/s1)/s1**2
+DEAL:Complex float:Cos:Symbolic computation: Substitution::subs_psi: (0.785887,0.00000)
+DEAL:Complex float:Cos:Symbolic computation: Substitution::subs_dpsi_ds0: (0.137416,0.00000)
+DEAL:Complex float:Cos:Symbolic computation: Substitution::subs_dpsi_ds1: (-0.206123,0.00000)
+DEAL:Complex float:Cos:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: (-0.130420,0.00000)
+DEAL:Complex float:Cos:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: (0.126922,0.00000)
+DEAL:Complex float:Cos:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: (0.126922,0.00000)
+DEAL:Complex float:Cos:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: (-0.0873208,0.00000)
+DEAL:Complex float:Tan:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Complex float:Tan:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Complex float:Tan:Symbolic computation: Function initialisation::symb_psi: tan(s2/s1)
+DEAL:Complex float:Tan:Symbolic computation: Differentiation::symb_dpsi_ds0: -s2*(1 + tan(s2/s1)**2)/s1**2
+DEAL:Complex float:Tan:Symbolic computation: Differentiation::symb_dpsi_ds1: (1 + tan(s2/s1)**2)/s1
+DEAL:Complex float:Tan:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 2*s2*(1 + tan(s2/s1)**2)/s1**3 + 2*s2**2*tan(s2/s1)*(1 + tan(s2/s1)**2)/s1**4
+DEAL:Complex float:Tan:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -(1 + tan(s2/s1)**2)/s1**2 - 2*s2*tan(s2/s1)*(1 + tan(s2/s1)**2)/s1**3
+DEAL:Complex float:Tan:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -(1 + tan(s2/s1)**2)/s1**2 - 2*s2*tan(s2/s1)*(1 + tan(s2/s1)**2)/s1**3
+DEAL:Complex float:Tan:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: 2*tan(s2/s1)*(1 + tan(s2/s1)**2)/s1**2
+DEAL:Complex float:Tan:Symbolic computation: Substitution::subs_psi: (0.786843,0.00000)
+DEAL:Complex float:Tan:Symbolic computation: Substitution::subs_dpsi_ds0: (-0.359805,0.00000)
+DEAL:Complex float:Tan:Symbolic computation: Substitution::subs_dpsi_ds1: (0.539707,0.00000)
+DEAL:Complex float:Tan:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: (0.365696,0.00000)
+DEAL:Complex float:Tan:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: (-0.368642,0.00000)
+DEAL:Complex float:Tan:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: (-0.368642,0.00000)
+DEAL:Complex float:Tan:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: (0.283110,0.00000)
+DEAL:Complex float:ASin:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Complex float:ASin:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Complex float:ASin:Symbolic computation: Function initialisation::symb_psi: asin(1.0/(s1*s2))
+DEAL:Complex float:ASin:Symbolic computation: Differentiation::symb_dpsi_ds0: -1.0/(s1**2*s2*sqrt(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Complex float:ASin:Symbolic computation: Differentiation::symb_dpsi_ds1: -1.0/(s1*s2**2*sqrt(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Complex float:ASin:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 1.0*1/(s1**5*s2**3*(1 - 1.0*1/(s1**2*s2**2))**(3/2)) + 2.0*1/(s1**3*s2*sqrt(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Complex float:ASin:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: 1.0*1/(s1**4*s2**4*(1 - 1.0*1/(s1**2*s2**2))**(3/2)) + 1.0*1/(s1**2*s2**2*sqrt(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Complex float:ASin:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: 1.0*1/(s1**4*s2**4*(1 - 1.0*1/(s1**2*s2**2))**(3/2)) + 1.0*1/(s1**2*s2**2*sqrt(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Complex float:ASin:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: 1.0*1/(s1**3*s2**5*(1 - 1.0*1/(s1**2*s2**2))**(3/2)) + 2.0*1/(s1*s2**3*sqrt(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Complex float:ASin:Symbolic computation: Substitution::subs_psi: (0.167448,0.00000)
+DEAL:Complex float:ASin:Symbolic computation: Substitution::subs_dpsi_ds0: (-0.0563436,0.00000)
+DEAL:Complex float:ASin:Symbolic computation: Substitution::subs_dpsi_ds1: (-0.0845154,0.00000)
+DEAL:Complex float:ASin:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: (0.0380990,0.00000)
+DEAL:Complex float:ASin:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: (0.0289767,0.00000)
+DEAL:Complex float:ASin:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: (0.0289767,0.00000)
+DEAL:Complex float:ASin:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: (0.0857228,0.00000)
+DEAL:Complex float:ACos:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Complex float:ACos:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Complex float:ACos:Symbolic computation: Function initialisation::symb_psi: acos(1.0/(s1*s2))
+DEAL:Complex float:ACos:Symbolic computation: Differentiation::symb_dpsi_ds0: 1.0/(s1**2*s2*sqrt(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Complex float:ACos:Symbolic computation: Differentiation::symb_dpsi_ds1: 1.0/(s1*s2**2*sqrt(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Complex float:ACos:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: -1.0*1/(s1**5*s2**3*(1 - 1.0*1/(s1**2*s2**2))**(3/2)) - 2.0*1/(s1**3*s2*sqrt(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Complex float:ACos:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -1.0*1/(s1**4*s2**4*(1 - 1.0*1/(s1**2*s2**2))**(3/2)) - 1.0*1/(s1**2*s2**2*sqrt(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Complex float:ACos:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -1.0*1/(s1**4*s2**4*(1 - 1.0*1/(s1**2*s2**2))**(3/2)) - 1.0*1/(s1**2*s2**2*sqrt(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Complex float:ACos:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: -1.0*1/(s1**3*s2**5*(1 - 1.0*1/(s1**2*s2**2))**(3/2)) - 2.0*1/(s1*s2**3*sqrt(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Complex float:ACos:Symbolic computation: Substitution::subs_psi: (1.40335,0.00000)
+DEAL:Complex float:ACos:Symbolic computation: Substitution::subs_dpsi_ds0: (0.0563436,0.00000)
+DEAL:Complex float:ACos:Symbolic computation: Substitution::subs_dpsi_ds1: (0.0845154,0.00000)
+DEAL:Complex float:ACos:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: (-0.0380990,0.00000)
+DEAL:Complex float:ACos:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: (-0.0289767,0.00000)
+DEAL:Complex float:ACos:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: (-0.0289767,0.00000)
+DEAL:Complex float:ACos:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: (-0.0857228,0.00000)
+DEAL:Complex float:ATan:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Complex float:ATan:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Complex float:ATan:Symbolic computation: Function initialisation::symb_psi: atan(1.0/(s1*s2))
+DEAL:Complex float:ATan:Symbolic computation: Differentiation::symb_dpsi_ds0: -1.0/(s1**2*s2*(1 + 1.0*1/(s1**2*s2**2)))
+DEAL:Complex float:ATan:Symbolic computation: Differentiation::symb_dpsi_ds1: -1.0/(s1*s2**2*(1 + 1.0*1/(s1**2*s2**2)))
+DEAL:Complex float:ATan:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: -2.0*1/(s1**5*s2**3*(1 + 1.0*1/(s1**2*s2**2))**2) + 2.0*1/(s1**3*s2*(1 + 1.0*1/(s1**2*s2**2)))
+DEAL:Complex float:ATan:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -2.0*1/(s1**4*s2**4*(1 + 1.0*1/(s1**2*s2**2))**2) + 1.0*1/(s1**2*s2**2*(1 + 1.0*1/(s1**2*s2**2)))
+DEAL:Complex float:ATan:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -2.0*1/(s1**4*s2**4*(1 + 1.0*1/(s1**2*s2**2))**2) + 1.0*1/(s1**2*s2**2*(1 + 1.0*1/(s1**2*s2**2)))
+DEAL:Complex float:ATan:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: -2.0*1/(s1**3*s2**5*(1 + 1.0*1/(s1**2*s2**2))**2) + 2.0*1/(s1*s2**3*(1 + 1.0*1/(s1**2*s2**2)))
+DEAL:Complex float:ATan:Symbolic computation: Substitution::subs_psi: (0.165149,0.00000)
+DEAL:Complex float:ATan:Symbolic computation: Substitution::subs_dpsi_ds0: (-0.0540541,0.00000)
+DEAL:Complex float:ATan:Symbolic computation: Substitution::subs_dpsi_ds1: (-0.0810811,0.00000)
+DEAL:Complex float:ATan:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: (0.0350621,0.00000)
+DEAL:Complex float:ATan:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: (0.0255661,0.00000)
+DEAL:Complex float:ATan:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: (0.0255661,0.00000)
+DEAL:Complex float:ATan:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: (0.0788897,0.00000)
+DEAL:Complex float:Sinh:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Complex float:Sinh:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Complex float:Sinh:Symbolic computation: Function initialisation::symb_psi: sinh(s2/s1)
+DEAL:Complex float:Sinh:Symbolic computation: Differentiation::symb_dpsi_ds0: -s2*cosh(s2/s1)/s1**2
+DEAL:Complex float:Sinh:Symbolic computation: Differentiation::symb_dpsi_ds1: cosh(s2/s1)/s1
+DEAL:Complex float:Sinh:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: s2**2*sinh(s2/s1)/s1**4 + 2*s2*cosh(s2/s1)/s1**3
+DEAL:Complex float:Sinh:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -cosh(s2/s1)/s1**2 - s2*sinh(s2/s1)/s1**3
+DEAL:Complex float:Sinh:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -cosh(s2/s1)/s1**2 - s2*sinh(s2/s1)/s1**3
+DEAL:Complex float:Sinh:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: sinh(s2/s1)/s1**2
+DEAL:Complex float:Sinh:Symbolic computation: Substitution::subs_psi: (0.717158,0.00000)
+DEAL:Complex float:Sinh:Symbolic computation: Substitution::subs_dpsi_ds0: (-0.273461,0.00000)
+DEAL:Complex float:Sinh:Symbolic computation: Substitution::subs_dpsi_ds1: (0.410192,0.00000)
+DEAL:Complex float:Sinh:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: (0.217723,0.00000)
+DEAL:Complex float:Sinh:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: (-0.189853,0.00000)
+DEAL:Complex float:Sinh:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: (-0.189853,0.00000)
+DEAL:Complex float:Sinh:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: (0.0796843,0.00000)
+DEAL:Complex float:Cosh:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Complex float:Cosh:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Complex float:Cosh:Symbolic computation: Function initialisation::symb_psi: cosh(s2/s1)
+DEAL:Complex float:Cosh:Symbolic computation: Differentiation::symb_dpsi_ds0: -s2*sinh(s2/s1)/s1**2
+DEAL:Complex float:Cosh:Symbolic computation: Differentiation::symb_dpsi_ds1: sinh(s2/s1)/s1
+DEAL:Complex float:Cosh:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: s2**2*cosh(s2/s1)/s1**4 + 2*s2*sinh(s2/s1)/s1**3
+DEAL:Complex float:Cosh:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -sinh(s2/s1)/s1**2 - s2*cosh(s2/s1)/s1**3
+DEAL:Complex float:Cosh:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -sinh(s2/s1)/s1**2 - s2*cosh(s2/s1)/s1**3
+DEAL:Complex float:Cosh:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: cosh(s2/s1)/s1**2
+DEAL:Complex float:Cosh:Symbolic computation: Substitution::subs_psi: (1.23058,0.00000)
+DEAL:Complex float:Cosh:Symbolic computation: Substitution::subs_dpsi_ds0: (-0.159369,0.00000)
+DEAL:Complex float:Cosh:Symbolic computation: Substitution::subs_dpsi_ds1: (0.239053,0.00000)
+DEAL:Complex float:Cosh:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: (0.167015,0.00000)
+DEAL:Complex float:Cosh:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: (-0.170838,0.00000)
+DEAL:Complex float:Cosh:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: (-0.170838,0.00000)
+DEAL:Complex float:Cosh:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: (0.136731,0.00000)
+DEAL:Complex float:Tanh:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Complex float:Tanh:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Complex float:Tanh:Symbolic computation: Function initialisation::symb_psi: tanh(s2/s1)
+DEAL:Complex float:Tanh:Symbolic computation: Differentiation::symb_dpsi_ds0: -s2*(1 - tanh(s2/s1)**2)/s1**2
+DEAL:Complex float:Tanh:Symbolic computation: Differentiation::symb_dpsi_ds1: (1 - tanh(s2/s1)**2)/s1
+DEAL:Complex float:Tanh:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 2*s2*(1 - tanh(s2/s1)**2)/s1**3 - 2*s2**2*tanh(s2/s1)*(1 - tanh(s2/s1)**2)/s1**4
+DEAL:Complex float:Tanh:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -(1 - tanh(s2/s1)**2)/s1**2 + 2*s2*tanh(s2/s1)*(1 - tanh(s2/s1)**2)/s1**3
+DEAL:Complex float:Tanh:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -(1 - tanh(s2/s1)**2)/s1**2 + 2*s2*tanh(s2/s1)*(1 - tanh(s2/s1)**2)/s1**3
+DEAL:Complex float:Tanh:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: -2*tanh(s2/s1)*(1 - tanh(s2/s1)**2)/s1**2
+DEAL:Complex float:Tanh:Symbolic computation: Substitution::subs_psi: (0.582783,0.00000)
+DEAL:Complex float:Tanh:Symbolic computation: Substitution::subs_dpsi_ds0: (-0.146748,0.00000)
+DEAL:Complex float:Tanh:Symbolic computation: Substitution::subs_dpsi_ds1: (0.220121,0.00000)
+DEAL:Complex float:Tanh:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: (0.0598219,0.00000)
+DEAL:Complex float:Tanh:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: (-0.0163591,0.00000)
+DEAL:Complex float:Tanh:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: (-0.0163591,0.00000)
+DEAL:Complex float:Tanh:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: (-0.0855220,0.00000)
+DEAL:Complex float:ASinh:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Complex float:ASinh:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Complex float:ASinh:Symbolic computation: Function initialisation::symb_psi: asinh(1.0/(s1*s2))
+DEAL:Complex float:ASinh:Symbolic computation: Differentiation::symb_dpsi_ds0: -1.0/(s1**2*s2*sqrt(1 + 1.0*1/(s1**2*s2**2)))
+DEAL:Complex float:ASinh:Symbolic computation: Differentiation::symb_dpsi_ds1: -1.0/(s1*s2**2*sqrt(1 + 1.0*1/(s1**2*s2**2)))
+DEAL:Complex float:ASinh:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: -1.0*1/(s1**5*s2**3*(1 + 1.0*1/(s1**2*s2**2))**(3/2)) + 2.0*1/(s1**3*s2*sqrt(1 + 1.0*1/(s1**2*s2**2)))
+DEAL:Complex float:ASinh:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -1.0*1/(s1**4*s2**4*(1 + 1.0*1/(s1**2*s2**2))**(3/2)) + 1.0*1/(s1**2*s2**2*sqrt(1 + 1.0*1/(s1**2*s2**2)))
+DEAL:Complex float:ASinh:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -1.0*1/(s1**4*s2**4*(1 + 1.0*1/(s1**2*s2**2))**(3/2)) + 1.0*1/(s1**2*s2**2*sqrt(1 + 1.0*1/(s1**2*s2**2)))
+DEAL:Complex float:ASinh:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: -1.0*1/(s1**3*s2**5*(1 + 1.0*1/(s1**2*s2**2))**(3/2)) + 2.0*1/(s1*s2**3*sqrt(1 + 1.0*1/(s1**2*s2**2)))
+DEAL:Complex float:ASinh:Symbolic computation: Substitution::subs_psi: (0.165905,0.00000)
+DEAL:Complex float:ASinh:Symbolic computation: Substitution::subs_dpsi_ds0: (-0.0547997,0.00000)
+DEAL:Complex float:ASinh:Symbolic computation: Substitution::subs_dpsi_ds1: (-0.0821995,0.00000)
+DEAL:Complex float:ASinh:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: (0.0360394,0.00000)
+DEAL:Complex float:ASinh:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: (0.0266593,0.00000)
+DEAL:Complex float:ASinh:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: (0.0266593,0.00000)
+DEAL:Complex float:ASinh:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: (0.0810887,0.00000)
+DEAL:Complex float:ACosh:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Complex float:ACosh:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Complex float:ACosh:Symbolic computation: Function initialisation::symb_psi: acosh(s1*s2)
+DEAL:Complex float:ACosh:Symbolic computation: Differentiation::symb_dpsi_ds0: s2/sqrt(-1 + s1**2*s2**2)
+DEAL:Complex float:ACosh:Symbolic computation: Differentiation::symb_dpsi_ds1: s1/sqrt(-1 + s1**2*s2**2)
+DEAL:Complex float:ACosh:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: -s1*s2**3/(-1 + s1**2*s2**2)**(3/2)
+DEAL:Complex float:ACosh:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -s1**2*s2**2/(-1 + s1**2*s2**2)**(3/2) + (-1 + s1**2*s2**2)**(-1/2)
+DEAL:Complex float:ACosh:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -s1**2*s2**2/(-1 + s1**2*s2**2)**(3/2) + (-1 + s1**2*s2**2)**(-1/2)
+DEAL:Complex float:ACosh:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: -s1**3*s2/(-1 + s1**2*s2**2)**(3/2)
+DEAL:Complex float:ACosh:Symbolic computation: Substitution::subs_psi: (2.47789,0.00000)
+DEAL:Complex float:ACosh:Symbolic computation: Substitution::subs_dpsi_ds0: (0.338062,0.00000)
+DEAL:Complex float:ACosh:Symbolic computation: Substitution::subs_dpsi_ds1: (0.507093,0.00000)
+DEAL:Complex float:ACosh:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: (-0.115907,0.00000)
+DEAL:Complex float:ACosh:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: (-0.00482945,0.00000)
+DEAL:Complex float:ACosh:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: (-0.00482945,0.00000)
+DEAL:Complex float:ACosh:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: (-0.260790,0.00000)
+DEAL:Complex float:ATanh:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Complex float:ATanh:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Complex float:ATanh:Symbolic computation: Function initialisation::symb_psi: atanh(1.0/(s1*s2))
+DEAL:Complex float:ATanh:Symbolic computation: Differentiation::symb_dpsi_ds0: -1.0/(s1**2*s2*(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Complex float:ATanh:Symbolic computation: Differentiation::symb_dpsi_ds1: -1.0/(s1*s2**2*(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Complex float:ATanh:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 2.0*1/(s1**5*s2**3*(1 - 1.0*1/(s1**2*s2**2))**2) + 2.0*1/(s1**3*s2*(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Complex float:ATanh:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: 2.0*1/(s1**4*s2**4*(1 - 1.0*1/(s1**2*s2**2))**2) + 1.0*1/(s1**2*s2**2*(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Complex float:ATanh:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: 2.0*1/(s1**4*s2**4*(1 - 1.0*1/(s1**2*s2**2))**2) + 1.0*1/(s1**2*s2**2*(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Complex float:ATanh:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: 2.0*1/(s1**3*s2**5*(1 - 1.0*1/(s1**2*s2**2))**2) + 2.0*1/(s1*s2**3*(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Complex float:ATanh:Symbolic computation: Substitution::subs_psi: (0.168236,0.00000)
+DEAL:Complex float:ATanh:Symbolic computation: Substitution::subs_dpsi_ds0: (-0.0571429,0.00000)
+DEAL:Complex float:ATanh:Symbolic computation: Substitution::subs_dpsi_ds1: (-0.0857143,0.00000)
+DEAL:Complex float:ATanh:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: (0.0391837,0.00000)
+DEAL:Complex float:ATanh:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: (0.0302041,0.00000)
+DEAL:Complex float:ATanh:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: (0.0302041,0.00000)
+DEAL:Complex float:ATanh:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: (0.0881633,0.00000)
+DEAL:Complex float::OK
+DEAL:Complex double:Add:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Complex double:Add:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Complex double:Add:Symbolic computation: Function initialisation::symb_psi: (s1 + s2)**2
+DEAL:Complex double:Add:Symbolic computation: Differentiation::symb_dpsi_ds0: 2*(s1 + s2)
+DEAL:Complex double:Add:Symbolic computation: Differentiation::symb_dpsi_ds1: 2*(s1 + s2)
+DEAL:Complex double:Add:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 2
+DEAL:Complex double:Add:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: 2
+DEAL:Complex double:Add:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: 2
+DEAL:Complex double:Add:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: 2
+DEAL:Complex double:Add:Symbolic computation: Substitution::subs_psi: (25.0000,0.00000)
+DEAL:Complex double:Add:Symbolic computation: Substitution::subs_dpsi_ds0: (10.0000,0.00000)
+DEAL:Complex double:Add:Symbolic computation: Substitution::subs_dpsi_ds1: (10.0000,0.00000)
+DEAL:Complex double:Add:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: (2.00000,0.00000)
+DEAL:Complex double:Add:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: (2.00000,0.00000)
+DEAL:Complex double:Add:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: (2.00000,0.00000)
+DEAL:Complex double:Add:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: (2.00000,0.00000)
+DEAL:Complex double:Subtract:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Complex double:Subtract:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Complex double:Subtract:Symbolic computation: Function initialisation::symb_psi: (s1 - s2)**2
+DEAL:Complex double:Subtract:Symbolic computation: Differentiation::symb_dpsi_ds0: 2*(s1 - s2)
+DEAL:Complex double:Subtract:Symbolic computation: Differentiation::symb_dpsi_ds1: -2*(s1 - s2)
+DEAL:Complex double:Subtract:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 2
+DEAL:Complex double:Subtract:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -2
+DEAL:Complex double:Subtract:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -2
+DEAL:Complex double:Subtract:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: 2
+DEAL:Complex double:Subtract:Symbolic computation: Substitution::subs_psi: (1.00000,0.00000)
+DEAL:Complex double:Subtract:Symbolic computation: Substitution::subs_dpsi_ds0: (2.00000,0.00000)
+DEAL:Complex double:Subtract:Symbolic computation: Substitution::subs_dpsi_ds1: (-2.00000,0.00000)
+DEAL:Complex double:Subtract:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: (2.00000,0.00000)
+DEAL:Complex double:Subtract:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: (-2.00000,0.00000)
+DEAL:Complex double:Subtract:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: (-2.00000,0.00000)
+DEAL:Complex double:Subtract:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: (2.00000,0.00000)
+DEAL:Complex double:Multiply:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Complex double:Multiply:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Complex double:Multiply:Symbolic computation: Function initialisation::symb_psi: s1**2*s2**2
+DEAL:Complex double:Multiply:Symbolic computation: Differentiation::symb_dpsi_ds0: 2*s1*s2**2
+DEAL:Complex double:Multiply:Symbolic computation: Differentiation::symb_dpsi_ds1: 2*s1**2*s2
+DEAL:Complex double:Multiply:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 2*s2**2
+DEAL:Complex double:Multiply:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: 4*s1*s2
+DEAL:Complex double:Multiply:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: 4*s1*s2
+DEAL:Complex double:Multiply:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: 2*s1**2
+DEAL:Complex double:Multiply:Symbolic computation: Substitution::subs_psi: (36.0000,0.00000)
+DEAL:Complex double:Multiply:Symbolic computation: Substitution::subs_dpsi_ds0: (24.0000,0.00000)
+DEAL:Complex double:Multiply:Symbolic computation: Substitution::subs_dpsi_ds1: (36.0000,0.00000)
+DEAL:Complex double:Multiply:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: (8.00000,0.00000)
+DEAL:Complex double:Multiply:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: (24.0000,0.00000)
+DEAL:Complex double:Multiply:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: (24.0000,0.00000)
+DEAL:Complex double:Multiply:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: (18.0000,0.00000)
+DEAL:Complex double:Divide:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Complex double:Divide:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Complex double:Divide:Symbolic computation: Function initialisation::symb_psi: s1**2/s2**2
+DEAL:Complex double:Divide:Symbolic computation: Differentiation::symb_dpsi_ds0: 2*s1/s2**2
+DEAL:Complex double:Divide:Symbolic computation: Differentiation::symb_dpsi_ds1: -2*s1**2/s2**3
+DEAL:Complex double:Divide:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 2/s2**2
+DEAL:Complex double:Divide:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -4*s1/s2**3
+DEAL:Complex double:Divide:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -4*s1/s2**3
+DEAL:Complex double:Divide:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: 6*s1**2/s2**4
+DEAL:Complex double:Divide:Symbolic computation: Substitution::subs_psi: (2.25000,0.00000)
+DEAL:Complex double:Divide:Symbolic computation: Substitution::subs_dpsi_ds0: (1.50000,0.00000)
+DEAL:Complex double:Divide:Symbolic computation: Substitution::subs_dpsi_ds1: (-2.25000,0.00000)
+DEAL:Complex double:Divide:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: (0.500000,0.00000)
+DEAL:Complex double:Divide:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: (-1.50000,0.00000)
+DEAL:Complex double:Divide:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: (-1.50000,0.00000)
+DEAL:Complex double:Divide:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: (3.37500,0.00000)
+DEAL:Complex double:Power:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Complex double:Power:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Complex double:Power:Symbolic computation: Function initialisation::symb_psi: 2.0*s1**s2
+DEAL:Complex double:Power:Symbolic computation: Differentiation::symb_dpsi_ds0: 2.0*s1**(-1 + s2)*s2
+DEAL:Complex double:Power:Symbolic computation: Differentiation::symb_dpsi_ds1: 2.0*s1**s2*log(s1)
+DEAL:Complex double:Power:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 2.0*s1**(-2 + s2)*s2*(-1 + s2)
+DEAL:Complex double:Power:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: 2.0*s1**(-1 + s2)*s2*log(s1) + 2.0*s1**(-1 + s2)
+DEAL:Complex double:Power:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: 2.0*s1**(-1 + s2)*s2*log(s1) + 2.0*s1**(-1 + s2)
+DEAL:Complex double:Power:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: 2.0*s1**s2*log(s1)**2
+DEAL:Complex double:Power:Symbolic computation: Substitution::subs_psi: (18.0000,0.00000)
+DEAL:Complex double:Power:Symbolic computation: Substitution::subs_dpsi_ds0: (12.0000,0.00000)
+DEAL:Complex double:Power:Symbolic computation: Substitution::subs_dpsi_ds1: (19.7750,0.00000)
+DEAL:Complex double:Power:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: (4.00000,0.00000)
+DEAL:Complex double:Power:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: (19.1833,0.00000)
+DEAL:Complex double:Power:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: (19.1833,0.00000)
+DEAL:Complex double:Power:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: (21.7251,0.00000)
+DEAL:Complex double:Sqrt:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Complex double:Sqrt:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Complex double:Sqrt:Symbolic computation: Function initialisation::symb_psi: 2.0*sqrt(s1*s2)
+DEAL:Complex double:Sqrt:Symbolic computation: Differentiation::symb_dpsi_ds0: 1.0*s2/sqrt(s1*s2)
+DEAL:Complex double:Sqrt:Symbolic computation: Differentiation::symb_dpsi_ds1: 1.0*s1/sqrt(s1*s2)
+DEAL:Complex double:Sqrt:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: -0.5*s2**2/(s1*s2)**(3/2)
+DEAL:Complex double:Sqrt:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -0.5*s1*s2/(s1*s2)**(3/2) + 1.0*(s1*s2)**(-1/2)
+DEAL:Complex double:Sqrt:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -0.5*s1*s2/(s1*s2)**(3/2) + 1.0*(s1*s2)**(-1/2)
+DEAL:Complex double:Sqrt:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: -0.5*s1**2/(s1*s2)**(3/2)
+DEAL:Complex double:Sqrt:Symbolic computation: Substitution::subs_psi: (4.89898,0.00000)
+DEAL:Complex double:Sqrt:Symbolic computation: Substitution::subs_dpsi_ds0: (0.816497,0.00000)
+DEAL:Complex double:Sqrt:Symbolic computation: Substitution::subs_dpsi_ds1: (1.22474,0.00000)
+DEAL:Complex double:Sqrt:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: (-0.136083,0.00000)
+DEAL:Complex double:Sqrt:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: (0.204124,0.00000)
+DEAL:Complex double:Sqrt:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: (0.204124,0.00000)
+DEAL:Complex double:Sqrt:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: (-0.306186,0.00000)
+DEAL:Complex double:Exponential:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Complex double:Exponential:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Complex double:Exponential:Symbolic computation: Function initialisation::symb_psi: exp(s2)*s1**2
+DEAL:Complex double:Exponential:Symbolic computation: Differentiation::symb_dpsi_ds0: 2*exp(s2)*s1
+DEAL:Complex double:Exponential:Symbolic computation: Differentiation::symb_dpsi_ds1: exp(s2)*s1**2
+DEAL:Complex double:Exponential:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 2*exp(s2)
+DEAL:Complex double:Exponential:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: 2*exp(s2)*s1
+DEAL:Complex double:Exponential:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: 2*exp(s2)*s1
+DEAL:Complex double:Exponential:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: exp(s2)*s1**2
+DEAL:Complex double:Exponential:Symbolic computation: Substitution::subs_psi: (66.5015,0.00000)
+DEAL:Complex double:Exponential:Symbolic computation: Substitution::subs_dpsi_ds0: (44.3343,0.00000)
+DEAL:Complex double:Exponential:Symbolic computation: Substitution::subs_dpsi_ds1: (66.5015,0.00000)
+DEAL:Complex double:Exponential:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: (14.7781,0.00000)
+DEAL:Complex double:Exponential:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: (44.3343,0.00000)
+DEAL:Complex double:Exponential:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: (44.3343,0.00000)
+DEAL:Complex double:Exponential:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: (66.5015,0.00000)
+DEAL:Complex double:Logarithm:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Complex double:Logarithm:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Complex double:Logarithm:Symbolic computation: Function initialisation::symb_psi: s1**2*log(s2)
+DEAL:Complex double:Logarithm:Symbolic computation: Differentiation::symb_dpsi_ds0: 2*s1*log(s2)
+DEAL:Complex double:Logarithm:Symbolic computation: Differentiation::symb_dpsi_ds1: s1**2/s2
+DEAL:Complex double:Logarithm:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 2*log(s2)
+DEAL:Complex double:Logarithm:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: 2*s1/s2
+DEAL:Complex double:Logarithm:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: 2*s1/s2
+DEAL:Complex double:Logarithm:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: -s1**2/s2**2
+DEAL:Complex double:Logarithm:Symbolic computation: Substitution::subs_psi: (6.23832,0.00000)
+DEAL:Complex double:Logarithm:Symbolic computation: Substitution::subs_dpsi_ds0: (4.15888,0.00000)
+DEAL:Complex double:Logarithm:Symbolic computation: Substitution::subs_dpsi_ds1: (4.50000,0.00000)
+DEAL:Complex double:Logarithm:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: (1.38629,0.00000)
+DEAL:Complex double:Logarithm:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: (3.00000,0.00000)
+DEAL:Complex double:Logarithm:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: (3.00000,0.00000)
+DEAL:Complex double:Logarithm:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: (-2.25000,0.00000)
+DEAL:Complex double:Logarithm with Base:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Complex double:Logarithm with Base:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Complex double:Logarithm with Base:Symbolic computation: Function initialisation::symb_psi: log(s2)/log(s1)
+DEAL:Complex double:Logarithm with Base:Symbolic computation: Differentiation::symb_dpsi_ds0: -log(s2)/(s1*log(s1)**2)
+DEAL:Complex double:Logarithm with Base:Symbolic computation: Differentiation::symb_dpsi_ds1: 1/(s2*log(s1))
+DEAL:Complex double:Logarithm with Base:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 2*log(s2)/(s1**2*log(s1)**3) + log(s2)/(s1**2*log(s1)**2)
+DEAL:Complex double:Logarithm with Base:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -1/(s1*s2*log(s1)**2)
+DEAL:Complex double:Logarithm with Base:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -1/(s1*s2*log(s1)**2)
+DEAL:Complex double:Logarithm with Base:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: -1/(s2**2*log(s1))
+DEAL:Complex double:Logarithm with Base:Symbolic computation: Substitution::subs_psi: (0.630930,0.00000)
+DEAL:Complex double:Logarithm with Base:Symbolic computation: Substitution::subs_dpsi_ds0: (-0.191432,0.00000)
+DEAL:Complex double:Logarithm with Base:Symbolic computation: Substitution::subs_dpsi_ds1: (0.455120,0.00000)
+DEAL:Complex double:Logarithm with Base:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: (0.179977,0.00000)
+DEAL:Complex double:Logarithm with Base:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: (-0.138089,0.00000)
+DEAL:Complex double:Logarithm with Base:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: (-0.138089,0.00000)
+DEAL:Complex double:Logarithm with Base:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: (-0.227560,0.00000)
+DEAL:Complex double:Logarithm base 10:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Complex double:Logarithm base 10:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Complex double:Logarithm base 10:Symbolic computation: Function initialisation::symb_psi: 0.434294481903252*s1**2*log(s2)
+DEAL:Complex double:Logarithm base 10:Symbolic computation: Differentiation::symb_dpsi_ds0: 0.868588963806504*s1*log(s2)
+DEAL:Complex double:Logarithm base 10:Symbolic computation: Differentiation::symb_dpsi_ds1: 0.434294481903252*s1**2/s2
+DEAL:Complex double:Logarithm base 10:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 0.868588963806504*log(s2)
+DEAL:Complex double:Logarithm base 10:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: 0.868588963806504*s1/s2
+DEAL:Complex double:Logarithm base 10:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: 0.868588963806504*s1/s2
+DEAL:Complex double:Logarithm base 10:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: -0.434294481903252*s1**2/s2**2
+DEAL:Complex double:Logarithm base 10:Symbolic computation: Substitution::subs_psi: (2.70927,0.00000)
+DEAL:Complex double:Logarithm base 10:Symbolic computation: Substitution::subs_dpsi_ds0: (1.80618,0.00000)
+DEAL:Complex double:Logarithm base 10:Symbolic computation: Substitution::subs_dpsi_ds1: (1.95433,0.00000)
+DEAL:Complex double:Logarithm base 10:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: (0.602060,0.00000)
+DEAL:Complex double:Logarithm base 10:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: (1.30288,0.00000)
+DEAL:Complex double:Logarithm base 10:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: (1.30288,0.00000)
+DEAL:Complex double:Logarithm base 10:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: (-0.977163,0.00000)
+DEAL:Complex double:Sin:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Complex double:Sin:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Complex double:Sin:Symbolic computation: Function initialisation::symb_psi: sin(s2/s1)
+DEAL:Complex double:Sin:Symbolic computation: Differentiation::symb_dpsi_ds0: -s2*cos(s2/s1)/s1**2
+DEAL:Complex double:Sin:Symbolic computation: Differentiation::symb_dpsi_ds1: cos(s2/s1)/s1
+DEAL:Complex double:Sin:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: -s2**2*sin(s2/s1)/s1**4 + 2*s2*cos(s2/s1)/s1**3
+DEAL:Complex double:Sin:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -cos(s2/s1)/s1**2 + s2*sin(s2/s1)/s1**3
+DEAL:Complex double:Sin:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -cos(s2/s1)/s1**2 + s2*sin(s2/s1)/s1**3
+DEAL:Complex double:Sin:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: -sin(s2/s1)/s1**2
+DEAL:Complex double:Sin:Symbolic computation: Substitution::subs_psi: (0.618370,0.00000)
+DEAL:Complex double:Sin:Symbolic computation: Substitution::subs_dpsi_ds0: (-0.174642,0.00000)
+DEAL:Complex double:Sin:Symbolic computation: Substitution::subs_dpsi_ds1: (0.261962,0.00000)
+DEAL:Complex double:Sin:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: (0.0858910,0.00000)
+DEAL:Complex double:Sin:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: (-0.0415156,0.00000)
+DEAL:Complex double:Sin:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: (-0.0415156,0.00000)
+DEAL:Complex double:Sin:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: (-0.0687078,0.00000)
+DEAL:Complex double:Cos:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Complex double:Cos:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Complex double:Cos:Symbolic computation: Function initialisation::symb_psi: cos(s2/s1)
+DEAL:Complex double:Cos:Symbolic computation: Differentiation::symb_dpsi_ds0: s2*sin(s2/s1)/s1**2
+DEAL:Complex double:Cos:Symbolic computation: Differentiation::symb_dpsi_ds1: -sin(s2/s1)/s1
+DEAL:Complex double:Cos:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: -s2**2*cos(s2/s1)/s1**4 - 2*s2*sin(s2/s1)/s1**3
+DEAL:Complex double:Cos:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: sin(s2/s1)/s1**2 + s2*cos(s2/s1)/s1**3
+DEAL:Complex double:Cos:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: sin(s2/s1)/s1**2 + s2*cos(s2/s1)/s1**3
+DEAL:Complex double:Cos:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: -cos(s2/s1)/s1**2
+DEAL:Complex double:Cos:Symbolic computation: Substitution::subs_psi: (0.785887,0.00000)
+DEAL:Complex double:Cos:Symbolic computation: Substitution::subs_dpsi_ds0: (0.137416,0.00000)
+DEAL:Complex double:Cos:Symbolic computation: Substitution::subs_dpsi_ds1: (-0.206123,0.00000)
+DEAL:Complex double:Cos:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: (-0.130420,0.00000)
+DEAL:Complex double:Cos:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: (0.126922,0.00000)
+DEAL:Complex double:Cos:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: (0.126922,0.00000)
+DEAL:Complex double:Cos:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: (-0.0873208,0.00000)
+DEAL:Complex double:Tan:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Complex double:Tan:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Complex double:Tan:Symbolic computation: Function initialisation::symb_psi: tan(s2/s1)
+DEAL:Complex double:Tan:Symbolic computation: Differentiation::symb_dpsi_ds0: -s2*(1 + tan(s2/s1)**2)/s1**2
+DEAL:Complex double:Tan:Symbolic computation: Differentiation::symb_dpsi_ds1: (1 + tan(s2/s1)**2)/s1
+DEAL:Complex double:Tan:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 2*s2*(1 + tan(s2/s1)**2)/s1**3 + 2*s2**2*tan(s2/s1)*(1 + tan(s2/s1)**2)/s1**4
+DEAL:Complex double:Tan:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -(1 + tan(s2/s1)**2)/s1**2 - 2*s2*tan(s2/s1)*(1 + tan(s2/s1)**2)/s1**3
+DEAL:Complex double:Tan:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -(1 + tan(s2/s1)**2)/s1**2 - 2*s2*tan(s2/s1)*(1 + tan(s2/s1)**2)/s1**3
+DEAL:Complex double:Tan:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: 2*tan(s2/s1)*(1 + tan(s2/s1)**2)/s1**2
+DEAL:Complex double:Tan:Symbolic computation: Substitution::subs_psi: (0.786843,0.00000)
+DEAL:Complex double:Tan:Symbolic computation: Substitution::subs_dpsi_ds0: (-0.359805,0.00000)
+DEAL:Complex double:Tan:Symbolic computation: Substitution::subs_dpsi_ds1: (0.539707,0.00000)
+DEAL:Complex double:Tan:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: (0.365696,0.00000)
+DEAL:Complex double:Tan:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: (-0.368642,0.00000)
+DEAL:Complex double:Tan:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: (-0.368642,0.00000)
+DEAL:Complex double:Tan:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: (0.283110,0.00000)
+DEAL:Complex double:ASin:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Complex double:ASin:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Complex double:ASin:Symbolic computation: Function initialisation::symb_psi: asin(1.0/(s1*s2))
+DEAL:Complex double:ASin:Symbolic computation: Differentiation::symb_dpsi_ds0: -1.0/(s1**2*s2*sqrt(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Complex double:ASin:Symbolic computation: Differentiation::symb_dpsi_ds1: -1.0/(s1*s2**2*sqrt(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Complex double:ASin:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 1.0*1/(s1**5*s2**3*(1 - 1.0*1/(s1**2*s2**2))**(3/2)) + 2.0*1/(s1**3*s2*sqrt(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Complex double:ASin:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: 1.0*1/(s1**4*s2**4*(1 - 1.0*1/(s1**2*s2**2))**(3/2)) + 1.0*1/(s1**2*s2**2*sqrt(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Complex double:ASin:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: 1.0*1/(s1**4*s2**4*(1 - 1.0*1/(s1**2*s2**2))**(3/2)) + 1.0*1/(s1**2*s2**2*sqrt(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Complex double:ASin:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: 1.0*1/(s1**3*s2**5*(1 - 1.0*1/(s1**2*s2**2))**(3/2)) + 2.0*1/(s1*s2**3*sqrt(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Complex double:ASin:Symbolic computation: Substitution::subs_psi: (0.167448,0.00000)
+DEAL:Complex double:ASin:Symbolic computation: Substitution::subs_dpsi_ds0: (-0.0563436,0.00000)
+DEAL:Complex double:ASin:Symbolic computation: Substitution::subs_dpsi_ds1: (-0.0845154,0.00000)
+DEAL:Complex double:ASin:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: (0.0380990,0.00000)
+DEAL:Complex double:ASin:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: (0.0289767,0.00000)
+DEAL:Complex double:ASin:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: (0.0289767,0.00000)
+DEAL:Complex double:ASin:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: (0.0857228,0.00000)
+DEAL:Complex double:ACos:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Complex double:ACos:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Complex double:ACos:Symbolic computation: Function initialisation::symb_psi: acos(1.0/(s1*s2))
+DEAL:Complex double:ACos:Symbolic computation: Differentiation::symb_dpsi_ds0: 1.0/(s1**2*s2*sqrt(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Complex double:ACos:Symbolic computation: Differentiation::symb_dpsi_ds1: 1.0/(s1*s2**2*sqrt(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Complex double:ACos:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: -1.0*1/(s1**5*s2**3*(1 - 1.0*1/(s1**2*s2**2))**(3/2)) - 2.0*1/(s1**3*s2*sqrt(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Complex double:ACos:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -1.0*1/(s1**4*s2**4*(1 - 1.0*1/(s1**2*s2**2))**(3/2)) - 1.0*1/(s1**2*s2**2*sqrt(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Complex double:ACos:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -1.0*1/(s1**4*s2**4*(1 - 1.0*1/(s1**2*s2**2))**(3/2)) - 1.0*1/(s1**2*s2**2*sqrt(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Complex double:ACos:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: -1.0*1/(s1**3*s2**5*(1 - 1.0*1/(s1**2*s2**2))**(3/2)) - 2.0*1/(s1*s2**3*sqrt(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Complex double:ACos:Symbolic computation: Substitution::subs_psi: (1.40335,0.00000)
+DEAL:Complex double:ACos:Symbolic computation: Substitution::subs_dpsi_ds0: (0.0563436,0.00000)
+DEAL:Complex double:ACos:Symbolic computation: Substitution::subs_dpsi_ds1: (0.0845154,0.00000)
+DEAL:Complex double:ACos:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: (-0.0380990,0.00000)
+DEAL:Complex double:ACos:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: (-0.0289767,0.00000)
+DEAL:Complex double:ACos:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: (-0.0289767,0.00000)
+DEAL:Complex double:ACos:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: (-0.0857228,0.00000)
+DEAL:Complex double:ATan:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Complex double:ATan:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Complex double:ATan:Symbolic computation: Function initialisation::symb_psi: atan(1.0/(s1*s2))
+DEAL:Complex double:ATan:Symbolic computation: Differentiation::symb_dpsi_ds0: -1.0/(s1**2*s2*(1 + 1.0*1/(s1**2*s2**2)))
+DEAL:Complex double:ATan:Symbolic computation: Differentiation::symb_dpsi_ds1: -1.0/(s1*s2**2*(1 + 1.0*1/(s1**2*s2**2)))
+DEAL:Complex double:ATan:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: -2.0*1/(s1**5*s2**3*(1 + 1.0*1/(s1**2*s2**2))**2) + 2.0*1/(s1**3*s2*(1 + 1.0*1/(s1**2*s2**2)))
+DEAL:Complex double:ATan:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -2.0*1/(s1**4*s2**4*(1 + 1.0*1/(s1**2*s2**2))**2) + 1.0*1/(s1**2*s2**2*(1 + 1.0*1/(s1**2*s2**2)))
+DEAL:Complex double:ATan:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -2.0*1/(s1**4*s2**4*(1 + 1.0*1/(s1**2*s2**2))**2) + 1.0*1/(s1**2*s2**2*(1 + 1.0*1/(s1**2*s2**2)))
+DEAL:Complex double:ATan:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: -2.0*1/(s1**3*s2**5*(1 + 1.0*1/(s1**2*s2**2))**2) + 2.0*1/(s1*s2**3*(1 + 1.0*1/(s1**2*s2**2)))
+DEAL:Complex double:ATan:Symbolic computation: Substitution::subs_psi: (0.165149,0.00000)
+DEAL:Complex double:ATan:Symbolic computation: Substitution::subs_dpsi_ds0: (-0.0540541,0.00000)
+DEAL:Complex double:ATan:Symbolic computation: Substitution::subs_dpsi_ds1: (-0.0810811,0.00000)
+DEAL:Complex double:ATan:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: (0.0350621,0.00000)
+DEAL:Complex double:ATan:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: (0.0255661,0.00000)
+DEAL:Complex double:ATan:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: (0.0255661,0.00000)
+DEAL:Complex double:ATan:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: (0.0788897,0.00000)
+DEAL:Complex double:Sinh:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Complex double:Sinh:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Complex double:Sinh:Symbolic computation: Function initialisation::symb_psi: sinh(s2/s1)
+DEAL:Complex double:Sinh:Symbolic computation: Differentiation::symb_dpsi_ds0: -s2*cosh(s2/s1)/s1**2
+DEAL:Complex double:Sinh:Symbolic computation: Differentiation::symb_dpsi_ds1: cosh(s2/s1)/s1
+DEAL:Complex double:Sinh:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: s2**2*sinh(s2/s1)/s1**4 + 2*s2*cosh(s2/s1)/s1**3
+DEAL:Complex double:Sinh:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -cosh(s2/s1)/s1**2 - s2*sinh(s2/s1)/s1**3
+DEAL:Complex double:Sinh:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -cosh(s2/s1)/s1**2 - s2*sinh(s2/s1)/s1**3
+DEAL:Complex double:Sinh:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: sinh(s2/s1)/s1**2
+DEAL:Complex double:Sinh:Symbolic computation: Substitution::subs_psi: (0.717158,0.00000)
+DEAL:Complex double:Sinh:Symbolic computation: Substitution::subs_dpsi_ds0: (-0.273461,0.00000)
+DEAL:Complex double:Sinh:Symbolic computation: Substitution::subs_dpsi_ds1: (0.410192,0.00000)
+DEAL:Complex double:Sinh:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: (0.217723,0.00000)
+DEAL:Complex double:Sinh:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: (-0.189853,0.00000)
+DEAL:Complex double:Sinh:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: (-0.189853,0.00000)
+DEAL:Complex double:Sinh:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: (0.0796843,0.00000)
+DEAL:Complex double:Cosh:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Complex double:Cosh:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Complex double:Cosh:Symbolic computation: Function initialisation::symb_psi: cosh(s2/s1)
+DEAL:Complex double:Cosh:Symbolic computation: Differentiation::symb_dpsi_ds0: -s2*sinh(s2/s1)/s1**2
+DEAL:Complex double:Cosh:Symbolic computation: Differentiation::symb_dpsi_ds1: sinh(s2/s1)/s1
+DEAL:Complex double:Cosh:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: s2**2*cosh(s2/s1)/s1**4 + 2*s2*sinh(s2/s1)/s1**3
+DEAL:Complex double:Cosh:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -sinh(s2/s1)/s1**2 - s2*cosh(s2/s1)/s1**3
+DEAL:Complex double:Cosh:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -sinh(s2/s1)/s1**2 - s2*cosh(s2/s1)/s1**3
+DEAL:Complex double:Cosh:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: cosh(s2/s1)/s1**2
+DEAL:Complex double:Cosh:Symbolic computation: Substitution::subs_psi: (1.23058,0.00000)
+DEAL:Complex double:Cosh:Symbolic computation: Substitution::subs_dpsi_ds0: (-0.159369,0.00000)
+DEAL:Complex double:Cosh:Symbolic computation: Substitution::subs_dpsi_ds1: (0.239053,0.00000)
+DEAL:Complex double:Cosh:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: (0.167015,0.00000)
+DEAL:Complex double:Cosh:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: (-0.170838,0.00000)
+DEAL:Complex double:Cosh:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: (-0.170838,0.00000)
+DEAL:Complex double:Cosh:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: (0.136731,0.00000)
+DEAL:Complex double:Tanh:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Complex double:Tanh:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Complex double:Tanh:Symbolic computation: Function initialisation::symb_psi: tanh(s2/s1)
+DEAL:Complex double:Tanh:Symbolic computation: Differentiation::symb_dpsi_ds0: -s2*(1 - tanh(s2/s1)**2)/s1**2
+DEAL:Complex double:Tanh:Symbolic computation: Differentiation::symb_dpsi_ds1: (1 - tanh(s2/s1)**2)/s1
+DEAL:Complex double:Tanh:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 2*s2*(1 - tanh(s2/s1)**2)/s1**3 - 2*s2**2*tanh(s2/s1)*(1 - tanh(s2/s1)**2)/s1**4
+DEAL:Complex double:Tanh:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -(1 - tanh(s2/s1)**2)/s1**2 + 2*s2*tanh(s2/s1)*(1 - tanh(s2/s1)**2)/s1**3
+DEAL:Complex double:Tanh:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -(1 - tanh(s2/s1)**2)/s1**2 + 2*s2*tanh(s2/s1)*(1 - tanh(s2/s1)**2)/s1**3
+DEAL:Complex double:Tanh:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: -2*tanh(s2/s1)*(1 - tanh(s2/s1)**2)/s1**2
+DEAL:Complex double:Tanh:Symbolic computation: Substitution::subs_psi: (0.582783,0.00000)
+DEAL:Complex double:Tanh:Symbolic computation: Substitution::subs_dpsi_ds0: (-0.146748,0.00000)
+DEAL:Complex double:Tanh:Symbolic computation: Substitution::subs_dpsi_ds1: (0.220121,0.00000)
+DEAL:Complex double:Tanh:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: (0.0598219,0.00000)
+DEAL:Complex double:Tanh:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: (-0.0163591,0.00000)
+DEAL:Complex double:Tanh:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: (-0.0163591,0.00000)
+DEAL:Complex double:Tanh:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: (-0.0855220,0.00000)
+DEAL:Complex double:ASinh:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Complex double:ASinh:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Complex double:ASinh:Symbolic computation: Function initialisation::symb_psi: asinh(1.0/(s1*s2))
+DEAL:Complex double:ASinh:Symbolic computation: Differentiation::symb_dpsi_ds0: -1.0/(s1**2*s2*sqrt(1 + 1.0*1/(s1**2*s2**2)))
+DEAL:Complex double:ASinh:Symbolic computation: Differentiation::symb_dpsi_ds1: -1.0/(s1*s2**2*sqrt(1 + 1.0*1/(s1**2*s2**2)))
+DEAL:Complex double:ASinh:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: -1.0*1/(s1**5*s2**3*(1 + 1.0*1/(s1**2*s2**2))**(3/2)) + 2.0*1/(s1**3*s2*sqrt(1 + 1.0*1/(s1**2*s2**2)))
+DEAL:Complex double:ASinh:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -1.0*1/(s1**4*s2**4*(1 + 1.0*1/(s1**2*s2**2))**(3/2)) + 1.0*1/(s1**2*s2**2*sqrt(1 + 1.0*1/(s1**2*s2**2)))
+DEAL:Complex double:ASinh:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -1.0*1/(s1**4*s2**4*(1 + 1.0*1/(s1**2*s2**2))**(3/2)) + 1.0*1/(s1**2*s2**2*sqrt(1 + 1.0*1/(s1**2*s2**2)))
+DEAL:Complex double:ASinh:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: -1.0*1/(s1**3*s2**5*(1 + 1.0*1/(s1**2*s2**2))**(3/2)) + 2.0*1/(s1*s2**3*sqrt(1 + 1.0*1/(s1**2*s2**2)))
+DEAL:Complex double:ASinh:Symbolic computation: Substitution::subs_psi: (0.165905,0.00000)
+DEAL:Complex double:ASinh:Symbolic computation: Substitution::subs_dpsi_ds0: (-0.0547997,0.00000)
+DEAL:Complex double:ASinh:Symbolic computation: Substitution::subs_dpsi_ds1: (-0.0821995,0.00000)
+DEAL:Complex double:ASinh:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: (0.0360394,0.00000)
+DEAL:Complex double:ASinh:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: (0.0266593,0.00000)
+DEAL:Complex double:ASinh:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: (0.0266593,0.00000)
+DEAL:Complex double:ASinh:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: (0.0810887,0.00000)
+DEAL:Complex double:ACosh:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Complex double:ACosh:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Complex double:ACosh:Symbolic computation: Function initialisation::symb_psi: acosh(s1*s2)
+DEAL:Complex double:ACosh:Symbolic computation: Differentiation::symb_dpsi_ds0: s2/sqrt(-1 + s1**2*s2**2)
+DEAL:Complex double:ACosh:Symbolic computation: Differentiation::symb_dpsi_ds1: s1/sqrt(-1 + s1**2*s2**2)
+DEAL:Complex double:ACosh:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: -s1*s2**3/(-1 + s1**2*s2**2)**(3/2)
+DEAL:Complex double:ACosh:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -s1**2*s2**2/(-1 + s1**2*s2**2)**(3/2) + (-1 + s1**2*s2**2)**(-1/2)
+DEAL:Complex double:ACosh:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -s1**2*s2**2/(-1 + s1**2*s2**2)**(3/2) + (-1 + s1**2*s2**2)**(-1/2)
+DEAL:Complex double:ACosh:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: -s1**3*s2/(-1 + s1**2*s2**2)**(3/2)
+DEAL:Complex double:ACosh:Symbolic computation: Substitution::subs_psi: (2.47789,0.00000)
+DEAL:Complex double:ACosh:Symbolic computation: Substitution::subs_dpsi_ds0: (0.338062,0.00000)
+DEAL:Complex double:ACosh:Symbolic computation: Substitution::subs_dpsi_ds1: (0.507093,0.00000)
+DEAL:Complex double:ACosh:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: (-0.115907,0.00000)
+DEAL:Complex double:ACosh:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: (-0.00482945,0.00000)
+DEAL:Complex double:ACosh:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: (-0.00482945,0.00000)
+DEAL:Complex double:ACosh:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: (-0.260790,0.00000)
+DEAL:Complex double:ATanh:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Complex double:ATanh:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Complex double:ATanh:Symbolic computation: Function initialisation::symb_psi: atanh(1.0/(s1*s2))
+DEAL:Complex double:ATanh:Symbolic computation: Differentiation::symb_dpsi_ds0: -1.0/(s1**2*s2*(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Complex double:ATanh:Symbolic computation: Differentiation::symb_dpsi_ds1: -1.0/(s1*s2**2*(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Complex double:ATanh:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 2.0*1/(s1**5*s2**3*(1 - 1.0*1/(s1**2*s2**2))**2) + 2.0*1/(s1**3*s2*(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Complex double:ATanh:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: 2.0*1/(s1**4*s2**4*(1 - 1.0*1/(s1**2*s2**2))**2) + 1.0*1/(s1**2*s2**2*(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Complex double:ATanh:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: 2.0*1/(s1**4*s2**4*(1 - 1.0*1/(s1**2*s2**2))**2) + 1.0*1/(s1**2*s2**2*(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Complex double:ATanh:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: 2.0*1/(s1**3*s2**5*(1 - 1.0*1/(s1**2*s2**2))**2) + 2.0*1/(s1*s2**3*(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Complex double:ATanh:Symbolic computation: Substitution::subs_psi: (0.168236,0.00000)
+DEAL:Complex double:ATanh:Symbolic computation: Substitution::subs_dpsi_ds0: (-0.0571429,0.00000)
+DEAL:Complex double:ATanh:Symbolic computation: Substitution::subs_dpsi_ds1: (-0.0857143,0.00000)
+DEAL:Complex double:ATanh:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: (0.0391837,0.00000)
+DEAL:Complex double:ATanh:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: (0.0302041,0.00000)
+DEAL:Complex double:ATanh:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: (0.0302041,0.00000)
+DEAL:Complex double:ATanh:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: (0.0881633,0.00000)
+DEAL:Complex double::OK
+DEAL::OK
diff --git a/tests/symengine/batch_optimizer_01_2a.cc b/tests/symengine/batch_optimizer_01_2a.cc
new file mode 100644 (file)
index 0000000..1ad0c03
--- /dev/null
@@ -0,0 +1,41 @@
+// ---------------------------------------------------------------------
+//
+// Copyright (C) 2020 by the deal.II authors
+//
+// This file is part of the deal.II library.
+//
+// The deal.II library is free software; you can use it, redistribute
+// it, and/or modify it under the terms of the GNU Lesser General
+// Public License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+// The full text of the license can be found in the file LICENSE at
+// the top level of the deal.II distribution.
+//
+// ---------------------------------------------------------------------
+
+
+// Test that all of the low-level math operations function as expected
+// and that their values and derivatives can be computed using the
+// optimizer.
+// For this test the optimizer is in mode "lambda", i.e. converting the
+// function expression into a lambda function-based evaluation path.
+// This test is based on function_verification_01.cc
+
+#include "../tests.h"
+
+#include "sd_common_tests/batch_optimizer_01.h"
+
+
+int
+main()
+{
+  initlog();
+
+  const enum SD::OptimizerType     opt_method = SD::OptimizerType::lambda;
+  const enum SD::OptimizationFlags opt_flags =
+    SD::OptimizationFlags::optimize_default;
+
+  run_tests<opt_method, opt_flags>();
+
+  deallog << "OK" << std::endl;
+}
diff --git a/tests/symengine/batch_optimizer_01_2a.output b/tests/symengine/batch_optimizer_01_2a.output
new file mode 100644 (file)
index 0000000..e733d25
--- /dev/null
@@ -0,0 +1,1510 @@
+
+DEAL:Float:Add:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Float:Add:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Float:Add:Symbolic computation: Function initialisation::symb_psi: (s1 + s2)**2
+DEAL:Float:Add:Symbolic computation: Differentiation::symb_dpsi_ds0: 2*(s1 + s2)
+DEAL:Float:Add:Symbolic computation: Differentiation::symb_dpsi_ds1: 2*(s1 + s2)
+DEAL:Float:Add:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 2
+DEAL:Float:Add:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: 2
+DEAL:Float:Add:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: 2
+DEAL:Float:Add:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: 2
+DEAL:Float:Add:Symbolic computation: Substitution::subs_psi: 25.0000
+DEAL:Float:Add:Symbolic computation: Substitution::subs_dpsi_ds0: 10.0000
+DEAL:Float:Add:Symbolic computation: Substitution::subs_dpsi_ds1: 10.0000
+DEAL:Float:Add:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: 2.00000
+DEAL:Float:Add:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: 2.00000
+DEAL:Float:Add:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: 2.00000
+DEAL:Float:Add:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: 2.00000
+DEAL:Float:Subtract:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Float:Subtract:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Float:Subtract:Symbolic computation: Function initialisation::symb_psi: (s1 - s2)**2
+DEAL:Float:Subtract:Symbolic computation: Differentiation::symb_dpsi_ds0: 2*(s1 - s2)
+DEAL:Float:Subtract:Symbolic computation: Differentiation::symb_dpsi_ds1: -2*(s1 - s2)
+DEAL:Float:Subtract:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 2
+DEAL:Float:Subtract:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -2
+DEAL:Float:Subtract:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -2
+DEAL:Float:Subtract:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: 2
+DEAL:Float:Subtract:Symbolic computation: Substitution::subs_psi: 1.00000
+DEAL:Float:Subtract:Symbolic computation: Substitution::subs_dpsi_ds0: 2.00000
+DEAL:Float:Subtract:Symbolic computation: Substitution::subs_dpsi_ds1: -2.00000
+DEAL:Float:Subtract:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: 2.00000
+DEAL:Float:Subtract:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: -2.00000
+DEAL:Float:Subtract:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: -2.00000
+DEAL:Float:Subtract:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: 2.00000
+DEAL:Float:Multiply:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Float:Multiply:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Float:Multiply:Symbolic computation: Function initialisation::symb_psi: s1**2*s2**2
+DEAL:Float:Multiply:Symbolic computation: Differentiation::symb_dpsi_ds0: 2*s1*s2**2
+DEAL:Float:Multiply:Symbolic computation: Differentiation::symb_dpsi_ds1: 2*s1**2*s2
+DEAL:Float:Multiply:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 2*s2**2
+DEAL:Float:Multiply:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: 4*s1*s2
+DEAL:Float:Multiply:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: 4*s1*s2
+DEAL:Float:Multiply:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: 2*s1**2
+DEAL:Float:Multiply:Symbolic computation: Substitution::subs_psi: 36.0000
+DEAL:Float:Multiply:Symbolic computation: Substitution::subs_dpsi_ds0: 24.0000
+DEAL:Float:Multiply:Symbolic computation: Substitution::subs_dpsi_ds1: 36.0000
+DEAL:Float:Multiply:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: 8.00000
+DEAL:Float:Multiply:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: 24.0000
+DEAL:Float:Multiply:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: 24.0000
+DEAL:Float:Multiply:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: 18.0000
+DEAL:Float:Divide:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Float:Divide:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Float:Divide:Symbolic computation: Function initialisation::symb_psi: s1**2/s2**2
+DEAL:Float:Divide:Symbolic computation: Differentiation::symb_dpsi_ds0: 2*s1/s2**2
+DEAL:Float:Divide:Symbolic computation: Differentiation::symb_dpsi_ds1: -2*s1**2/s2**3
+DEAL:Float:Divide:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 2/s2**2
+DEAL:Float:Divide:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -4*s1/s2**3
+DEAL:Float:Divide:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -4*s1/s2**3
+DEAL:Float:Divide:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: 6*s1**2/s2**4
+DEAL:Float:Divide:Symbolic computation: Substitution::subs_psi: 2.25000
+DEAL:Float:Divide:Symbolic computation: Substitution::subs_dpsi_ds0: 1.50000
+DEAL:Float:Divide:Symbolic computation: Substitution::subs_dpsi_ds1: -2.25000
+DEAL:Float:Divide:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: 0.500000
+DEAL:Float:Divide:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: -1.50000
+DEAL:Float:Divide:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: -1.50000
+DEAL:Float:Divide:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: 3.37500
+DEAL:Float:Power:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Float:Power:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Float:Power:Symbolic computation: Function initialisation::symb_psi: 2.0*s1**s2
+DEAL:Float:Power:Symbolic computation: Differentiation::symb_dpsi_ds0: 2.0*s1**(-1 + s2)*s2
+DEAL:Float:Power:Symbolic computation: Differentiation::symb_dpsi_ds1: 2.0*s1**s2*log(s1)
+DEAL:Float:Power:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 2.0*s1**(-2 + s2)*s2*(-1 + s2)
+DEAL:Float:Power:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: 2.0*s1**(-1 + s2)*s2*log(s1) + 2.0*s1**(-1 + s2)
+DEAL:Float:Power:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: 2.0*s1**(-1 + s2)*s2*log(s1) + 2.0*s1**(-1 + s2)
+DEAL:Float:Power:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: 2.0*s1**s2*log(s1)**2
+DEAL:Float:Power:Symbolic computation: Substitution::subs_psi: 18.0000
+DEAL:Float:Power:Symbolic computation: Substitution::subs_dpsi_ds0: 12.0000
+DEAL:Float:Power:Symbolic computation: Substitution::subs_dpsi_ds1: 19.7750
+DEAL:Float:Power:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: 4.00000
+DEAL:Float:Power:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: 19.1833
+DEAL:Float:Power:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: 19.1833
+DEAL:Float:Power:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: 21.7251
+DEAL:Float:Sqrt:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Float:Sqrt:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Float:Sqrt:Symbolic computation: Function initialisation::symb_psi: 2.0*sqrt(s1*s2)
+DEAL:Float:Sqrt:Symbolic computation: Differentiation::symb_dpsi_ds0: 1.0*s2/sqrt(s1*s2)
+DEAL:Float:Sqrt:Symbolic computation: Differentiation::symb_dpsi_ds1: 1.0*s1/sqrt(s1*s2)
+DEAL:Float:Sqrt:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: -0.5*s2**2/(s1*s2)**(3/2)
+DEAL:Float:Sqrt:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -0.5*s1*s2/(s1*s2)**(3/2) + 1.0*(s1*s2)**(-1/2)
+DEAL:Float:Sqrt:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -0.5*s1*s2/(s1*s2)**(3/2) + 1.0*(s1*s2)**(-1/2)
+DEAL:Float:Sqrt:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: -0.5*s1**2/(s1*s2)**(3/2)
+DEAL:Float:Sqrt:Symbolic computation: Substitution::subs_psi: 4.89898
+DEAL:Float:Sqrt:Symbolic computation: Substitution::subs_dpsi_ds0: 0.816497
+DEAL:Float:Sqrt:Symbolic computation: Substitution::subs_dpsi_ds1: 1.22474
+DEAL:Float:Sqrt:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: -0.136083
+DEAL:Float:Sqrt:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: 0.204124
+DEAL:Float:Sqrt:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: 0.204124
+DEAL:Float:Sqrt:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: -0.306186
+DEAL:Float:Exponential:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Float:Exponential:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Float:Exponential:Symbolic computation: Function initialisation::symb_psi: exp(s2)*s1**2
+DEAL:Float:Exponential:Symbolic computation: Differentiation::symb_dpsi_ds0: 2*exp(s2)*s1
+DEAL:Float:Exponential:Symbolic computation: Differentiation::symb_dpsi_ds1: exp(s2)*s1**2
+DEAL:Float:Exponential:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 2*exp(s2)
+DEAL:Float:Exponential:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: 2*exp(s2)*s1
+DEAL:Float:Exponential:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: 2*exp(s2)*s1
+DEAL:Float:Exponential:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: exp(s2)*s1**2
+DEAL:Float:Exponential:Symbolic computation: Substitution::subs_psi: 66.5015
+DEAL:Float:Exponential:Symbolic computation: Substitution::subs_dpsi_ds0: 44.3343
+DEAL:Float:Exponential:Symbolic computation: Substitution::subs_dpsi_ds1: 66.5015
+DEAL:Float:Exponential:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: 14.7781
+DEAL:Float:Exponential:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: 44.3343
+DEAL:Float:Exponential:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: 44.3343
+DEAL:Float:Exponential:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: 66.5015
+DEAL:Float:Logarithm:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Float:Logarithm:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Float:Logarithm:Symbolic computation: Function initialisation::symb_psi: s1**2*log(s2)
+DEAL:Float:Logarithm:Symbolic computation: Differentiation::symb_dpsi_ds0: 2*s1*log(s2)
+DEAL:Float:Logarithm:Symbolic computation: Differentiation::symb_dpsi_ds1: s1**2/s2
+DEAL:Float:Logarithm:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 2*log(s2)
+DEAL:Float:Logarithm:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: 2*s1/s2
+DEAL:Float:Logarithm:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: 2*s1/s2
+DEAL:Float:Logarithm:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: -s1**2/s2**2
+DEAL:Float:Logarithm:Symbolic computation: Substitution::subs_psi: 6.23832
+DEAL:Float:Logarithm:Symbolic computation: Substitution::subs_dpsi_ds0: 4.15888
+DEAL:Float:Logarithm:Symbolic computation: Substitution::subs_dpsi_ds1: 4.50000
+DEAL:Float:Logarithm:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: 1.38629
+DEAL:Float:Logarithm:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: 3.00000
+DEAL:Float:Logarithm:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: 3.00000
+DEAL:Float:Logarithm:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: -2.25000
+DEAL:Float:Logarithm with Base:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Float:Logarithm with Base:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Float:Logarithm with Base:Symbolic computation: Function initialisation::symb_psi: log(s2)/log(s1)
+DEAL:Float:Logarithm with Base:Symbolic computation: Differentiation::symb_dpsi_ds0: -log(s2)/(s1*log(s1)**2)
+DEAL:Float:Logarithm with Base:Symbolic computation: Differentiation::symb_dpsi_ds1: 1/(s2*log(s1))
+DEAL:Float:Logarithm with Base:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 2*log(s2)/(s1**2*log(s1)**3) + log(s2)/(s1**2*log(s1)**2)
+DEAL:Float:Logarithm with Base:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -1/(s1*s2*log(s1)**2)
+DEAL:Float:Logarithm with Base:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -1/(s1*s2*log(s1)**2)
+DEAL:Float:Logarithm with Base:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: -1/(s2**2*log(s1))
+DEAL:Float:Logarithm with Base:Symbolic computation: Substitution::subs_psi: 0.630930
+DEAL:Float:Logarithm with Base:Symbolic computation: Substitution::subs_dpsi_ds0: -0.191432
+DEAL:Float:Logarithm with Base:Symbolic computation: Substitution::subs_dpsi_ds1: 0.455120
+DEAL:Float:Logarithm with Base:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: 0.179977
+DEAL:Float:Logarithm with Base:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: -0.138089
+DEAL:Float:Logarithm with Base:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: -0.138089
+DEAL:Float:Logarithm with Base:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: -0.227560
+DEAL:Float:Logarithm base 10:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Float:Logarithm base 10:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Float:Logarithm base 10:Symbolic computation: Function initialisation::symb_psi: 0.434294481903252*s1**2*log(s2)
+DEAL:Float:Logarithm base 10:Symbolic computation: Differentiation::symb_dpsi_ds0: 0.868588963806504*s1*log(s2)
+DEAL:Float:Logarithm base 10:Symbolic computation: Differentiation::symb_dpsi_ds1: 0.434294481903252*s1**2/s2
+DEAL:Float:Logarithm base 10:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 0.868588963806504*log(s2)
+DEAL:Float:Logarithm base 10:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: 0.868588963806504*s1/s2
+DEAL:Float:Logarithm base 10:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: 0.868588963806504*s1/s2
+DEAL:Float:Logarithm base 10:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: -0.434294481903252*s1**2/s2**2
+DEAL:Float:Logarithm base 10:Symbolic computation: Substitution::subs_psi: 2.70927
+DEAL:Float:Logarithm base 10:Symbolic computation: Substitution::subs_dpsi_ds0: 1.80618
+DEAL:Float:Logarithm base 10:Symbolic computation: Substitution::subs_dpsi_ds1: 1.95433
+DEAL:Float:Logarithm base 10:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: 0.602060
+DEAL:Float:Logarithm base 10:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: 1.30288
+DEAL:Float:Logarithm base 10:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: 1.30288
+DEAL:Float:Logarithm base 10:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: -0.977163
+DEAL:Float:Sin:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Float:Sin:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Float:Sin:Symbolic computation: Function initialisation::symb_psi: sin(s2/s1)
+DEAL:Float:Sin:Symbolic computation: Differentiation::symb_dpsi_ds0: -s2*cos(s2/s1)/s1**2
+DEAL:Float:Sin:Symbolic computation: Differentiation::symb_dpsi_ds1: cos(s2/s1)/s1
+DEAL:Float:Sin:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: -s2**2*sin(s2/s1)/s1**4 + 2*s2*cos(s2/s1)/s1**3
+DEAL:Float:Sin:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -cos(s2/s1)/s1**2 + s2*sin(s2/s1)/s1**3
+DEAL:Float:Sin:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -cos(s2/s1)/s1**2 + s2*sin(s2/s1)/s1**3
+DEAL:Float:Sin:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: -sin(s2/s1)/s1**2
+DEAL:Float:Sin:Symbolic computation: Substitution::subs_psi: 0.618370
+DEAL:Float:Sin:Symbolic computation: Substitution::subs_dpsi_ds0: -0.174642
+DEAL:Float:Sin:Symbolic computation: Substitution::subs_dpsi_ds1: 0.261962
+DEAL:Float:Sin:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: 0.0858910
+DEAL:Float:Sin:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: -0.0415156
+DEAL:Float:Sin:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: -0.0415156
+DEAL:Float:Sin:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: -0.0687078
+DEAL:Float:Cos:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Float:Cos:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Float:Cos:Symbolic computation: Function initialisation::symb_psi: cos(s2/s1)
+DEAL:Float:Cos:Symbolic computation: Differentiation::symb_dpsi_ds0: s2*sin(s2/s1)/s1**2
+DEAL:Float:Cos:Symbolic computation: Differentiation::symb_dpsi_ds1: -sin(s2/s1)/s1
+DEAL:Float:Cos:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: -s2**2*cos(s2/s1)/s1**4 - 2*s2*sin(s2/s1)/s1**3
+DEAL:Float:Cos:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: sin(s2/s1)/s1**2 + s2*cos(s2/s1)/s1**3
+DEAL:Float:Cos:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: sin(s2/s1)/s1**2 + s2*cos(s2/s1)/s1**3
+DEAL:Float:Cos:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: -cos(s2/s1)/s1**2
+DEAL:Float:Cos:Symbolic computation: Substitution::subs_psi: 0.785887
+DEAL:Float:Cos:Symbolic computation: Substitution::subs_dpsi_ds0: 0.137416
+DEAL:Float:Cos:Symbolic computation: Substitution::subs_dpsi_ds1: -0.206123
+DEAL:Float:Cos:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: -0.130420
+DEAL:Float:Cos:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: 0.126922
+DEAL:Float:Cos:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: 0.126922
+DEAL:Float:Cos:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: -0.0873208
+DEAL:Float:Tan:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Float:Tan:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Float:Tan:Symbolic computation: Function initialisation::symb_psi: tan(s2/s1)
+DEAL:Float:Tan:Symbolic computation: Differentiation::symb_dpsi_ds0: -s2*(1 + tan(s2/s1)**2)/s1**2
+DEAL:Float:Tan:Symbolic computation: Differentiation::symb_dpsi_ds1: (1 + tan(s2/s1)**2)/s1
+DEAL:Float:Tan:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 2*s2*(1 + tan(s2/s1)**2)/s1**3 + 2*s2**2*tan(s2/s1)*(1 + tan(s2/s1)**2)/s1**4
+DEAL:Float:Tan:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -(1 + tan(s2/s1)**2)/s1**2 - 2*s2*tan(s2/s1)*(1 + tan(s2/s1)**2)/s1**3
+DEAL:Float:Tan:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -(1 + tan(s2/s1)**2)/s1**2 - 2*s2*tan(s2/s1)*(1 + tan(s2/s1)**2)/s1**3
+DEAL:Float:Tan:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: 2*tan(s2/s1)*(1 + tan(s2/s1)**2)/s1**2
+DEAL:Float:Tan:Symbolic computation: Substitution::subs_psi: 0.786843
+DEAL:Float:Tan:Symbolic computation: Substitution::subs_dpsi_ds0: -0.359805
+DEAL:Float:Tan:Symbolic computation: Substitution::subs_dpsi_ds1: 0.539707
+DEAL:Float:Tan:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: 0.365696
+DEAL:Float:Tan:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: -0.368642
+DEAL:Float:Tan:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: -0.368642
+DEAL:Float:Tan:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: 0.283110
+DEAL:Float:ASin:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Float:ASin:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Float:ASin:Symbolic computation: Function initialisation::symb_psi: asin(1.0/(s1*s2))
+DEAL:Float:ASin:Symbolic computation: Differentiation::symb_dpsi_ds0: -1.0/(s1**2*s2*sqrt(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Float:ASin:Symbolic computation: Differentiation::symb_dpsi_ds1: -1.0/(s1*s2**2*sqrt(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Float:ASin:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 1.0*1/(s1**5*s2**3*(1 - 1.0*1/(s1**2*s2**2))**(3/2)) + 2.0*1/(s1**3*s2*sqrt(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Float:ASin:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: 1.0*1/(s1**4*s2**4*(1 - 1.0*1/(s1**2*s2**2))**(3/2)) + 1.0*1/(s1**2*s2**2*sqrt(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Float:ASin:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: 1.0*1/(s1**4*s2**4*(1 - 1.0*1/(s1**2*s2**2))**(3/2)) + 1.0*1/(s1**2*s2**2*sqrt(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Float:ASin:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: 1.0*1/(s1**3*s2**5*(1 - 1.0*1/(s1**2*s2**2))**(3/2)) + 2.0*1/(s1*s2**3*sqrt(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Float:ASin:Symbolic computation: Substitution::subs_psi: 0.167448
+DEAL:Float:ASin:Symbolic computation: Substitution::subs_dpsi_ds0: -0.0563436
+DEAL:Float:ASin:Symbolic computation: Substitution::subs_dpsi_ds1: -0.0845154
+DEAL:Float:ASin:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: 0.0380990
+DEAL:Float:ASin:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: 0.0289767
+DEAL:Float:ASin:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: 0.0289767
+DEAL:Float:ASin:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: 0.0857228
+DEAL:Float:ACos:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Float:ACos:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Float:ACos:Symbolic computation: Function initialisation::symb_psi: acos(1.0/(s1*s2))
+DEAL:Float:ACos:Symbolic computation: Differentiation::symb_dpsi_ds0: 1.0/(s1**2*s2*sqrt(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Float:ACos:Symbolic computation: Differentiation::symb_dpsi_ds1: 1.0/(s1*s2**2*sqrt(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Float:ACos:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: -1.0*1/(s1**5*s2**3*(1 - 1.0*1/(s1**2*s2**2))**(3/2)) - 2.0*1/(s1**3*s2*sqrt(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Float:ACos:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -1.0*1/(s1**4*s2**4*(1 - 1.0*1/(s1**2*s2**2))**(3/2)) - 1.0*1/(s1**2*s2**2*sqrt(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Float:ACos:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -1.0*1/(s1**4*s2**4*(1 - 1.0*1/(s1**2*s2**2))**(3/2)) - 1.0*1/(s1**2*s2**2*sqrt(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Float:ACos:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: -1.0*1/(s1**3*s2**5*(1 - 1.0*1/(s1**2*s2**2))**(3/2)) - 2.0*1/(s1*s2**3*sqrt(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Float:ACos:Symbolic computation: Substitution::subs_psi: 1.40335
+DEAL:Float:ACos:Symbolic computation: Substitution::subs_dpsi_ds0: 0.0563436
+DEAL:Float:ACos:Symbolic computation: Substitution::subs_dpsi_ds1: 0.0845154
+DEAL:Float:ACos:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: -0.0380990
+DEAL:Float:ACos:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: -0.0289767
+DEAL:Float:ACos:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: -0.0289767
+DEAL:Float:ACos:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: -0.0857228
+DEAL:Float:ATan:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Float:ATan:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Float:ATan:Symbolic computation: Function initialisation::symb_psi: atan(1.0/(s1*s2))
+DEAL:Float:ATan:Symbolic computation: Differentiation::symb_dpsi_ds0: -1.0/(s1**2*s2*(1 + 1.0*1/(s1**2*s2**2)))
+DEAL:Float:ATan:Symbolic computation: Differentiation::symb_dpsi_ds1: -1.0/(s1*s2**2*(1 + 1.0*1/(s1**2*s2**2)))
+DEAL:Float:ATan:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: -2.0*1/(s1**5*s2**3*(1 + 1.0*1/(s1**2*s2**2))**2) + 2.0*1/(s1**3*s2*(1 + 1.0*1/(s1**2*s2**2)))
+DEAL:Float:ATan:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -2.0*1/(s1**4*s2**4*(1 + 1.0*1/(s1**2*s2**2))**2) + 1.0*1/(s1**2*s2**2*(1 + 1.0*1/(s1**2*s2**2)))
+DEAL:Float:ATan:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -2.0*1/(s1**4*s2**4*(1 + 1.0*1/(s1**2*s2**2))**2) + 1.0*1/(s1**2*s2**2*(1 + 1.0*1/(s1**2*s2**2)))
+DEAL:Float:ATan:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: -2.0*1/(s1**3*s2**5*(1 + 1.0*1/(s1**2*s2**2))**2) + 2.0*1/(s1*s2**3*(1 + 1.0*1/(s1**2*s2**2)))
+DEAL:Float:ATan:Symbolic computation: Substitution::subs_psi: 0.165149
+DEAL:Float:ATan:Symbolic computation: Substitution::subs_dpsi_ds0: -0.0540541
+DEAL:Float:ATan:Symbolic computation: Substitution::subs_dpsi_ds1: -0.0810811
+DEAL:Float:ATan:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: 0.0350621
+DEAL:Float:ATan:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: 0.0255661
+DEAL:Float:ATan:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: 0.0255661
+DEAL:Float:ATan:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: 0.0788897
+DEAL:Float:ATan2:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Float:ATan2:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Float:ATan2:Symbolic computation: Function initialisation::symb_psi: 3.0*atan2(s2, s1)
+DEAL:Float:ATan2:Symbolic computation: Differentiation::symb_dpsi_ds0: -3.0*s2/(s1**2 + s2**2)
+DEAL:Float:ATan2:Symbolic computation: Differentiation::symb_dpsi_ds1: 3.0*s1/(s1**2 + s2**2)
+DEAL:Float:ATan2:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 6.0*s1*s2/(s1**2 + s2**2)**2
+DEAL:Float:ATan2:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: 6.0*s2**2/(s1**2 + s2**2)**2 - 3.0*(s1**2 + s2**2)**(-1)
+DEAL:Float:ATan2:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -6.0*s1**2/(s1**2 + s2**2)**2 + 3.0*(s1**2 + s2**2)**(-1)
+DEAL:Float:ATan2:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: -6.0*s1*s2/(s1**2 + s2**2)**2
+DEAL:Float:ATan2:Symbolic computation: Substitution::subs_psi: 1.76401
+DEAL:Float:ATan2:Symbolic computation: Substitution::subs_dpsi_ds0: -0.461538
+DEAL:Float:ATan2:Symbolic computation: Substitution::subs_dpsi_ds1: 0.692308
+DEAL:Float:ATan2:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: 0.213018
+DEAL:Float:ATan2:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: -0.0887574
+DEAL:Float:ATan2:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: -0.0887574
+DEAL:Float:ATan2:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: -0.213018
+DEAL:Float:Sinh:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Float:Sinh:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Float:Sinh:Symbolic computation: Function initialisation::symb_psi: sinh(s2/s1)
+DEAL:Float:Sinh:Symbolic computation: Differentiation::symb_dpsi_ds0: -s2*cosh(s2/s1)/s1**2
+DEAL:Float:Sinh:Symbolic computation: Differentiation::symb_dpsi_ds1: cosh(s2/s1)/s1
+DEAL:Float:Sinh:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: s2**2*sinh(s2/s1)/s1**4 + 2*s2*cosh(s2/s1)/s1**3
+DEAL:Float:Sinh:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -cosh(s2/s1)/s1**2 - s2*sinh(s2/s1)/s1**3
+DEAL:Float:Sinh:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -cosh(s2/s1)/s1**2 - s2*sinh(s2/s1)/s1**3
+DEAL:Float:Sinh:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: sinh(s2/s1)/s1**2
+DEAL:Float:Sinh:Symbolic computation: Substitution::subs_psi: 0.717158
+DEAL:Float:Sinh:Symbolic computation: Substitution::subs_dpsi_ds0: -0.273461
+DEAL:Float:Sinh:Symbolic computation: Substitution::subs_dpsi_ds1: 0.410192
+DEAL:Float:Sinh:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: 0.217723
+DEAL:Float:Sinh:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: -0.189853
+DEAL:Float:Sinh:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: -0.189853
+DEAL:Float:Sinh:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: 0.0796843
+DEAL:Float:Cosh:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Float:Cosh:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Float:Cosh:Symbolic computation: Function initialisation::symb_psi: cosh(s2/s1)
+DEAL:Float:Cosh:Symbolic computation: Differentiation::symb_dpsi_ds0: -s2*sinh(s2/s1)/s1**2
+DEAL:Float:Cosh:Symbolic computation: Differentiation::symb_dpsi_ds1: sinh(s2/s1)/s1
+DEAL:Float:Cosh:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: s2**2*cosh(s2/s1)/s1**4 + 2*s2*sinh(s2/s1)/s1**3
+DEAL:Float:Cosh:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -sinh(s2/s1)/s1**2 - s2*cosh(s2/s1)/s1**3
+DEAL:Float:Cosh:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -sinh(s2/s1)/s1**2 - s2*cosh(s2/s1)/s1**3
+DEAL:Float:Cosh:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: cosh(s2/s1)/s1**2
+DEAL:Float:Cosh:Symbolic computation: Substitution::subs_psi: 1.23058
+DEAL:Float:Cosh:Symbolic computation: Substitution::subs_dpsi_ds0: -0.159369
+DEAL:Float:Cosh:Symbolic computation: Substitution::subs_dpsi_ds1: 0.239053
+DEAL:Float:Cosh:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: 0.167015
+DEAL:Float:Cosh:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: -0.170838
+DEAL:Float:Cosh:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: -0.170838
+DEAL:Float:Cosh:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: 0.136731
+DEAL:Float:Tanh:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Float:Tanh:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Float:Tanh:Symbolic computation: Function initialisation::symb_psi: tanh(s2/s1)
+DEAL:Float:Tanh:Symbolic computation: Differentiation::symb_dpsi_ds0: -s2*(1 - tanh(s2/s1)**2)/s1**2
+DEAL:Float:Tanh:Symbolic computation: Differentiation::symb_dpsi_ds1: (1 - tanh(s2/s1)**2)/s1
+DEAL:Float:Tanh:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 2*s2*(1 - tanh(s2/s1)**2)/s1**3 - 2*s2**2*tanh(s2/s1)*(1 - tanh(s2/s1)**2)/s1**4
+DEAL:Float:Tanh:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -(1 - tanh(s2/s1)**2)/s1**2 + 2*s2*tanh(s2/s1)*(1 - tanh(s2/s1)**2)/s1**3
+DEAL:Float:Tanh:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -(1 - tanh(s2/s1)**2)/s1**2 + 2*s2*tanh(s2/s1)*(1 - tanh(s2/s1)**2)/s1**3
+DEAL:Float:Tanh:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: -2*tanh(s2/s1)*(1 - tanh(s2/s1)**2)/s1**2
+DEAL:Float:Tanh:Symbolic computation: Substitution::subs_psi: 0.582783
+DEAL:Float:Tanh:Symbolic computation: Substitution::subs_dpsi_ds0: -0.146748
+DEAL:Float:Tanh:Symbolic computation: Substitution::subs_dpsi_ds1: 0.220121
+DEAL:Float:Tanh:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: 0.0598219
+DEAL:Float:Tanh:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: -0.0163591
+DEAL:Float:Tanh:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: -0.0163591
+DEAL:Float:Tanh:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: -0.0855220
+DEAL:Float:ASinh:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Float:ASinh:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Float:ASinh:Symbolic computation: Function initialisation::symb_psi: asinh(1.0/(s1*s2))
+DEAL:Float:ASinh:Symbolic computation: Differentiation::symb_dpsi_ds0: -1.0/(s1**2*s2*sqrt(1 + 1.0*1/(s1**2*s2**2)))
+DEAL:Float:ASinh:Symbolic computation: Differentiation::symb_dpsi_ds1: -1.0/(s1*s2**2*sqrt(1 + 1.0*1/(s1**2*s2**2)))
+DEAL:Float:ASinh:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: -1.0*1/(s1**5*s2**3*(1 + 1.0*1/(s1**2*s2**2))**(3/2)) + 2.0*1/(s1**3*s2*sqrt(1 + 1.0*1/(s1**2*s2**2)))
+DEAL:Float:ASinh:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -1.0*1/(s1**4*s2**4*(1 + 1.0*1/(s1**2*s2**2))**(3/2)) + 1.0*1/(s1**2*s2**2*sqrt(1 + 1.0*1/(s1**2*s2**2)))
+DEAL:Float:ASinh:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -1.0*1/(s1**4*s2**4*(1 + 1.0*1/(s1**2*s2**2))**(3/2)) + 1.0*1/(s1**2*s2**2*sqrt(1 + 1.0*1/(s1**2*s2**2)))
+DEAL:Float:ASinh:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: -1.0*1/(s1**3*s2**5*(1 + 1.0*1/(s1**2*s2**2))**(3/2)) + 2.0*1/(s1*s2**3*sqrt(1 + 1.0*1/(s1**2*s2**2)))
+DEAL:Float:ASinh:Symbolic computation: Substitution::subs_psi: 0.165905
+DEAL:Float:ASinh:Symbolic computation: Substitution::subs_dpsi_ds0: -0.0547997
+DEAL:Float:ASinh:Symbolic computation: Substitution::subs_dpsi_ds1: -0.0821995
+DEAL:Float:ASinh:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: 0.0360394
+DEAL:Float:ASinh:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: 0.0266593
+DEAL:Float:ASinh:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: 0.0266593
+DEAL:Float:ASinh:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: 0.0810887
+DEAL:Float:ACosh:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Float:ACosh:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Float:ACosh:Symbolic computation: Function initialisation::symb_psi: acosh(s1*s2)
+DEAL:Float:ACosh:Symbolic computation: Differentiation::symb_dpsi_ds0: s2/sqrt(-1 + s1**2*s2**2)
+DEAL:Float:ACosh:Symbolic computation: Differentiation::symb_dpsi_ds1: s1/sqrt(-1 + s1**2*s2**2)
+DEAL:Float:ACosh:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: -s1*s2**3/(-1 + s1**2*s2**2)**(3/2)
+DEAL:Float:ACosh:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -s1**2*s2**2/(-1 + s1**2*s2**2)**(3/2) + (-1 + s1**2*s2**2)**(-1/2)
+DEAL:Float:ACosh:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -s1**2*s2**2/(-1 + s1**2*s2**2)**(3/2) + (-1 + s1**2*s2**2)**(-1/2)
+DEAL:Float:ACosh:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: -s1**3*s2/(-1 + s1**2*s2**2)**(3/2)
+DEAL:Float:ACosh:Symbolic computation: Substitution::subs_psi: 2.47789
+DEAL:Float:ACosh:Symbolic computation: Substitution::subs_dpsi_ds0: 0.338062
+DEAL:Float:ACosh:Symbolic computation: Substitution::subs_dpsi_ds1: 0.507093
+DEAL:Float:ACosh:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: -0.115907
+DEAL:Float:ACosh:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: -0.00482945
+DEAL:Float:ACosh:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: -0.00482945
+DEAL:Float:ACosh:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: -0.260790
+DEAL:Float:ATanh:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Float:ATanh:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Float:ATanh:Symbolic computation: Function initialisation::symb_psi: atanh(1.0/(s1*s2))
+DEAL:Float:ATanh:Symbolic computation: Differentiation::symb_dpsi_ds0: -1.0/(s1**2*s2*(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Float:ATanh:Symbolic computation: Differentiation::symb_dpsi_ds1: -1.0/(s1*s2**2*(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Float:ATanh:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 2.0*1/(s1**5*s2**3*(1 - 1.0*1/(s1**2*s2**2))**2) + 2.0*1/(s1**3*s2*(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Float:ATanh:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: 2.0*1/(s1**4*s2**4*(1 - 1.0*1/(s1**2*s2**2))**2) + 1.0*1/(s1**2*s2**2*(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Float:ATanh:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: 2.0*1/(s1**4*s2**4*(1 - 1.0*1/(s1**2*s2**2))**2) + 1.0*1/(s1**2*s2**2*(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Float:ATanh:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: 2.0*1/(s1**3*s2**5*(1 - 1.0*1/(s1**2*s2**2))**2) + 2.0*1/(s1*s2**3*(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Float:ATanh:Symbolic computation: Substitution::subs_psi: 0.168236
+DEAL:Float:ATanh:Symbolic computation: Substitution::subs_dpsi_ds0: -0.0571429
+DEAL:Float:ATanh:Symbolic computation: Substitution::subs_dpsi_ds1: -0.0857143
+DEAL:Float:ATanh:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: 0.0391837
+DEAL:Float:ATanh:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: 0.0302041
+DEAL:Float:ATanh:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: 0.0302041
+DEAL:Float:ATanh:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: 0.0881633
+DEAL:Float:Erf:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Float:Erf:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Float:Erf:Symbolic computation: Function initialisation::symb_psi: s1**2*erf(s2)
+DEAL:Float:Erf:Symbolic computation: Differentiation::symb_dpsi_ds0: 2*s1*erf(s2)
+DEAL:Float:Erf:Symbolic computation: Differentiation::symb_dpsi_ds1: 2*exp(-s2**2)*s1**2/sqrt(pi)
+DEAL:Float:Erf:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 2*erf(s2)
+DEAL:Float:Erf:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: 4*exp(-s2**2)*s1/sqrt(pi)
+DEAL:Float:Erf:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: 4*exp(-s2**2)*s1/sqrt(pi)
+DEAL:Float:Erf:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: -4*exp(-s2**2)*s1**2*s2/sqrt(pi)
+DEAL:Float:Erf:Symbolic computation: Substitution::subs_psi: 8.95790
+DEAL:Float:Erf:Symbolic computation: Substitution::subs_dpsi_ds0: 5.97193
+DEAL:Float:Erf:Symbolic computation: Substitution::subs_dpsi_ds1: 0.186003
+DEAL:Float:Erf:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: 1.99064
+DEAL:Float:Erf:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: 0.124002
+DEAL:Float:Erf:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: 0.124002
+DEAL:Float:Erf:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: -0.744011
+DEAL:Float:Erfc:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Float:Erfc:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Float:Erfc:Symbolic computation: Function initialisation::symb_psi: s1**2*erfc(s2)
+DEAL:Float:Erfc:Symbolic computation: Differentiation::symb_dpsi_ds0: 2*s1*erfc(s2)
+DEAL:Float:Erfc:Symbolic computation: Differentiation::symb_dpsi_ds1: -2*exp(-s2**2)*s1**2/sqrt(pi)
+DEAL:Float:Erfc:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 2*erfc(s2)
+DEAL:Float:Erfc:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -4*exp(-s2**2)*s1/sqrt(pi)
+DEAL:Float:Erfc:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -4*exp(-s2**2)*s1/sqrt(pi)
+DEAL:Float:Erfc:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: 4*exp(-s2**2)*s1**2*s2/sqrt(pi)
+DEAL:Float:Erfc:Symbolic computation: Substitution::subs_psi: 0.0420996
+DEAL:Float:Erfc:Symbolic computation: Substitution::subs_dpsi_ds0: 0.0280664
+DEAL:Float:Erfc:Symbolic computation: Substitution::subs_dpsi_ds1: -0.186003
+DEAL:Float:Erfc:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: 0.00935547
+DEAL:Float:Erfc:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: -0.124002
+DEAL:Float:Erfc:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: -0.124002
+DEAL:Float:Erfc:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: 0.744011
+DEAL:Float::OK
+DEAL:Double:Add:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Double:Add:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Double:Add:Symbolic computation: Function initialisation::symb_psi: (s1 + s2)**2
+DEAL:Double:Add:Symbolic computation: Differentiation::symb_dpsi_ds0: 2*(s1 + s2)
+DEAL:Double:Add:Symbolic computation: Differentiation::symb_dpsi_ds1: 2*(s1 + s2)
+DEAL:Double:Add:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 2
+DEAL:Double:Add:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: 2
+DEAL:Double:Add:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: 2
+DEAL:Double:Add:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: 2
+DEAL:Double:Add:Symbolic computation: Substitution::subs_psi: 25.0000
+DEAL:Double:Add:Symbolic computation: Substitution::subs_dpsi_ds0: 10.0000
+DEAL:Double:Add:Symbolic computation: Substitution::subs_dpsi_ds1: 10.0000
+DEAL:Double:Add:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: 2.00000
+DEAL:Double:Add:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: 2.00000
+DEAL:Double:Add:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: 2.00000
+DEAL:Double:Add:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: 2.00000
+DEAL:Double:Subtract:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Double:Subtract:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Double:Subtract:Symbolic computation: Function initialisation::symb_psi: (s1 - s2)**2
+DEAL:Double:Subtract:Symbolic computation: Differentiation::symb_dpsi_ds0: 2*(s1 - s2)
+DEAL:Double:Subtract:Symbolic computation: Differentiation::symb_dpsi_ds1: -2*(s1 - s2)
+DEAL:Double:Subtract:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 2
+DEAL:Double:Subtract:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -2
+DEAL:Double:Subtract:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -2
+DEAL:Double:Subtract:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: 2
+DEAL:Double:Subtract:Symbolic computation: Substitution::subs_psi: 1.00000
+DEAL:Double:Subtract:Symbolic computation: Substitution::subs_dpsi_ds0: 2.00000
+DEAL:Double:Subtract:Symbolic computation: Substitution::subs_dpsi_ds1: -2.00000
+DEAL:Double:Subtract:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: 2.00000
+DEAL:Double:Subtract:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: -2.00000
+DEAL:Double:Subtract:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: -2.00000
+DEAL:Double:Subtract:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: 2.00000
+DEAL:Double:Multiply:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Double:Multiply:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Double:Multiply:Symbolic computation: Function initialisation::symb_psi: s1**2*s2**2
+DEAL:Double:Multiply:Symbolic computation: Differentiation::symb_dpsi_ds0: 2*s1*s2**2
+DEAL:Double:Multiply:Symbolic computation: Differentiation::symb_dpsi_ds1: 2*s1**2*s2
+DEAL:Double:Multiply:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 2*s2**2
+DEAL:Double:Multiply:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: 4*s1*s2
+DEAL:Double:Multiply:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: 4*s1*s2
+DEAL:Double:Multiply:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: 2*s1**2
+DEAL:Double:Multiply:Symbolic computation: Substitution::subs_psi: 36.0000
+DEAL:Double:Multiply:Symbolic computation: Substitution::subs_dpsi_ds0: 24.0000
+DEAL:Double:Multiply:Symbolic computation: Substitution::subs_dpsi_ds1: 36.0000
+DEAL:Double:Multiply:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: 8.00000
+DEAL:Double:Multiply:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: 24.0000
+DEAL:Double:Multiply:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: 24.0000
+DEAL:Double:Multiply:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: 18.0000
+DEAL:Double:Divide:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Double:Divide:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Double:Divide:Symbolic computation: Function initialisation::symb_psi: s1**2/s2**2
+DEAL:Double:Divide:Symbolic computation: Differentiation::symb_dpsi_ds0: 2*s1/s2**2
+DEAL:Double:Divide:Symbolic computation: Differentiation::symb_dpsi_ds1: -2*s1**2/s2**3
+DEAL:Double:Divide:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 2/s2**2
+DEAL:Double:Divide:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -4*s1/s2**3
+DEAL:Double:Divide:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -4*s1/s2**3
+DEAL:Double:Divide:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: 6*s1**2/s2**4
+DEAL:Double:Divide:Symbolic computation: Substitution::subs_psi: 2.25000
+DEAL:Double:Divide:Symbolic computation: Substitution::subs_dpsi_ds0: 1.50000
+DEAL:Double:Divide:Symbolic computation: Substitution::subs_dpsi_ds1: -2.25000
+DEAL:Double:Divide:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: 0.500000
+DEAL:Double:Divide:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: -1.50000
+DEAL:Double:Divide:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: -1.50000
+DEAL:Double:Divide:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: 3.37500
+DEAL:Double:Power:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Double:Power:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Double:Power:Symbolic computation: Function initialisation::symb_psi: 2.0*s1**s2
+DEAL:Double:Power:Symbolic computation: Differentiation::symb_dpsi_ds0: 2.0*s1**(-1 + s2)*s2
+DEAL:Double:Power:Symbolic computation: Differentiation::symb_dpsi_ds1: 2.0*s1**s2*log(s1)
+DEAL:Double:Power:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 2.0*s1**(-2 + s2)*s2*(-1 + s2)
+DEAL:Double:Power:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: 2.0*s1**(-1 + s2)*s2*log(s1) + 2.0*s1**(-1 + s2)
+DEAL:Double:Power:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: 2.0*s1**(-1 + s2)*s2*log(s1) + 2.0*s1**(-1 + s2)
+DEAL:Double:Power:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: 2.0*s1**s2*log(s1)**2
+DEAL:Double:Power:Symbolic computation: Substitution::subs_psi: 18.0000
+DEAL:Double:Power:Symbolic computation: Substitution::subs_dpsi_ds0: 12.0000
+DEAL:Double:Power:Symbolic computation: Substitution::subs_dpsi_ds1: 19.7750
+DEAL:Double:Power:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: 4.00000
+DEAL:Double:Power:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: 19.1833
+DEAL:Double:Power:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: 19.1833
+DEAL:Double:Power:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: 21.7251
+DEAL:Double:Sqrt:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Double:Sqrt:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Double:Sqrt:Symbolic computation: Function initialisation::symb_psi: 2.0*sqrt(s1*s2)
+DEAL:Double:Sqrt:Symbolic computation: Differentiation::symb_dpsi_ds0: 1.0*s2/sqrt(s1*s2)
+DEAL:Double:Sqrt:Symbolic computation: Differentiation::symb_dpsi_ds1: 1.0*s1/sqrt(s1*s2)
+DEAL:Double:Sqrt:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: -0.5*s2**2/(s1*s2)**(3/2)
+DEAL:Double:Sqrt:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -0.5*s1*s2/(s1*s2)**(3/2) + 1.0*(s1*s2)**(-1/2)
+DEAL:Double:Sqrt:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -0.5*s1*s2/(s1*s2)**(3/2) + 1.0*(s1*s2)**(-1/2)
+DEAL:Double:Sqrt:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: -0.5*s1**2/(s1*s2)**(3/2)
+DEAL:Double:Sqrt:Symbolic computation: Substitution::subs_psi: 4.89898
+DEAL:Double:Sqrt:Symbolic computation: Substitution::subs_dpsi_ds0: 0.816497
+DEAL:Double:Sqrt:Symbolic computation: Substitution::subs_dpsi_ds1: 1.22474
+DEAL:Double:Sqrt:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: -0.136083
+DEAL:Double:Sqrt:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: 0.204124
+DEAL:Double:Sqrt:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: 0.204124
+DEAL:Double:Sqrt:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: -0.306186
+DEAL:Double:Exponential:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Double:Exponential:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Double:Exponential:Symbolic computation: Function initialisation::symb_psi: exp(s2)*s1**2
+DEAL:Double:Exponential:Symbolic computation: Differentiation::symb_dpsi_ds0: 2*exp(s2)*s1
+DEAL:Double:Exponential:Symbolic computation: Differentiation::symb_dpsi_ds1: exp(s2)*s1**2
+DEAL:Double:Exponential:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 2*exp(s2)
+DEAL:Double:Exponential:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: 2*exp(s2)*s1
+DEAL:Double:Exponential:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: 2*exp(s2)*s1
+DEAL:Double:Exponential:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: exp(s2)*s1**2
+DEAL:Double:Exponential:Symbolic computation: Substitution::subs_psi: 66.5015
+DEAL:Double:Exponential:Symbolic computation: Substitution::subs_dpsi_ds0: 44.3343
+DEAL:Double:Exponential:Symbolic computation: Substitution::subs_dpsi_ds1: 66.5015
+DEAL:Double:Exponential:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: 14.7781
+DEAL:Double:Exponential:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: 44.3343
+DEAL:Double:Exponential:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: 44.3343
+DEAL:Double:Exponential:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: 66.5015
+DEAL:Double:Logarithm:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Double:Logarithm:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Double:Logarithm:Symbolic computation: Function initialisation::symb_psi: s1**2*log(s2)
+DEAL:Double:Logarithm:Symbolic computation: Differentiation::symb_dpsi_ds0: 2*s1*log(s2)
+DEAL:Double:Logarithm:Symbolic computation: Differentiation::symb_dpsi_ds1: s1**2/s2
+DEAL:Double:Logarithm:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 2*log(s2)
+DEAL:Double:Logarithm:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: 2*s1/s2
+DEAL:Double:Logarithm:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: 2*s1/s2
+DEAL:Double:Logarithm:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: -s1**2/s2**2
+DEAL:Double:Logarithm:Symbolic computation: Substitution::subs_psi: 6.23832
+DEAL:Double:Logarithm:Symbolic computation: Substitution::subs_dpsi_ds0: 4.15888
+DEAL:Double:Logarithm:Symbolic computation: Substitution::subs_dpsi_ds1: 4.50000
+DEAL:Double:Logarithm:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: 1.38629
+DEAL:Double:Logarithm:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: 3.00000
+DEAL:Double:Logarithm:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: 3.00000
+DEAL:Double:Logarithm:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: -2.25000
+DEAL:Double:Logarithm with Base:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Double:Logarithm with Base:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Double:Logarithm with Base:Symbolic computation: Function initialisation::symb_psi: log(s2)/log(s1)
+DEAL:Double:Logarithm with Base:Symbolic computation: Differentiation::symb_dpsi_ds0: -log(s2)/(s1*log(s1)**2)
+DEAL:Double:Logarithm with Base:Symbolic computation: Differentiation::symb_dpsi_ds1: 1/(s2*log(s1))
+DEAL:Double:Logarithm with Base:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 2*log(s2)/(s1**2*log(s1)**3) + log(s2)/(s1**2*log(s1)**2)
+DEAL:Double:Logarithm with Base:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -1/(s1*s2*log(s1)**2)
+DEAL:Double:Logarithm with Base:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -1/(s1*s2*log(s1)**2)
+DEAL:Double:Logarithm with Base:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: -1/(s2**2*log(s1))
+DEAL:Double:Logarithm with Base:Symbolic computation: Substitution::subs_psi: 0.630930
+DEAL:Double:Logarithm with Base:Symbolic computation: Substitution::subs_dpsi_ds0: -0.191432
+DEAL:Double:Logarithm with Base:Symbolic computation: Substitution::subs_dpsi_ds1: 0.455120
+DEAL:Double:Logarithm with Base:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: 0.179977
+DEAL:Double:Logarithm with Base:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: -0.138089
+DEAL:Double:Logarithm with Base:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: -0.138089
+DEAL:Double:Logarithm with Base:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: -0.227560
+DEAL:Double:Logarithm base 10:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Double:Logarithm base 10:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Double:Logarithm base 10:Symbolic computation: Function initialisation::symb_psi: 0.434294481903252*s1**2*log(s2)
+DEAL:Double:Logarithm base 10:Symbolic computation: Differentiation::symb_dpsi_ds0: 0.868588963806504*s1*log(s2)
+DEAL:Double:Logarithm base 10:Symbolic computation: Differentiation::symb_dpsi_ds1: 0.434294481903252*s1**2/s2
+DEAL:Double:Logarithm base 10:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 0.868588963806504*log(s2)
+DEAL:Double:Logarithm base 10:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: 0.868588963806504*s1/s2
+DEAL:Double:Logarithm base 10:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: 0.868588963806504*s1/s2
+DEAL:Double:Logarithm base 10:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: -0.434294481903252*s1**2/s2**2
+DEAL:Double:Logarithm base 10:Symbolic computation: Substitution::subs_psi: 2.70927
+DEAL:Double:Logarithm base 10:Symbolic computation: Substitution::subs_dpsi_ds0: 1.80618
+DEAL:Double:Logarithm base 10:Symbolic computation: Substitution::subs_dpsi_ds1: 1.95433
+DEAL:Double:Logarithm base 10:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: 0.602060
+DEAL:Double:Logarithm base 10:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: 1.30288
+DEAL:Double:Logarithm base 10:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: 1.30288
+DEAL:Double:Logarithm base 10:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: -0.977163
+DEAL:Double:Sin:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Double:Sin:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Double:Sin:Symbolic computation: Function initialisation::symb_psi: sin(s2/s1)
+DEAL:Double:Sin:Symbolic computation: Differentiation::symb_dpsi_ds0: -s2*cos(s2/s1)/s1**2
+DEAL:Double:Sin:Symbolic computation: Differentiation::symb_dpsi_ds1: cos(s2/s1)/s1
+DEAL:Double:Sin:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: -s2**2*sin(s2/s1)/s1**4 + 2*s2*cos(s2/s1)/s1**3
+DEAL:Double:Sin:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -cos(s2/s1)/s1**2 + s2*sin(s2/s1)/s1**3
+DEAL:Double:Sin:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -cos(s2/s1)/s1**2 + s2*sin(s2/s1)/s1**3
+DEAL:Double:Sin:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: -sin(s2/s1)/s1**2
+DEAL:Double:Sin:Symbolic computation: Substitution::subs_psi: 0.618370
+DEAL:Double:Sin:Symbolic computation: Substitution::subs_dpsi_ds0: -0.174642
+DEAL:Double:Sin:Symbolic computation: Substitution::subs_dpsi_ds1: 0.261962
+DEAL:Double:Sin:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: 0.0858910
+DEAL:Double:Sin:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: -0.0415156
+DEAL:Double:Sin:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: -0.0415156
+DEAL:Double:Sin:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: -0.0687078
+DEAL:Double:Cos:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Double:Cos:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Double:Cos:Symbolic computation: Function initialisation::symb_psi: cos(s2/s1)
+DEAL:Double:Cos:Symbolic computation: Differentiation::symb_dpsi_ds0: s2*sin(s2/s1)/s1**2
+DEAL:Double:Cos:Symbolic computation: Differentiation::symb_dpsi_ds1: -sin(s2/s1)/s1
+DEAL:Double:Cos:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: -s2**2*cos(s2/s1)/s1**4 - 2*s2*sin(s2/s1)/s1**3
+DEAL:Double:Cos:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: sin(s2/s1)/s1**2 + s2*cos(s2/s1)/s1**3
+DEAL:Double:Cos:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: sin(s2/s1)/s1**2 + s2*cos(s2/s1)/s1**3
+DEAL:Double:Cos:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: -cos(s2/s1)/s1**2
+DEAL:Double:Cos:Symbolic computation: Substitution::subs_psi: 0.785887
+DEAL:Double:Cos:Symbolic computation: Substitution::subs_dpsi_ds0: 0.137416
+DEAL:Double:Cos:Symbolic computation: Substitution::subs_dpsi_ds1: -0.206123
+DEAL:Double:Cos:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: -0.130420
+DEAL:Double:Cos:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: 0.126922
+DEAL:Double:Cos:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: 0.126922
+DEAL:Double:Cos:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: -0.0873208
+DEAL:Double:Tan:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Double:Tan:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Double:Tan:Symbolic computation: Function initialisation::symb_psi: tan(s2/s1)
+DEAL:Double:Tan:Symbolic computation: Differentiation::symb_dpsi_ds0: -s2*(1 + tan(s2/s1)**2)/s1**2
+DEAL:Double:Tan:Symbolic computation: Differentiation::symb_dpsi_ds1: (1 + tan(s2/s1)**2)/s1
+DEAL:Double:Tan:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 2*s2*(1 + tan(s2/s1)**2)/s1**3 + 2*s2**2*tan(s2/s1)*(1 + tan(s2/s1)**2)/s1**4
+DEAL:Double:Tan:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -(1 + tan(s2/s1)**2)/s1**2 - 2*s2*tan(s2/s1)*(1 + tan(s2/s1)**2)/s1**3
+DEAL:Double:Tan:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -(1 + tan(s2/s1)**2)/s1**2 - 2*s2*tan(s2/s1)*(1 + tan(s2/s1)**2)/s1**3
+DEAL:Double:Tan:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: 2*tan(s2/s1)*(1 + tan(s2/s1)**2)/s1**2
+DEAL:Double:Tan:Symbolic computation: Substitution::subs_psi: 0.786843
+DEAL:Double:Tan:Symbolic computation: Substitution::subs_dpsi_ds0: -0.359805
+DEAL:Double:Tan:Symbolic computation: Substitution::subs_dpsi_ds1: 0.539707
+DEAL:Double:Tan:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: 0.365696
+DEAL:Double:Tan:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: -0.368642
+DEAL:Double:Tan:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: -0.368642
+DEAL:Double:Tan:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: 0.283110
+DEAL:Double:ASin:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Double:ASin:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Double:ASin:Symbolic computation: Function initialisation::symb_psi: asin(1.0/(s1*s2))
+DEAL:Double:ASin:Symbolic computation: Differentiation::symb_dpsi_ds0: -1.0/(s1**2*s2*sqrt(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Double:ASin:Symbolic computation: Differentiation::symb_dpsi_ds1: -1.0/(s1*s2**2*sqrt(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Double:ASin:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 1.0*1/(s1**5*s2**3*(1 - 1.0*1/(s1**2*s2**2))**(3/2)) + 2.0*1/(s1**3*s2*sqrt(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Double:ASin:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: 1.0*1/(s1**4*s2**4*(1 - 1.0*1/(s1**2*s2**2))**(3/2)) + 1.0*1/(s1**2*s2**2*sqrt(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Double:ASin:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: 1.0*1/(s1**4*s2**4*(1 - 1.0*1/(s1**2*s2**2))**(3/2)) + 1.0*1/(s1**2*s2**2*sqrt(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Double:ASin:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: 1.0*1/(s1**3*s2**5*(1 - 1.0*1/(s1**2*s2**2))**(3/2)) + 2.0*1/(s1*s2**3*sqrt(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Double:ASin:Symbolic computation: Substitution::subs_psi: 0.167448
+DEAL:Double:ASin:Symbolic computation: Substitution::subs_dpsi_ds0: -0.0563436
+DEAL:Double:ASin:Symbolic computation: Substitution::subs_dpsi_ds1: -0.0845154
+DEAL:Double:ASin:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: 0.0380990
+DEAL:Double:ASin:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: 0.0289767
+DEAL:Double:ASin:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: 0.0289767
+DEAL:Double:ASin:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: 0.0857228
+DEAL:Double:ACos:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Double:ACos:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Double:ACos:Symbolic computation: Function initialisation::symb_psi: acos(1.0/(s1*s2))
+DEAL:Double:ACos:Symbolic computation: Differentiation::symb_dpsi_ds0: 1.0/(s1**2*s2*sqrt(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Double:ACos:Symbolic computation: Differentiation::symb_dpsi_ds1: 1.0/(s1*s2**2*sqrt(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Double:ACos:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: -1.0*1/(s1**5*s2**3*(1 - 1.0*1/(s1**2*s2**2))**(3/2)) - 2.0*1/(s1**3*s2*sqrt(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Double:ACos:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -1.0*1/(s1**4*s2**4*(1 - 1.0*1/(s1**2*s2**2))**(3/2)) - 1.0*1/(s1**2*s2**2*sqrt(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Double:ACos:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -1.0*1/(s1**4*s2**4*(1 - 1.0*1/(s1**2*s2**2))**(3/2)) - 1.0*1/(s1**2*s2**2*sqrt(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Double:ACos:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: -1.0*1/(s1**3*s2**5*(1 - 1.0*1/(s1**2*s2**2))**(3/2)) - 2.0*1/(s1*s2**3*sqrt(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Double:ACos:Symbolic computation: Substitution::subs_psi: 1.40335
+DEAL:Double:ACos:Symbolic computation: Substitution::subs_dpsi_ds0: 0.0563436
+DEAL:Double:ACos:Symbolic computation: Substitution::subs_dpsi_ds1: 0.0845154
+DEAL:Double:ACos:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: -0.0380990
+DEAL:Double:ACos:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: -0.0289767
+DEAL:Double:ACos:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: -0.0289767
+DEAL:Double:ACos:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: -0.0857228
+DEAL:Double:ATan:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Double:ATan:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Double:ATan:Symbolic computation: Function initialisation::symb_psi: atan(1.0/(s1*s2))
+DEAL:Double:ATan:Symbolic computation: Differentiation::symb_dpsi_ds0: -1.0/(s1**2*s2*(1 + 1.0*1/(s1**2*s2**2)))
+DEAL:Double:ATan:Symbolic computation: Differentiation::symb_dpsi_ds1: -1.0/(s1*s2**2*(1 + 1.0*1/(s1**2*s2**2)))
+DEAL:Double:ATan:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: -2.0*1/(s1**5*s2**3*(1 + 1.0*1/(s1**2*s2**2))**2) + 2.0*1/(s1**3*s2*(1 + 1.0*1/(s1**2*s2**2)))
+DEAL:Double:ATan:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -2.0*1/(s1**4*s2**4*(1 + 1.0*1/(s1**2*s2**2))**2) + 1.0*1/(s1**2*s2**2*(1 + 1.0*1/(s1**2*s2**2)))
+DEAL:Double:ATan:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -2.0*1/(s1**4*s2**4*(1 + 1.0*1/(s1**2*s2**2))**2) + 1.0*1/(s1**2*s2**2*(1 + 1.0*1/(s1**2*s2**2)))
+DEAL:Double:ATan:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: -2.0*1/(s1**3*s2**5*(1 + 1.0*1/(s1**2*s2**2))**2) + 2.0*1/(s1*s2**3*(1 + 1.0*1/(s1**2*s2**2)))
+DEAL:Double:ATan:Symbolic computation: Substitution::subs_psi: 0.165149
+DEAL:Double:ATan:Symbolic computation: Substitution::subs_dpsi_ds0: -0.0540541
+DEAL:Double:ATan:Symbolic computation: Substitution::subs_dpsi_ds1: -0.0810811
+DEAL:Double:ATan:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: 0.0350621
+DEAL:Double:ATan:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: 0.0255661
+DEAL:Double:ATan:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: 0.0255661
+DEAL:Double:ATan:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: 0.0788897
+DEAL:Double:ATan2:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Double:ATan2:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Double:ATan2:Symbolic computation: Function initialisation::symb_psi: 3.0*atan2(s2, s1)
+DEAL:Double:ATan2:Symbolic computation: Differentiation::symb_dpsi_ds0: -3.0*s2/(s1**2 + s2**2)
+DEAL:Double:ATan2:Symbolic computation: Differentiation::symb_dpsi_ds1: 3.0*s1/(s1**2 + s2**2)
+DEAL:Double:ATan2:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 6.0*s1*s2/(s1**2 + s2**2)**2
+DEAL:Double:ATan2:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: 6.0*s2**2/(s1**2 + s2**2)**2 - 3.0*(s1**2 + s2**2)**(-1)
+DEAL:Double:ATan2:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -6.0*s1**2/(s1**2 + s2**2)**2 + 3.0*(s1**2 + s2**2)**(-1)
+DEAL:Double:ATan2:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: -6.0*s1*s2/(s1**2 + s2**2)**2
+DEAL:Double:ATan2:Symbolic computation: Substitution::subs_psi: 1.76401
+DEAL:Double:ATan2:Symbolic computation: Substitution::subs_dpsi_ds0: -0.461538
+DEAL:Double:ATan2:Symbolic computation: Substitution::subs_dpsi_ds1: 0.692308
+DEAL:Double:ATan2:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: 0.213018
+DEAL:Double:ATan2:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: -0.0887574
+DEAL:Double:ATan2:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: -0.0887574
+DEAL:Double:ATan2:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: -0.213018
+DEAL:Double:Sinh:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Double:Sinh:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Double:Sinh:Symbolic computation: Function initialisation::symb_psi: sinh(s2/s1)
+DEAL:Double:Sinh:Symbolic computation: Differentiation::symb_dpsi_ds0: -s2*cosh(s2/s1)/s1**2
+DEAL:Double:Sinh:Symbolic computation: Differentiation::symb_dpsi_ds1: cosh(s2/s1)/s1
+DEAL:Double:Sinh:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: s2**2*sinh(s2/s1)/s1**4 + 2*s2*cosh(s2/s1)/s1**3
+DEAL:Double:Sinh:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -cosh(s2/s1)/s1**2 - s2*sinh(s2/s1)/s1**3
+DEAL:Double:Sinh:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -cosh(s2/s1)/s1**2 - s2*sinh(s2/s1)/s1**3
+DEAL:Double:Sinh:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: sinh(s2/s1)/s1**2
+DEAL:Double:Sinh:Symbolic computation: Substitution::subs_psi: 0.717158
+DEAL:Double:Sinh:Symbolic computation: Substitution::subs_dpsi_ds0: -0.273461
+DEAL:Double:Sinh:Symbolic computation: Substitution::subs_dpsi_ds1: 0.410192
+DEAL:Double:Sinh:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: 0.217723
+DEAL:Double:Sinh:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: -0.189853
+DEAL:Double:Sinh:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: -0.189853
+DEAL:Double:Sinh:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: 0.0796843
+DEAL:Double:Cosh:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Double:Cosh:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Double:Cosh:Symbolic computation: Function initialisation::symb_psi: cosh(s2/s1)
+DEAL:Double:Cosh:Symbolic computation: Differentiation::symb_dpsi_ds0: -s2*sinh(s2/s1)/s1**2
+DEAL:Double:Cosh:Symbolic computation: Differentiation::symb_dpsi_ds1: sinh(s2/s1)/s1
+DEAL:Double:Cosh:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: s2**2*cosh(s2/s1)/s1**4 + 2*s2*sinh(s2/s1)/s1**3
+DEAL:Double:Cosh:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -sinh(s2/s1)/s1**2 - s2*cosh(s2/s1)/s1**3
+DEAL:Double:Cosh:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -sinh(s2/s1)/s1**2 - s2*cosh(s2/s1)/s1**3
+DEAL:Double:Cosh:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: cosh(s2/s1)/s1**2
+DEAL:Double:Cosh:Symbolic computation: Substitution::subs_psi: 1.23058
+DEAL:Double:Cosh:Symbolic computation: Substitution::subs_dpsi_ds0: -0.159369
+DEAL:Double:Cosh:Symbolic computation: Substitution::subs_dpsi_ds1: 0.239053
+DEAL:Double:Cosh:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: 0.167015
+DEAL:Double:Cosh:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: -0.170838
+DEAL:Double:Cosh:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: -0.170838
+DEAL:Double:Cosh:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: 0.136731
+DEAL:Double:Tanh:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Double:Tanh:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Double:Tanh:Symbolic computation: Function initialisation::symb_psi: tanh(s2/s1)
+DEAL:Double:Tanh:Symbolic computation: Differentiation::symb_dpsi_ds0: -s2*(1 - tanh(s2/s1)**2)/s1**2
+DEAL:Double:Tanh:Symbolic computation: Differentiation::symb_dpsi_ds1: (1 - tanh(s2/s1)**2)/s1
+DEAL:Double:Tanh:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 2*s2*(1 - tanh(s2/s1)**2)/s1**3 - 2*s2**2*tanh(s2/s1)*(1 - tanh(s2/s1)**2)/s1**4
+DEAL:Double:Tanh:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -(1 - tanh(s2/s1)**2)/s1**2 + 2*s2*tanh(s2/s1)*(1 - tanh(s2/s1)**2)/s1**3
+DEAL:Double:Tanh:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -(1 - tanh(s2/s1)**2)/s1**2 + 2*s2*tanh(s2/s1)*(1 - tanh(s2/s1)**2)/s1**3
+DEAL:Double:Tanh:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: -2*tanh(s2/s1)*(1 - tanh(s2/s1)**2)/s1**2
+DEAL:Double:Tanh:Symbolic computation: Substitution::subs_psi: 0.582783
+DEAL:Double:Tanh:Symbolic computation: Substitution::subs_dpsi_ds0: -0.146748
+DEAL:Double:Tanh:Symbolic computation: Substitution::subs_dpsi_ds1: 0.220121
+DEAL:Double:Tanh:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: 0.0598219
+DEAL:Double:Tanh:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: -0.0163591
+DEAL:Double:Tanh:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: -0.0163591
+DEAL:Double:Tanh:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: -0.0855220
+DEAL:Double:ASinh:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Double:ASinh:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Double:ASinh:Symbolic computation: Function initialisation::symb_psi: asinh(1.0/(s1*s2))
+DEAL:Double:ASinh:Symbolic computation: Differentiation::symb_dpsi_ds0: -1.0/(s1**2*s2*sqrt(1 + 1.0*1/(s1**2*s2**2)))
+DEAL:Double:ASinh:Symbolic computation: Differentiation::symb_dpsi_ds1: -1.0/(s1*s2**2*sqrt(1 + 1.0*1/(s1**2*s2**2)))
+DEAL:Double:ASinh:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: -1.0*1/(s1**5*s2**3*(1 + 1.0*1/(s1**2*s2**2))**(3/2)) + 2.0*1/(s1**3*s2*sqrt(1 + 1.0*1/(s1**2*s2**2)))
+DEAL:Double:ASinh:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -1.0*1/(s1**4*s2**4*(1 + 1.0*1/(s1**2*s2**2))**(3/2)) + 1.0*1/(s1**2*s2**2*sqrt(1 + 1.0*1/(s1**2*s2**2)))
+DEAL:Double:ASinh:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -1.0*1/(s1**4*s2**4*(1 + 1.0*1/(s1**2*s2**2))**(3/2)) + 1.0*1/(s1**2*s2**2*sqrt(1 + 1.0*1/(s1**2*s2**2)))
+DEAL:Double:ASinh:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: -1.0*1/(s1**3*s2**5*(1 + 1.0*1/(s1**2*s2**2))**(3/2)) + 2.0*1/(s1*s2**3*sqrt(1 + 1.0*1/(s1**2*s2**2)))
+DEAL:Double:ASinh:Symbolic computation: Substitution::subs_psi: 0.165905
+DEAL:Double:ASinh:Symbolic computation: Substitution::subs_dpsi_ds0: -0.0547997
+DEAL:Double:ASinh:Symbolic computation: Substitution::subs_dpsi_ds1: -0.0821995
+DEAL:Double:ASinh:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: 0.0360394
+DEAL:Double:ASinh:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: 0.0266593
+DEAL:Double:ASinh:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: 0.0266593
+DEAL:Double:ASinh:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: 0.0810887
+DEAL:Double:ACosh:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Double:ACosh:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Double:ACosh:Symbolic computation: Function initialisation::symb_psi: acosh(s1*s2)
+DEAL:Double:ACosh:Symbolic computation: Differentiation::symb_dpsi_ds0: s2/sqrt(-1 + s1**2*s2**2)
+DEAL:Double:ACosh:Symbolic computation: Differentiation::symb_dpsi_ds1: s1/sqrt(-1 + s1**2*s2**2)
+DEAL:Double:ACosh:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: -s1*s2**3/(-1 + s1**2*s2**2)**(3/2)
+DEAL:Double:ACosh:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -s1**2*s2**2/(-1 + s1**2*s2**2)**(3/2) + (-1 + s1**2*s2**2)**(-1/2)
+DEAL:Double:ACosh:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -s1**2*s2**2/(-1 + s1**2*s2**2)**(3/2) + (-1 + s1**2*s2**2)**(-1/2)
+DEAL:Double:ACosh:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: -s1**3*s2/(-1 + s1**2*s2**2)**(3/2)
+DEAL:Double:ACosh:Symbolic computation: Substitution::subs_psi: 2.47789
+DEAL:Double:ACosh:Symbolic computation: Substitution::subs_dpsi_ds0: 0.338062
+DEAL:Double:ACosh:Symbolic computation: Substitution::subs_dpsi_ds1: 0.507093
+DEAL:Double:ACosh:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: -0.115907
+DEAL:Double:ACosh:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: -0.00482945
+DEAL:Double:ACosh:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: -0.00482945
+DEAL:Double:ACosh:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: -0.260790
+DEAL:Double:ATanh:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Double:ATanh:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Double:ATanh:Symbolic computation: Function initialisation::symb_psi: atanh(1.0/(s1*s2))
+DEAL:Double:ATanh:Symbolic computation: Differentiation::symb_dpsi_ds0: -1.0/(s1**2*s2*(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Double:ATanh:Symbolic computation: Differentiation::symb_dpsi_ds1: -1.0/(s1*s2**2*(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Double:ATanh:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 2.0*1/(s1**5*s2**3*(1 - 1.0*1/(s1**2*s2**2))**2) + 2.0*1/(s1**3*s2*(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Double:ATanh:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: 2.0*1/(s1**4*s2**4*(1 - 1.0*1/(s1**2*s2**2))**2) + 1.0*1/(s1**2*s2**2*(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Double:ATanh:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: 2.0*1/(s1**4*s2**4*(1 - 1.0*1/(s1**2*s2**2))**2) + 1.0*1/(s1**2*s2**2*(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Double:ATanh:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: 2.0*1/(s1**3*s2**5*(1 - 1.0*1/(s1**2*s2**2))**2) + 2.0*1/(s1*s2**3*(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Double:ATanh:Symbolic computation: Substitution::subs_psi: 0.168236
+DEAL:Double:ATanh:Symbolic computation: Substitution::subs_dpsi_ds0: -0.0571429
+DEAL:Double:ATanh:Symbolic computation: Substitution::subs_dpsi_ds1: -0.0857143
+DEAL:Double:ATanh:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: 0.0391837
+DEAL:Double:ATanh:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: 0.0302041
+DEAL:Double:ATanh:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: 0.0302041
+DEAL:Double:ATanh:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: 0.0881633
+DEAL:Double:Erf:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Double:Erf:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Double:Erf:Symbolic computation: Function initialisation::symb_psi: s1**2*erf(s2)
+DEAL:Double:Erf:Symbolic computation: Differentiation::symb_dpsi_ds0: 2*s1*erf(s2)
+DEAL:Double:Erf:Symbolic computation: Differentiation::symb_dpsi_ds1: 2*exp(-s2**2)*s1**2/sqrt(pi)
+DEAL:Double:Erf:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 2*erf(s2)
+DEAL:Double:Erf:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: 4*exp(-s2**2)*s1/sqrt(pi)
+DEAL:Double:Erf:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: 4*exp(-s2**2)*s1/sqrt(pi)
+DEAL:Double:Erf:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: -4*exp(-s2**2)*s1**2*s2/sqrt(pi)
+DEAL:Double:Erf:Symbolic computation: Substitution::subs_psi: 8.95790
+DEAL:Double:Erf:Symbolic computation: Substitution::subs_dpsi_ds0: 5.97193
+DEAL:Double:Erf:Symbolic computation: Substitution::subs_dpsi_ds1: 0.186003
+DEAL:Double:Erf:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: 1.99064
+DEAL:Double:Erf:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: 0.124002
+DEAL:Double:Erf:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: 0.124002
+DEAL:Double:Erf:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: -0.744011
+DEAL:Double:Erfc:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Double:Erfc:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Double:Erfc:Symbolic computation: Function initialisation::symb_psi: s1**2*erfc(s2)
+DEAL:Double:Erfc:Symbolic computation: Differentiation::symb_dpsi_ds0: 2*s1*erfc(s2)
+DEAL:Double:Erfc:Symbolic computation: Differentiation::symb_dpsi_ds1: -2*exp(-s2**2)*s1**2/sqrt(pi)
+DEAL:Double:Erfc:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 2*erfc(s2)
+DEAL:Double:Erfc:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -4*exp(-s2**2)*s1/sqrt(pi)
+DEAL:Double:Erfc:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -4*exp(-s2**2)*s1/sqrt(pi)
+DEAL:Double:Erfc:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: 4*exp(-s2**2)*s1**2*s2/sqrt(pi)
+DEAL:Double:Erfc:Symbolic computation: Substitution::subs_psi: 0.0420996
+DEAL:Double:Erfc:Symbolic computation: Substitution::subs_dpsi_ds0: 0.0280664
+DEAL:Double:Erfc:Symbolic computation: Substitution::subs_dpsi_ds1: -0.186003
+DEAL:Double:Erfc:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: 0.00935547
+DEAL:Double:Erfc:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: -0.124002
+DEAL:Double:Erfc:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: -0.124002
+DEAL:Double:Erfc:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: 0.744011
+DEAL:Double::OK
+DEAL:Complex float:Add:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Complex float:Add:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Complex float:Add:Symbolic computation: Function initialisation::symb_psi: (s1 + s2)**2
+DEAL:Complex float:Add:Symbolic computation: Differentiation::symb_dpsi_ds0: 2*(s1 + s2)
+DEAL:Complex float:Add:Symbolic computation: Differentiation::symb_dpsi_ds1: 2*(s1 + s2)
+DEAL:Complex float:Add:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 2
+DEAL:Complex float:Add:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: 2
+DEAL:Complex float:Add:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: 2
+DEAL:Complex float:Add:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: 2
+DEAL:Complex float:Add:Symbolic computation: Substitution::subs_psi: (25.0000,0.00000)
+DEAL:Complex float:Add:Symbolic computation: Substitution::subs_dpsi_ds0: (10.0000,0.00000)
+DEAL:Complex float:Add:Symbolic computation: Substitution::subs_dpsi_ds1: (10.0000,0.00000)
+DEAL:Complex float:Add:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: (2.00000,0.00000)
+DEAL:Complex float:Add:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: (2.00000,0.00000)
+DEAL:Complex float:Add:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: (2.00000,0.00000)
+DEAL:Complex float:Add:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: (2.00000,0.00000)
+DEAL:Complex float:Subtract:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Complex float:Subtract:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Complex float:Subtract:Symbolic computation: Function initialisation::symb_psi: (s1 - s2)**2
+DEAL:Complex float:Subtract:Symbolic computation: Differentiation::symb_dpsi_ds0: 2*(s1 - s2)
+DEAL:Complex float:Subtract:Symbolic computation: Differentiation::symb_dpsi_ds1: -2*(s1 - s2)
+DEAL:Complex float:Subtract:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 2
+DEAL:Complex float:Subtract:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -2
+DEAL:Complex float:Subtract:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -2
+DEAL:Complex float:Subtract:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: 2
+DEAL:Complex float:Subtract:Symbolic computation: Substitution::subs_psi: (1.00000,0.00000)
+DEAL:Complex float:Subtract:Symbolic computation: Substitution::subs_dpsi_ds0: (2.00000,0.00000)
+DEAL:Complex float:Subtract:Symbolic computation: Substitution::subs_dpsi_ds1: (-2.00000,0.00000)
+DEAL:Complex float:Subtract:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: (2.00000,0.00000)
+DEAL:Complex float:Subtract:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: (-2.00000,0.00000)
+DEAL:Complex float:Subtract:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: (-2.00000,0.00000)
+DEAL:Complex float:Subtract:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: (2.00000,0.00000)
+DEAL:Complex float:Multiply:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Complex float:Multiply:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Complex float:Multiply:Symbolic computation: Function initialisation::symb_psi: s1**2*s2**2
+DEAL:Complex float:Multiply:Symbolic computation: Differentiation::symb_dpsi_ds0: 2*s1*s2**2
+DEAL:Complex float:Multiply:Symbolic computation: Differentiation::symb_dpsi_ds1: 2*s1**2*s2
+DEAL:Complex float:Multiply:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 2*s2**2
+DEAL:Complex float:Multiply:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: 4*s1*s2
+DEAL:Complex float:Multiply:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: 4*s1*s2
+DEAL:Complex float:Multiply:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: 2*s1**2
+DEAL:Complex float:Multiply:Symbolic computation: Substitution::subs_psi: (36.0000,0.00000)
+DEAL:Complex float:Multiply:Symbolic computation: Substitution::subs_dpsi_ds0: (24.0000,0.00000)
+DEAL:Complex float:Multiply:Symbolic computation: Substitution::subs_dpsi_ds1: (36.0000,0.00000)
+DEAL:Complex float:Multiply:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: (8.00000,0.00000)
+DEAL:Complex float:Multiply:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: (24.0000,0.00000)
+DEAL:Complex float:Multiply:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: (24.0000,0.00000)
+DEAL:Complex float:Multiply:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: (18.0000,0.00000)
+DEAL:Complex float:Divide:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Complex float:Divide:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Complex float:Divide:Symbolic computation: Function initialisation::symb_psi: s1**2/s2**2
+DEAL:Complex float:Divide:Symbolic computation: Differentiation::symb_dpsi_ds0: 2*s1/s2**2
+DEAL:Complex float:Divide:Symbolic computation: Differentiation::symb_dpsi_ds1: -2*s1**2/s2**3
+DEAL:Complex float:Divide:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 2/s2**2
+DEAL:Complex float:Divide:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -4*s1/s2**3
+DEAL:Complex float:Divide:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -4*s1/s2**3
+DEAL:Complex float:Divide:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: 6*s1**2/s2**4
+DEAL:Complex float:Divide:Symbolic computation: Substitution::subs_psi: (2.25000,0.00000)
+DEAL:Complex float:Divide:Symbolic computation: Substitution::subs_dpsi_ds0: (1.50000,0.00000)
+DEAL:Complex float:Divide:Symbolic computation: Substitution::subs_dpsi_ds1: (-2.25000,0.00000)
+DEAL:Complex float:Divide:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: (0.500000,0.00000)
+DEAL:Complex float:Divide:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: (-1.50000,0.00000)
+DEAL:Complex float:Divide:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: (-1.50000,0.00000)
+DEAL:Complex float:Divide:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: (3.37500,0.00000)
+DEAL:Complex float:Power:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Complex float:Power:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Complex float:Power:Symbolic computation: Function initialisation::symb_psi: 2.0*s1**s2
+DEAL:Complex float:Power:Symbolic computation: Differentiation::symb_dpsi_ds0: 2.0*s1**(-1 + s2)*s2
+DEAL:Complex float:Power:Symbolic computation: Differentiation::symb_dpsi_ds1: 2.0*s1**s2*log(s1)
+DEAL:Complex float:Power:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 2.0*s1**(-2 + s2)*s2*(-1 + s2)
+DEAL:Complex float:Power:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: 2.0*s1**(-1 + s2)*s2*log(s1) + 2.0*s1**(-1 + s2)
+DEAL:Complex float:Power:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: 2.0*s1**(-1 + s2)*s2*log(s1) + 2.0*s1**(-1 + s2)
+DEAL:Complex float:Power:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: 2.0*s1**s2*log(s1)**2
+DEAL:Complex float:Power:Symbolic computation: Substitution::subs_psi: (18.0000,0.00000)
+DEAL:Complex float:Power:Symbolic computation: Substitution::subs_dpsi_ds0: (12.0000,0.00000)
+DEAL:Complex float:Power:Symbolic computation: Substitution::subs_dpsi_ds1: (19.7750,0.00000)
+DEAL:Complex float:Power:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: (4.00000,0.00000)
+DEAL:Complex float:Power:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: (19.1833,0.00000)
+DEAL:Complex float:Power:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: (19.1833,0.00000)
+DEAL:Complex float:Power:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: (21.7251,0.00000)
+DEAL:Complex float:Sqrt:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Complex float:Sqrt:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Complex float:Sqrt:Symbolic computation: Function initialisation::symb_psi: 2.0*sqrt(s1*s2)
+DEAL:Complex float:Sqrt:Symbolic computation: Differentiation::symb_dpsi_ds0: 1.0*s2/sqrt(s1*s2)
+DEAL:Complex float:Sqrt:Symbolic computation: Differentiation::symb_dpsi_ds1: 1.0*s1/sqrt(s1*s2)
+DEAL:Complex float:Sqrt:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: -0.5*s2**2/(s1*s2)**(3/2)
+DEAL:Complex float:Sqrt:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -0.5*s1*s2/(s1*s2)**(3/2) + 1.0*(s1*s2)**(-1/2)
+DEAL:Complex float:Sqrt:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -0.5*s1*s2/(s1*s2)**(3/2) + 1.0*(s1*s2)**(-1/2)
+DEAL:Complex float:Sqrt:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: -0.5*s1**2/(s1*s2)**(3/2)
+DEAL:Complex float:Sqrt:Symbolic computation: Substitution::subs_psi: (4.89898,0.00000)
+DEAL:Complex float:Sqrt:Symbolic computation: Substitution::subs_dpsi_ds0: (0.816497,0.00000)
+DEAL:Complex float:Sqrt:Symbolic computation: Substitution::subs_dpsi_ds1: (1.22474,0.00000)
+DEAL:Complex float:Sqrt:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: (-0.136083,0.00000)
+DEAL:Complex float:Sqrt:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: (0.204124,0.00000)
+DEAL:Complex float:Sqrt:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: (0.204124,0.00000)
+DEAL:Complex float:Sqrt:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: (-0.306186,0.00000)
+DEAL:Complex float:Exponential:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Complex float:Exponential:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Complex float:Exponential:Symbolic computation: Function initialisation::symb_psi: exp(s2)*s1**2
+DEAL:Complex float:Exponential:Symbolic computation: Differentiation::symb_dpsi_ds0: 2*exp(s2)*s1
+DEAL:Complex float:Exponential:Symbolic computation: Differentiation::symb_dpsi_ds1: exp(s2)*s1**2
+DEAL:Complex float:Exponential:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 2*exp(s2)
+DEAL:Complex float:Exponential:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: 2*exp(s2)*s1
+DEAL:Complex float:Exponential:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: 2*exp(s2)*s1
+DEAL:Complex float:Exponential:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: exp(s2)*s1**2
+DEAL:Complex float:Exponential:Symbolic computation: Substitution::subs_psi: (66.5015,0.00000)
+DEAL:Complex float:Exponential:Symbolic computation: Substitution::subs_dpsi_ds0: (44.3343,0.00000)
+DEAL:Complex float:Exponential:Symbolic computation: Substitution::subs_dpsi_ds1: (66.5015,0.00000)
+DEAL:Complex float:Exponential:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: (14.7781,0.00000)
+DEAL:Complex float:Exponential:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: (44.3343,0.00000)
+DEAL:Complex float:Exponential:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: (44.3343,0.00000)
+DEAL:Complex float:Exponential:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: (66.5015,0.00000)
+DEAL:Complex float:Logarithm:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Complex float:Logarithm:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Complex float:Logarithm:Symbolic computation: Function initialisation::symb_psi: s1**2*log(s2)
+DEAL:Complex float:Logarithm:Symbolic computation: Differentiation::symb_dpsi_ds0: 2*s1*log(s2)
+DEAL:Complex float:Logarithm:Symbolic computation: Differentiation::symb_dpsi_ds1: s1**2/s2
+DEAL:Complex float:Logarithm:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 2*log(s2)
+DEAL:Complex float:Logarithm:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: 2*s1/s2
+DEAL:Complex float:Logarithm:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: 2*s1/s2
+DEAL:Complex float:Logarithm:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: -s1**2/s2**2
+DEAL:Complex float:Logarithm:Symbolic computation: Substitution::subs_psi: (6.23832,0.00000)
+DEAL:Complex float:Logarithm:Symbolic computation: Substitution::subs_dpsi_ds0: (4.15888,0.00000)
+DEAL:Complex float:Logarithm:Symbolic computation: Substitution::subs_dpsi_ds1: (4.50000,0.00000)
+DEAL:Complex float:Logarithm:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: (1.38629,0.00000)
+DEAL:Complex float:Logarithm:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: (3.00000,0.00000)
+DEAL:Complex float:Logarithm:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: (3.00000,0.00000)
+DEAL:Complex float:Logarithm:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: (-2.25000,0.00000)
+DEAL:Complex float:Logarithm with Base:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Complex float:Logarithm with Base:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Complex float:Logarithm with Base:Symbolic computation: Function initialisation::symb_psi: log(s2)/log(s1)
+DEAL:Complex float:Logarithm with Base:Symbolic computation: Differentiation::symb_dpsi_ds0: -log(s2)/(s1*log(s1)**2)
+DEAL:Complex float:Logarithm with Base:Symbolic computation: Differentiation::symb_dpsi_ds1: 1/(s2*log(s1))
+DEAL:Complex float:Logarithm with Base:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 2*log(s2)/(s1**2*log(s1)**3) + log(s2)/(s1**2*log(s1)**2)
+DEAL:Complex float:Logarithm with Base:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -1/(s1*s2*log(s1)**2)
+DEAL:Complex float:Logarithm with Base:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -1/(s1*s2*log(s1)**2)
+DEAL:Complex float:Logarithm with Base:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: -1/(s2**2*log(s1))
+DEAL:Complex float:Logarithm with Base:Symbolic computation: Substitution::subs_psi: (0.630930,0.00000)
+DEAL:Complex float:Logarithm with Base:Symbolic computation: Substitution::subs_dpsi_ds0: (-0.191432,0.00000)
+DEAL:Complex float:Logarithm with Base:Symbolic computation: Substitution::subs_dpsi_ds1: (0.455120,0.00000)
+DEAL:Complex float:Logarithm with Base:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: (0.179977,0.00000)
+DEAL:Complex float:Logarithm with Base:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: (-0.138089,0.00000)
+DEAL:Complex float:Logarithm with Base:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: (-0.138089,0.00000)
+DEAL:Complex float:Logarithm with Base:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: (-0.227560,0.00000)
+DEAL:Complex float:Logarithm base 10:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Complex float:Logarithm base 10:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Complex float:Logarithm base 10:Symbolic computation: Function initialisation::symb_psi: 0.434294481903252*s1**2*log(s2)
+DEAL:Complex float:Logarithm base 10:Symbolic computation: Differentiation::symb_dpsi_ds0: 0.868588963806504*s1*log(s2)
+DEAL:Complex float:Logarithm base 10:Symbolic computation: Differentiation::symb_dpsi_ds1: 0.434294481903252*s1**2/s2
+DEAL:Complex float:Logarithm base 10:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 0.868588963806504*log(s2)
+DEAL:Complex float:Logarithm base 10:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: 0.868588963806504*s1/s2
+DEAL:Complex float:Logarithm base 10:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: 0.868588963806504*s1/s2
+DEAL:Complex float:Logarithm base 10:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: -0.434294481903252*s1**2/s2**2
+DEAL:Complex float:Logarithm base 10:Symbolic computation: Substitution::subs_psi: (2.70927,0.00000)
+DEAL:Complex float:Logarithm base 10:Symbolic computation: Substitution::subs_dpsi_ds0: (1.80618,0.00000)
+DEAL:Complex float:Logarithm base 10:Symbolic computation: Substitution::subs_dpsi_ds1: (1.95433,0.00000)
+DEAL:Complex float:Logarithm base 10:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: (0.602060,0.00000)
+DEAL:Complex float:Logarithm base 10:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: (1.30288,0.00000)
+DEAL:Complex float:Logarithm base 10:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: (1.30288,0.00000)
+DEAL:Complex float:Logarithm base 10:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: (-0.977163,0.00000)
+DEAL:Complex float:Sin:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Complex float:Sin:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Complex float:Sin:Symbolic computation: Function initialisation::symb_psi: sin(s2/s1)
+DEAL:Complex float:Sin:Symbolic computation: Differentiation::symb_dpsi_ds0: -s2*cos(s2/s1)/s1**2
+DEAL:Complex float:Sin:Symbolic computation: Differentiation::symb_dpsi_ds1: cos(s2/s1)/s1
+DEAL:Complex float:Sin:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: -s2**2*sin(s2/s1)/s1**4 + 2*s2*cos(s2/s1)/s1**3
+DEAL:Complex float:Sin:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -cos(s2/s1)/s1**2 + s2*sin(s2/s1)/s1**3
+DEAL:Complex float:Sin:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -cos(s2/s1)/s1**2 + s2*sin(s2/s1)/s1**3
+DEAL:Complex float:Sin:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: -sin(s2/s1)/s1**2
+DEAL:Complex float:Sin:Symbolic computation: Substitution::subs_psi: (0.618370,0.00000)
+DEAL:Complex float:Sin:Symbolic computation: Substitution::subs_dpsi_ds0: (-0.174642,0.00000)
+DEAL:Complex float:Sin:Symbolic computation: Substitution::subs_dpsi_ds1: (0.261962,0.00000)
+DEAL:Complex float:Sin:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: (0.0858910,0.00000)
+DEAL:Complex float:Sin:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: (-0.0415156,0.00000)
+DEAL:Complex float:Sin:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: (-0.0415156,0.00000)
+DEAL:Complex float:Sin:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: (-0.0687078,0.00000)
+DEAL:Complex float:Cos:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Complex float:Cos:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Complex float:Cos:Symbolic computation: Function initialisation::symb_psi: cos(s2/s1)
+DEAL:Complex float:Cos:Symbolic computation: Differentiation::symb_dpsi_ds0: s2*sin(s2/s1)/s1**2
+DEAL:Complex float:Cos:Symbolic computation: Differentiation::symb_dpsi_ds1: -sin(s2/s1)/s1
+DEAL:Complex float:Cos:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: -s2**2*cos(s2/s1)/s1**4 - 2*s2*sin(s2/s1)/s1**3
+DEAL:Complex float:Cos:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: sin(s2/s1)/s1**2 + s2*cos(s2/s1)/s1**3
+DEAL:Complex float:Cos:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: sin(s2/s1)/s1**2 + s2*cos(s2/s1)/s1**3
+DEAL:Complex float:Cos:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: -cos(s2/s1)/s1**2
+DEAL:Complex float:Cos:Symbolic computation: Substitution::subs_psi: (0.785887,0.00000)
+DEAL:Complex float:Cos:Symbolic computation: Substitution::subs_dpsi_ds0: (0.137416,0.00000)
+DEAL:Complex float:Cos:Symbolic computation: Substitution::subs_dpsi_ds1: (-0.206123,0.00000)
+DEAL:Complex float:Cos:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: (-0.130420,0.00000)
+DEAL:Complex float:Cos:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: (0.126922,0.00000)
+DEAL:Complex float:Cos:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: (0.126922,0.00000)
+DEAL:Complex float:Cos:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: (-0.0873208,0.00000)
+DEAL:Complex float:Tan:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Complex float:Tan:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Complex float:Tan:Symbolic computation: Function initialisation::symb_psi: tan(s2/s1)
+DEAL:Complex float:Tan:Symbolic computation: Differentiation::symb_dpsi_ds0: -s2*(1 + tan(s2/s1)**2)/s1**2
+DEAL:Complex float:Tan:Symbolic computation: Differentiation::symb_dpsi_ds1: (1 + tan(s2/s1)**2)/s1
+DEAL:Complex float:Tan:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 2*s2*(1 + tan(s2/s1)**2)/s1**3 + 2*s2**2*tan(s2/s1)*(1 + tan(s2/s1)**2)/s1**4
+DEAL:Complex float:Tan:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -(1 + tan(s2/s1)**2)/s1**2 - 2*s2*tan(s2/s1)*(1 + tan(s2/s1)**2)/s1**3
+DEAL:Complex float:Tan:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -(1 + tan(s2/s1)**2)/s1**2 - 2*s2*tan(s2/s1)*(1 + tan(s2/s1)**2)/s1**3
+DEAL:Complex float:Tan:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: 2*tan(s2/s1)*(1 + tan(s2/s1)**2)/s1**2
+DEAL:Complex float:Tan:Symbolic computation: Substitution::subs_psi: (0.786843,0.00000)
+DEAL:Complex float:Tan:Symbolic computation: Substitution::subs_dpsi_ds0: (-0.359805,0.00000)
+DEAL:Complex float:Tan:Symbolic computation: Substitution::subs_dpsi_ds1: (0.539707,0.00000)
+DEAL:Complex float:Tan:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: (0.365696,0.00000)
+DEAL:Complex float:Tan:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: (-0.368642,0.00000)
+DEAL:Complex float:Tan:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: (-0.368642,0.00000)
+DEAL:Complex float:Tan:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: (0.283110,0.00000)
+DEAL:Complex float:ASin:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Complex float:ASin:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Complex float:ASin:Symbolic computation: Function initialisation::symb_psi: asin(1.0/(s1*s2))
+DEAL:Complex float:ASin:Symbolic computation: Differentiation::symb_dpsi_ds0: -1.0/(s1**2*s2*sqrt(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Complex float:ASin:Symbolic computation: Differentiation::symb_dpsi_ds1: -1.0/(s1*s2**2*sqrt(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Complex float:ASin:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 1.0*1/(s1**5*s2**3*(1 - 1.0*1/(s1**2*s2**2))**(3/2)) + 2.0*1/(s1**3*s2*sqrt(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Complex float:ASin:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: 1.0*1/(s1**4*s2**4*(1 - 1.0*1/(s1**2*s2**2))**(3/2)) + 1.0*1/(s1**2*s2**2*sqrt(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Complex float:ASin:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: 1.0*1/(s1**4*s2**4*(1 - 1.0*1/(s1**2*s2**2))**(3/2)) + 1.0*1/(s1**2*s2**2*sqrt(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Complex float:ASin:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: 1.0*1/(s1**3*s2**5*(1 - 1.0*1/(s1**2*s2**2))**(3/2)) + 2.0*1/(s1*s2**3*sqrt(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Complex float:ASin:Symbolic computation: Substitution::subs_psi: (0.167448,0.00000)
+DEAL:Complex float:ASin:Symbolic computation: Substitution::subs_dpsi_ds0: (-0.0563436,0.00000)
+DEAL:Complex float:ASin:Symbolic computation: Substitution::subs_dpsi_ds1: (-0.0845154,0.00000)
+DEAL:Complex float:ASin:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: (0.0380990,0.00000)
+DEAL:Complex float:ASin:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: (0.0289767,0.00000)
+DEAL:Complex float:ASin:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: (0.0289767,0.00000)
+DEAL:Complex float:ASin:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: (0.0857228,0.00000)
+DEAL:Complex float:ACos:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Complex float:ACos:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Complex float:ACos:Symbolic computation: Function initialisation::symb_psi: acos(1.0/(s1*s2))
+DEAL:Complex float:ACos:Symbolic computation: Differentiation::symb_dpsi_ds0: 1.0/(s1**2*s2*sqrt(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Complex float:ACos:Symbolic computation: Differentiation::symb_dpsi_ds1: 1.0/(s1*s2**2*sqrt(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Complex float:ACos:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: -1.0*1/(s1**5*s2**3*(1 - 1.0*1/(s1**2*s2**2))**(3/2)) - 2.0*1/(s1**3*s2*sqrt(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Complex float:ACos:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -1.0*1/(s1**4*s2**4*(1 - 1.0*1/(s1**2*s2**2))**(3/2)) - 1.0*1/(s1**2*s2**2*sqrt(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Complex float:ACos:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -1.0*1/(s1**4*s2**4*(1 - 1.0*1/(s1**2*s2**2))**(3/2)) - 1.0*1/(s1**2*s2**2*sqrt(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Complex float:ACos:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: -1.0*1/(s1**3*s2**5*(1 - 1.0*1/(s1**2*s2**2))**(3/2)) - 2.0*1/(s1*s2**3*sqrt(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Complex float:ACos:Symbolic computation: Substitution::subs_psi: (1.40335,0.00000)
+DEAL:Complex float:ACos:Symbolic computation: Substitution::subs_dpsi_ds0: (0.0563436,0.00000)
+DEAL:Complex float:ACos:Symbolic computation: Substitution::subs_dpsi_ds1: (0.0845154,0.00000)
+DEAL:Complex float:ACos:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: (-0.0380990,0.00000)
+DEAL:Complex float:ACos:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: (-0.0289767,0.00000)
+DEAL:Complex float:ACos:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: (-0.0289767,0.00000)
+DEAL:Complex float:ACos:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: (-0.0857228,0.00000)
+DEAL:Complex float:ATan:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Complex float:ATan:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Complex float:ATan:Symbolic computation: Function initialisation::symb_psi: atan(1.0/(s1*s2))
+DEAL:Complex float:ATan:Symbolic computation: Differentiation::symb_dpsi_ds0: -1.0/(s1**2*s2*(1 + 1.0*1/(s1**2*s2**2)))
+DEAL:Complex float:ATan:Symbolic computation: Differentiation::symb_dpsi_ds1: -1.0/(s1*s2**2*(1 + 1.0*1/(s1**2*s2**2)))
+DEAL:Complex float:ATan:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: -2.0*1/(s1**5*s2**3*(1 + 1.0*1/(s1**2*s2**2))**2) + 2.0*1/(s1**3*s2*(1 + 1.0*1/(s1**2*s2**2)))
+DEAL:Complex float:ATan:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -2.0*1/(s1**4*s2**4*(1 + 1.0*1/(s1**2*s2**2))**2) + 1.0*1/(s1**2*s2**2*(1 + 1.0*1/(s1**2*s2**2)))
+DEAL:Complex float:ATan:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -2.0*1/(s1**4*s2**4*(1 + 1.0*1/(s1**2*s2**2))**2) + 1.0*1/(s1**2*s2**2*(1 + 1.0*1/(s1**2*s2**2)))
+DEAL:Complex float:ATan:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: -2.0*1/(s1**3*s2**5*(1 + 1.0*1/(s1**2*s2**2))**2) + 2.0*1/(s1*s2**3*(1 + 1.0*1/(s1**2*s2**2)))
+DEAL:Complex float:ATan:Symbolic computation: Substitution::subs_psi: (0.165149,0.00000)
+DEAL:Complex float:ATan:Symbolic computation: Substitution::subs_dpsi_ds0: (-0.0540541,0.00000)
+DEAL:Complex float:ATan:Symbolic computation: Substitution::subs_dpsi_ds1: (-0.0810811,0.00000)
+DEAL:Complex float:ATan:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: (0.0350621,0.00000)
+DEAL:Complex float:ATan:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: (0.0255661,0.00000)
+DEAL:Complex float:ATan:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: (0.0255661,0.00000)
+DEAL:Complex float:ATan:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: (0.0788897,0.00000)
+DEAL:Complex float:Sinh:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Complex float:Sinh:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Complex float:Sinh:Symbolic computation: Function initialisation::symb_psi: sinh(s2/s1)
+DEAL:Complex float:Sinh:Symbolic computation: Differentiation::symb_dpsi_ds0: -s2*cosh(s2/s1)/s1**2
+DEAL:Complex float:Sinh:Symbolic computation: Differentiation::symb_dpsi_ds1: cosh(s2/s1)/s1
+DEAL:Complex float:Sinh:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: s2**2*sinh(s2/s1)/s1**4 + 2*s2*cosh(s2/s1)/s1**3
+DEAL:Complex float:Sinh:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -cosh(s2/s1)/s1**2 - s2*sinh(s2/s1)/s1**3
+DEAL:Complex float:Sinh:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -cosh(s2/s1)/s1**2 - s2*sinh(s2/s1)/s1**3
+DEAL:Complex float:Sinh:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: sinh(s2/s1)/s1**2
+DEAL:Complex float:Sinh:Symbolic computation: Substitution::subs_psi: (0.717158,0.00000)
+DEAL:Complex float:Sinh:Symbolic computation: Substitution::subs_dpsi_ds0: (-0.273461,0.00000)
+DEAL:Complex float:Sinh:Symbolic computation: Substitution::subs_dpsi_ds1: (0.410192,0.00000)
+DEAL:Complex float:Sinh:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: (0.217723,0.00000)
+DEAL:Complex float:Sinh:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: (-0.189853,0.00000)
+DEAL:Complex float:Sinh:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: (-0.189853,0.00000)
+DEAL:Complex float:Sinh:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: (0.0796843,0.00000)
+DEAL:Complex float:Cosh:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Complex float:Cosh:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Complex float:Cosh:Symbolic computation: Function initialisation::symb_psi: cosh(s2/s1)
+DEAL:Complex float:Cosh:Symbolic computation: Differentiation::symb_dpsi_ds0: -s2*sinh(s2/s1)/s1**2
+DEAL:Complex float:Cosh:Symbolic computation: Differentiation::symb_dpsi_ds1: sinh(s2/s1)/s1
+DEAL:Complex float:Cosh:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: s2**2*cosh(s2/s1)/s1**4 + 2*s2*sinh(s2/s1)/s1**3
+DEAL:Complex float:Cosh:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -sinh(s2/s1)/s1**2 - s2*cosh(s2/s1)/s1**3
+DEAL:Complex float:Cosh:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -sinh(s2/s1)/s1**2 - s2*cosh(s2/s1)/s1**3
+DEAL:Complex float:Cosh:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: cosh(s2/s1)/s1**2
+DEAL:Complex float:Cosh:Symbolic computation: Substitution::subs_psi: (1.23058,0.00000)
+DEAL:Complex float:Cosh:Symbolic computation: Substitution::subs_dpsi_ds0: (-0.159369,0.00000)
+DEAL:Complex float:Cosh:Symbolic computation: Substitution::subs_dpsi_ds1: (0.239053,0.00000)
+DEAL:Complex float:Cosh:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: (0.167015,0.00000)
+DEAL:Complex float:Cosh:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: (-0.170838,0.00000)
+DEAL:Complex float:Cosh:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: (-0.170838,0.00000)
+DEAL:Complex float:Cosh:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: (0.136731,0.00000)
+DEAL:Complex float:Tanh:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Complex float:Tanh:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Complex float:Tanh:Symbolic computation: Function initialisation::symb_psi: tanh(s2/s1)
+DEAL:Complex float:Tanh:Symbolic computation: Differentiation::symb_dpsi_ds0: -s2*(1 - tanh(s2/s1)**2)/s1**2
+DEAL:Complex float:Tanh:Symbolic computation: Differentiation::symb_dpsi_ds1: (1 - tanh(s2/s1)**2)/s1
+DEAL:Complex float:Tanh:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 2*s2*(1 - tanh(s2/s1)**2)/s1**3 - 2*s2**2*tanh(s2/s1)*(1 - tanh(s2/s1)**2)/s1**4
+DEAL:Complex float:Tanh:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -(1 - tanh(s2/s1)**2)/s1**2 + 2*s2*tanh(s2/s1)*(1 - tanh(s2/s1)**2)/s1**3
+DEAL:Complex float:Tanh:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -(1 - tanh(s2/s1)**2)/s1**2 + 2*s2*tanh(s2/s1)*(1 - tanh(s2/s1)**2)/s1**3
+DEAL:Complex float:Tanh:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: -2*tanh(s2/s1)*(1 - tanh(s2/s1)**2)/s1**2
+DEAL:Complex float:Tanh:Symbolic computation: Substitution::subs_psi: (0.582783,0.00000)
+DEAL:Complex float:Tanh:Symbolic computation: Substitution::subs_dpsi_ds0: (-0.146748,0.00000)
+DEAL:Complex float:Tanh:Symbolic computation: Substitution::subs_dpsi_ds1: (0.220121,0.00000)
+DEAL:Complex float:Tanh:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: (0.0598219,0.00000)
+DEAL:Complex float:Tanh:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: (-0.0163591,0.00000)
+DEAL:Complex float:Tanh:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: (-0.0163591,0.00000)
+DEAL:Complex float:Tanh:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: (-0.0855220,0.00000)
+DEAL:Complex float:ASinh:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Complex float:ASinh:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Complex float:ASinh:Symbolic computation: Function initialisation::symb_psi: asinh(1.0/(s1*s2))
+DEAL:Complex float:ASinh:Symbolic computation: Differentiation::symb_dpsi_ds0: -1.0/(s1**2*s2*sqrt(1 + 1.0*1/(s1**2*s2**2)))
+DEAL:Complex float:ASinh:Symbolic computation: Differentiation::symb_dpsi_ds1: -1.0/(s1*s2**2*sqrt(1 + 1.0*1/(s1**2*s2**2)))
+DEAL:Complex float:ASinh:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: -1.0*1/(s1**5*s2**3*(1 + 1.0*1/(s1**2*s2**2))**(3/2)) + 2.0*1/(s1**3*s2*sqrt(1 + 1.0*1/(s1**2*s2**2)))
+DEAL:Complex float:ASinh:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -1.0*1/(s1**4*s2**4*(1 + 1.0*1/(s1**2*s2**2))**(3/2)) + 1.0*1/(s1**2*s2**2*sqrt(1 + 1.0*1/(s1**2*s2**2)))
+DEAL:Complex float:ASinh:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -1.0*1/(s1**4*s2**4*(1 + 1.0*1/(s1**2*s2**2))**(3/2)) + 1.0*1/(s1**2*s2**2*sqrt(1 + 1.0*1/(s1**2*s2**2)))
+DEAL:Complex float:ASinh:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: -1.0*1/(s1**3*s2**5*(1 + 1.0*1/(s1**2*s2**2))**(3/2)) + 2.0*1/(s1*s2**3*sqrt(1 + 1.0*1/(s1**2*s2**2)))
+DEAL:Complex float:ASinh:Symbolic computation: Substitution::subs_psi: (0.165905,0.00000)
+DEAL:Complex float:ASinh:Symbolic computation: Substitution::subs_dpsi_ds0: (-0.0547997,0.00000)
+DEAL:Complex float:ASinh:Symbolic computation: Substitution::subs_dpsi_ds1: (-0.0821995,0.00000)
+DEAL:Complex float:ASinh:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: (0.0360394,0.00000)
+DEAL:Complex float:ASinh:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: (0.0266593,0.00000)
+DEAL:Complex float:ASinh:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: (0.0266593,0.00000)
+DEAL:Complex float:ASinh:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: (0.0810887,0.00000)
+DEAL:Complex float:ACosh:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Complex float:ACosh:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Complex float:ACosh:Symbolic computation: Function initialisation::symb_psi: acosh(s1*s2)
+DEAL:Complex float:ACosh:Symbolic computation: Differentiation::symb_dpsi_ds0: s2/sqrt(-1 + s1**2*s2**2)
+DEAL:Complex float:ACosh:Symbolic computation: Differentiation::symb_dpsi_ds1: s1/sqrt(-1 + s1**2*s2**2)
+DEAL:Complex float:ACosh:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: -s1*s2**3/(-1 + s1**2*s2**2)**(3/2)
+DEAL:Complex float:ACosh:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -s1**2*s2**2/(-1 + s1**2*s2**2)**(3/2) + (-1 + s1**2*s2**2)**(-1/2)
+DEAL:Complex float:ACosh:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -s1**2*s2**2/(-1 + s1**2*s2**2)**(3/2) + (-1 + s1**2*s2**2)**(-1/2)
+DEAL:Complex float:ACosh:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: -s1**3*s2/(-1 + s1**2*s2**2)**(3/2)
+DEAL:Complex float:ACosh:Symbolic computation: Substitution::subs_psi: (2.47789,0.00000)
+DEAL:Complex float:ACosh:Symbolic computation: Substitution::subs_dpsi_ds0: (0.338062,0.00000)
+DEAL:Complex float:ACosh:Symbolic computation: Substitution::subs_dpsi_ds1: (0.507093,0.00000)
+DEAL:Complex float:ACosh:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: (-0.115907,0.00000)
+DEAL:Complex float:ACosh:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: (-0.00482945,0.00000)
+DEAL:Complex float:ACosh:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: (-0.00482945,0.00000)
+DEAL:Complex float:ACosh:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: (-0.260790,0.00000)
+DEAL:Complex float:ATanh:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Complex float:ATanh:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Complex float:ATanh:Symbolic computation: Function initialisation::symb_psi: atanh(1.0/(s1*s2))
+DEAL:Complex float:ATanh:Symbolic computation: Differentiation::symb_dpsi_ds0: -1.0/(s1**2*s2*(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Complex float:ATanh:Symbolic computation: Differentiation::symb_dpsi_ds1: -1.0/(s1*s2**2*(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Complex float:ATanh:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 2.0*1/(s1**5*s2**3*(1 - 1.0*1/(s1**2*s2**2))**2) + 2.0*1/(s1**3*s2*(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Complex float:ATanh:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: 2.0*1/(s1**4*s2**4*(1 - 1.0*1/(s1**2*s2**2))**2) + 1.0*1/(s1**2*s2**2*(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Complex float:ATanh:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: 2.0*1/(s1**4*s2**4*(1 - 1.0*1/(s1**2*s2**2))**2) + 1.0*1/(s1**2*s2**2*(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Complex float:ATanh:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: 2.0*1/(s1**3*s2**5*(1 - 1.0*1/(s1**2*s2**2))**2) + 2.0*1/(s1*s2**3*(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Complex float:ATanh:Symbolic computation: Substitution::subs_psi: (0.168236,0.00000)
+DEAL:Complex float:ATanh:Symbolic computation: Substitution::subs_dpsi_ds0: (-0.0571429,0.00000)
+DEAL:Complex float:ATanh:Symbolic computation: Substitution::subs_dpsi_ds1: (-0.0857143,0.00000)
+DEAL:Complex float:ATanh:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: (0.0391837,0.00000)
+DEAL:Complex float:ATanh:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: (0.0302041,0.00000)
+DEAL:Complex float:ATanh:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: (0.0302041,0.00000)
+DEAL:Complex float:ATanh:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: (0.0881633,0.00000)
+DEAL:Complex float::OK
+DEAL:Complex double:Add:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Complex double:Add:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Complex double:Add:Symbolic computation: Function initialisation::symb_psi: (s1 + s2)**2
+DEAL:Complex double:Add:Symbolic computation: Differentiation::symb_dpsi_ds0: 2*(s1 + s2)
+DEAL:Complex double:Add:Symbolic computation: Differentiation::symb_dpsi_ds1: 2*(s1 + s2)
+DEAL:Complex double:Add:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 2
+DEAL:Complex double:Add:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: 2
+DEAL:Complex double:Add:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: 2
+DEAL:Complex double:Add:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: 2
+DEAL:Complex double:Add:Symbolic computation: Substitution::subs_psi: (25.0000,0.00000)
+DEAL:Complex double:Add:Symbolic computation: Substitution::subs_dpsi_ds0: (10.0000,0.00000)
+DEAL:Complex double:Add:Symbolic computation: Substitution::subs_dpsi_ds1: (10.0000,0.00000)
+DEAL:Complex double:Add:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: (2.00000,0.00000)
+DEAL:Complex double:Add:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: (2.00000,0.00000)
+DEAL:Complex double:Add:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: (2.00000,0.00000)
+DEAL:Complex double:Add:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: (2.00000,0.00000)
+DEAL:Complex double:Subtract:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Complex double:Subtract:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Complex double:Subtract:Symbolic computation: Function initialisation::symb_psi: (s1 - s2)**2
+DEAL:Complex double:Subtract:Symbolic computation: Differentiation::symb_dpsi_ds0: 2*(s1 - s2)
+DEAL:Complex double:Subtract:Symbolic computation: Differentiation::symb_dpsi_ds1: -2*(s1 - s2)
+DEAL:Complex double:Subtract:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 2
+DEAL:Complex double:Subtract:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -2
+DEAL:Complex double:Subtract:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -2
+DEAL:Complex double:Subtract:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: 2
+DEAL:Complex double:Subtract:Symbolic computation: Substitution::subs_psi: (1.00000,0.00000)
+DEAL:Complex double:Subtract:Symbolic computation: Substitution::subs_dpsi_ds0: (2.00000,0.00000)
+DEAL:Complex double:Subtract:Symbolic computation: Substitution::subs_dpsi_ds1: (-2.00000,0.00000)
+DEAL:Complex double:Subtract:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: (2.00000,0.00000)
+DEAL:Complex double:Subtract:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: (-2.00000,0.00000)
+DEAL:Complex double:Subtract:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: (-2.00000,0.00000)
+DEAL:Complex double:Subtract:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: (2.00000,0.00000)
+DEAL:Complex double:Multiply:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Complex double:Multiply:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Complex double:Multiply:Symbolic computation: Function initialisation::symb_psi: s1**2*s2**2
+DEAL:Complex double:Multiply:Symbolic computation: Differentiation::symb_dpsi_ds0: 2*s1*s2**2
+DEAL:Complex double:Multiply:Symbolic computation: Differentiation::symb_dpsi_ds1: 2*s1**2*s2
+DEAL:Complex double:Multiply:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 2*s2**2
+DEAL:Complex double:Multiply:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: 4*s1*s2
+DEAL:Complex double:Multiply:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: 4*s1*s2
+DEAL:Complex double:Multiply:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: 2*s1**2
+DEAL:Complex double:Multiply:Symbolic computation: Substitution::subs_psi: (36.0000,0.00000)
+DEAL:Complex double:Multiply:Symbolic computation: Substitution::subs_dpsi_ds0: (24.0000,0.00000)
+DEAL:Complex double:Multiply:Symbolic computation: Substitution::subs_dpsi_ds1: (36.0000,0.00000)
+DEAL:Complex double:Multiply:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: (8.00000,0.00000)
+DEAL:Complex double:Multiply:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: (24.0000,0.00000)
+DEAL:Complex double:Multiply:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: (24.0000,0.00000)
+DEAL:Complex double:Multiply:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: (18.0000,0.00000)
+DEAL:Complex double:Divide:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Complex double:Divide:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Complex double:Divide:Symbolic computation: Function initialisation::symb_psi: s1**2/s2**2
+DEAL:Complex double:Divide:Symbolic computation: Differentiation::symb_dpsi_ds0: 2*s1/s2**2
+DEAL:Complex double:Divide:Symbolic computation: Differentiation::symb_dpsi_ds1: -2*s1**2/s2**3
+DEAL:Complex double:Divide:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 2/s2**2
+DEAL:Complex double:Divide:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -4*s1/s2**3
+DEAL:Complex double:Divide:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -4*s1/s2**3
+DEAL:Complex double:Divide:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: 6*s1**2/s2**4
+DEAL:Complex double:Divide:Symbolic computation: Substitution::subs_psi: (2.25000,0.00000)
+DEAL:Complex double:Divide:Symbolic computation: Substitution::subs_dpsi_ds0: (1.50000,0.00000)
+DEAL:Complex double:Divide:Symbolic computation: Substitution::subs_dpsi_ds1: (-2.25000,0.00000)
+DEAL:Complex double:Divide:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: (0.500000,0.00000)
+DEAL:Complex double:Divide:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: (-1.50000,0.00000)
+DEAL:Complex double:Divide:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: (-1.50000,0.00000)
+DEAL:Complex double:Divide:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: (3.37500,0.00000)
+DEAL:Complex double:Power:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Complex double:Power:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Complex double:Power:Symbolic computation: Function initialisation::symb_psi: 2.0*s1**s2
+DEAL:Complex double:Power:Symbolic computation: Differentiation::symb_dpsi_ds0: 2.0*s1**(-1 + s2)*s2
+DEAL:Complex double:Power:Symbolic computation: Differentiation::symb_dpsi_ds1: 2.0*s1**s2*log(s1)
+DEAL:Complex double:Power:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 2.0*s1**(-2 + s2)*s2*(-1 + s2)
+DEAL:Complex double:Power:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: 2.0*s1**(-1 + s2)*s2*log(s1) + 2.0*s1**(-1 + s2)
+DEAL:Complex double:Power:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: 2.0*s1**(-1 + s2)*s2*log(s1) + 2.0*s1**(-1 + s2)
+DEAL:Complex double:Power:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: 2.0*s1**s2*log(s1)**2
+DEAL:Complex double:Power:Symbolic computation: Substitution::subs_psi: (18.0000,0.00000)
+DEAL:Complex double:Power:Symbolic computation: Substitution::subs_dpsi_ds0: (12.0000,0.00000)
+DEAL:Complex double:Power:Symbolic computation: Substitution::subs_dpsi_ds1: (19.7750,0.00000)
+DEAL:Complex double:Power:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: (4.00000,0.00000)
+DEAL:Complex double:Power:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: (19.1833,0.00000)
+DEAL:Complex double:Power:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: (19.1833,0.00000)
+DEAL:Complex double:Power:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: (21.7251,0.00000)
+DEAL:Complex double:Sqrt:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Complex double:Sqrt:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Complex double:Sqrt:Symbolic computation: Function initialisation::symb_psi: 2.0*sqrt(s1*s2)
+DEAL:Complex double:Sqrt:Symbolic computation: Differentiation::symb_dpsi_ds0: 1.0*s2/sqrt(s1*s2)
+DEAL:Complex double:Sqrt:Symbolic computation: Differentiation::symb_dpsi_ds1: 1.0*s1/sqrt(s1*s2)
+DEAL:Complex double:Sqrt:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: -0.5*s2**2/(s1*s2)**(3/2)
+DEAL:Complex double:Sqrt:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -0.5*s1*s2/(s1*s2)**(3/2) + 1.0*(s1*s2)**(-1/2)
+DEAL:Complex double:Sqrt:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -0.5*s1*s2/(s1*s2)**(3/2) + 1.0*(s1*s2)**(-1/2)
+DEAL:Complex double:Sqrt:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: -0.5*s1**2/(s1*s2)**(3/2)
+DEAL:Complex double:Sqrt:Symbolic computation: Substitution::subs_psi: (4.89898,0.00000)
+DEAL:Complex double:Sqrt:Symbolic computation: Substitution::subs_dpsi_ds0: (0.816497,0.00000)
+DEAL:Complex double:Sqrt:Symbolic computation: Substitution::subs_dpsi_ds1: (1.22474,0.00000)
+DEAL:Complex double:Sqrt:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: (-0.136083,0.00000)
+DEAL:Complex double:Sqrt:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: (0.204124,0.00000)
+DEAL:Complex double:Sqrt:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: (0.204124,0.00000)
+DEAL:Complex double:Sqrt:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: (-0.306186,0.00000)
+DEAL:Complex double:Exponential:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Complex double:Exponential:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Complex double:Exponential:Symbolic computation: Function initialisation::symb_psi: exp(s2)*s1**2
+DEAL:Complex double:Exponential:Symbolic computation: Differentiation::symb_dpsi_ds0: 2*exp(s2)*s1
+DEAL:Complex double:Exponential:Symbolic computation: Differentiation::symb_dpsi_ds1: exp(s2)*s1**2
+DEAL:Complex double:Exponential:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 2*exp(s2)
+DEAL:Complex double:Exponential:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: 2*exp(s2)*s1
+DEAL:Complex double:Exponential:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: 2*exp(s2)*s1
+DEAL:Complex double:Exponential:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: exp(s2)*s1**2
+DEAL:Complex double:Exponential:Symbolic computation: Substitution::subs_psi: (66.5015,0.00000)
+DEAL:Complex double:Exponential:Symbolic computation: Substitution::subs_dpsi_ds0: (44.3343,0.00000)
+DEAL:Complex double:Exponential:Symbolic computation: Substitution::subs_dpsi_ds1: (66.5015,0.00000)
+DEAL:Complex double:Exponential:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: (14.7781,0.00000)
+DEAL:Complex double:Exponential:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: (44.3343,0.00000)
+DEAL:Complex double:Exponential:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: (44.3343,0.00000)
+DEAL:Complex double:Exponential:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: (66.5015,0.00000)
+DEAL:Complex double:Logarithm:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Complex double:Logarithm:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Complex double:Logarithm:Symbolic computation: Function initialisation::symb_psi: s1**2*log(s2)
+DEAL:Complex double:Logarithm:Symbolic computation: Differentiation::symb_dpsi_ds0: 2*s1*log(s2)
+DEAL:Complex double:Logarithm:Symbolic computation: Differentiation::symb_dpsi_ds1: s1**2/s2
+DEAL:Complex double:Logarithm:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 2*log(s2)
+DEAL:Complex double:Logarithm:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: 2*s1/s2
+DEAL:Complex double:Logarithm:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: 2*s1/s2
+DEAL:Complex double:Logarithm:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: -s1**2/s2**2
+DEAL:Complex double:Logarithm:Symbolic computation: Substitution::subs_psi: (6.23832,0.00000)
+DEAL:Complex double:Logarithm:Symbolic computation: Substitution::subs_dpsi_ds0: (4.15888,0.00000)
+DEAL:Complex double:Logarithm:Symbolic computation: Substitution::subs_dpsi_ds1: (4.50000,0.00000)
+DEAL:Complex double:Logarithm:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: (1.38629,0.00000)
+DEAL:Complex double:Logarithm:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: (3.00000,0.00000)
+DEAL:Complex double:Logarithm:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: (3.00000,0.00000)
+DEAL:Complex double:Logarithm:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: (-2.25000,0.00000)
+DEAL:Complex double:Logarithm with Base:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Complex double:Logarithm with Base:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Complex double:Logarithm with Base:Symbolic computation: Function initialisation::symb_psi: log(s2)/log(s1)
+DEAL:Complex double:Logarithm with Base:Symbolic computation: Differentiation::symb_dpsi_ds0: -log(s2)/(s1*log(s1)**2)
+DEAL:Complex double:Logarithm with Base:Symbolic computation: Differentiation::symb_dpsi_ds1: 1/(s2*log(s1))
+DEAL:Complex double:Logarithm with Base:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 2*log(s2)/(s1**2*log(s1)**3) + log(s2)/(s1**2*log(s1)**2)
+DEAL:Complex double:Logarithm with Base:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -1/(s1*s2*log(s1)**2)
+DEAL:Complex double:Logarithm with Base:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -1/(s1*s2*log(s1)**2)
+DEAL:Complex double:Logarithm with Base:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: -1/(s2**2*log(s1))
+DEAL:Complex double:Logarithm with Base:Symbolic computation: Substitution::subs_psi: (0.630930,0.00000)
+DEAL:Complex double:Logarithm with Base:Symbolic computation: Substitution::subs_dpsi_ds0: (-0.191432,0.00000)
+DEAL:Complex double:Logarithm with Base:Symbolic computation: Substitution::subs_dpsi_ds1: (0.455120,0.00000)
+DEAL:Complex double:Logarithm with Base:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: (0.179977,0.00000)
+DEAL:Complex double:Logarithm with Base:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: (-0.138089,0.00000)
+DEAL:Complex double:Logarithm with Base:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: (-0.138089,0.00000)
+DEAL:Complex double:Logarithm with Base:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: (-0.227560,0.00000)
+DEAL:Complex double:Logarithm base 10:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Complex double:Logarithm base 10:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Complex double:Logarithm base 10:Symbolic computation: Function initialisation::symb_psi: 0.434294481903252*s1**2*log(s2)
+DEAL:Complex double:Logarithm base 10:Symbolic computation: Differentiation::symb_dpsi_ds0: 0.868588963806504*s1*log(s2)
+DEAL:Complex double:Logarithm base 10:Symbolic computation: Differentiation::symb_dpsi_ds1: 0.434294481903252*s1**2/s2
+DEAL:Complex double:Logarithm base 10:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 0.868588963806504*log(s2)
+DEAL:Complex double:Logarithm base 10:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: 0.868588963806504*s1/s2
+DEAL:Complex double:Logarithm base 10:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: 0.868588963806504*s1/s2
+DEAL:Complex double:Logarithm base 10:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: -0.434294481903252*s1**2/s2**2
+DEAL:Complex double:Logarithm base 10:Symbolic computation: Substitution::subs_psi: (2.70927,0.00000)
+DEAL:Complex double:Logarithm base 10:Symbolic computation: Substitution::subs_dpsi_ds0: (1.80618,0.00000)
+DEAL:Complex double:Logarithm base 10:Symbolic computation: Substitution::subs_dpsi_ds1: (1.95433,0.00000)
+DEAL:Complex double:Logarithm base 10:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: (0.602060,0.00000)
+DEAL:Complex double:Logarithm base 10:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: (1.30288,0.00000)
+DEAL:Complex double:Logarithm base 10:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: (1.30288,0.00000)
+DEAL:Complex double:Logarithm base 10:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: (-0.977163,0.00000)
+DEAL:Complex double:Sin:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Complex double:Sin:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Complex double:Sin:Symbolic computation: Function initialisation::symb_psi: sin(s2/s1)
+DEAL:Complex double:Sin:Symbolic computation: Differentiation::symb_dpsi_ds0: -s2*cos(s2/s1)/s1**2
+DEAL:Complex double:Sin:Symbolic computation: Differentiation::symb_dpsi_ds1: cos(s2/s1)/s1
+DEAL:Complex double:Sin:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: -s2**2*sin(s2/s1)/s1**4 + 2*s2*cos(s2/s1)/s1**3
+DEAL:Complex double:Sin:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -cos(s2/s1)/s1**2 + s2*sin(s2/s1)/s1**3
+DEAL:Complex double:Sin:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -cos(s2/s1)/s1**2 + s2*sin(s2/s1)/s1**3
+DEAL:Complex double:Sin:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: -sin(s2/s1)/s1**2
+DEAL:Complex double:Sin:Symbolic computation: Substitution::subs_psi: (0.618370,0.00000)
+DEAL:Complex double:Sin:Symbolic computation: Substitution::subs_dpsi_ds0: (-0.174642,0.00000)
+DEAL:Complex double:Sin:Symbolic computation: Substitution::subs_dpsi_ds1: (0.261962,0.00000)
+DEAL:Complex double:Sin:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: (0.0858910,0.00000)
+DEAL:Complex double:Sin:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: (-0.0415156,0.00000)
+DEAL:Complex double:Sin:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: (-0.0415156,0.00000)
+DEAL:Complex double:Sin:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: (-0.0687078,0.00000)
+DEAL:Complex double:Cos:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Complex double:Cos:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Complex double:Cos:Symbolic computation: Function initialisation::symb_psi: cos(s2/s1)
+DEAL:Complex double:Cos:Symbolic computation: Differentiation::symb_dpsi_ds0: s2*sin(s2/s1)/s1**2
+DEAL:Complex double:Cos:Symbolic computation: Differentiation::symb_dpsi_ds1: -sin(s2/s1)/s1
+DEAL:Complex double:Cos:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: -s2**2*cos(s2/s1)/s1**4 - 2*s2*sin(s2/s1)/s1**3
+DEAL:Complex double:Cos:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: sin(s2/s1)/s1**2 + s2*cos(s2/s1)/s1**3
+DEAL:Complex double:Cos:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: sin(s2/s1)/s1**2 + s2*cos(s2/s1)/s1**3
+DEAL:Complex double:Cos:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: -cos(s2/s1)/s1**2
+DEAL:Complex double:Cos:Symbolic computation: Substitution::subs_psi: (0.785887,0.00000)
+DEAL:Complex double:Cos:Symbolic computation: Substitution::subs_dpsi_ds0: (0.137416,0.00000)
+DEAL:Complex double:Cos:Symbolic computation: Substitution::subs_dpsi_ds1: (-0.206123,0.00000)
+DEAL:Complex double:Cos:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: (-0.130420,0.00000)
+DEAL:Complex double:Cos:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: (0.126922,0.00000)
+DEAL:Complex double:Cos:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: (0.126922,0.00000)
+DEAL:Complex double:Cos:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: (-0.0873208,0.00000)
+DEAL:Complex double:Tan:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Complex double:Tan:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Complex double:Tan:Symbolic computation: Function initialisation::symb_psi: tan(s2/s1)
+DEAL:Complex double:Tan:Symbolic computation: Differentiation::symb_dpsi_ds0: -s2*(1 + tan(s2/s1)**2)/s1**2
+DEAL:Complex double:Tan:Symbolic computation: Differentiation::symb_dpsi_ds1: (1 + tan(s2/s1)**2)/s1
+DEAL:Complex double:Tan:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 2*s2*(1 + tan(s2/s1)**2)/s1**3 + 2*s2**2*tan(s2/s1)*(1 + tan(s2/s1)**2)/s1**4
+DEAL:Complex double:Tan:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -(1 + tan(s2/s1)**2)/s1**2 - 2*s2*tan(s2/s1)*(1 + tan(s2/s1)**2)/s1**3
+DEAL:Complex double:Tan:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -(1 + tan(s2/s1)**2)/s1**2 - 2*s2*tan(s2/s1)*(1 + tan(s2/s1)**2)/s1**3
+DEAL:Complex double:Tan:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: 2*tan(s2/s1)*(1 + tan(s2/s1)**2)/s1**2
+DEAL:Complex double:Tan:Symbolic computation: Substitution::subs_psi: (0.786843,0.00000)
+DEAL:Complex double:Tan:Symbolic computation: Substitution::subs_dpsi_ds0: (-0.359805,0.00000)
+DEAL:Complex double:Tan:Symbolic computation: Substitution::subs_dpsi_ds1: (0.539707,0.00000)
+DEAL:Complex double:Tan:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: (0.365696,0.00000)
+DEAL:Complex double:Tan:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: (-0.368642,0.00000)
+DEAL:Complex double:Tan:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: (-0.368642,0.00000)
+DEAL:Complex double:Tan:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: (0.283110,0.00000)
+DEAL:Complex double:ASin:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Complex double:ASin:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Complex double:ASin:Symbolic computation: Function initialisation::symb_psi: asin(1.0/(s1*s2))
+DEAL:Complex double:ASin:Symbolic computation: Differentiation::symb_dpsi_ds0: -1.0/(s1**2*s2*sqrt(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Complex double:ASin:Symbolic computation: Differentiation::symb_dpsi_ds1: -1.0/(s1*s2**2*sqrt(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Complex double:ASin:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 1.0*1/(s1**5*s2**3*(1 - 1.0*1/(s1**2*s2**2))**(3/2)) + 2.0*1/(s1**3*s2*sqrt(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Complex double:ASin:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: 1.0*1/(s1**4*s2**4*(1 - 1.0*1/(s1**2*s2**2))**(3/2)) + 1.0*1/(s1**2*s2**2*sqrt(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Complex double:ASin:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: 1.0*1/(s1**4*s2**4*(1 - 1.0*1/(s1**2*s2**2))**(3/2)) + 1.0*1/(s1**2*s2**2*sqrt(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Complex double:ASin:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: 1.0*1/(s1**3*s2**5*(1 - 1.0*1/(s1**2*s2**2))**(3/2)) + 2.0*1/(s1*s2**3*sqrt(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Complex double:ASin:Symbolic computation: Substitution::subs_psi: (0.167448,0.00000)
+DEAL:Complex double:ASin:Symbolic computation: Substitution::subs_dpsi_ds0: (-0.0563436,0.00000)
+DEAL:Complex double:ASin:Symbolic computation: Substitution::subs_dpsi_ds1: (-0.0845154,0.00000)
+DEAL:Complex double:ASin:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: (0.0380990,0.00000)
+DEAL:Complex double:ASin:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: (0.0289767,0.00000)
+DEAL:Complex double:ASin:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: (0.0289767,0.00000)
+DEAL:Complex double:ASin:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: (0.0857228,0.00000)
+DEAL:Complex double:ACos:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Complex double:ACos:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Complex double:ACos:Symbolic computation: Function initialisation::symb_psi: acos(1.0/(s1*s2))
+DEAL:Complex double:ACos:Symbolic computation: Differentiation::symb_dpsi_ds0: 1.0/(s1**2*s2*sqrt(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Complex double:ACos:Symbolic computation: Differentiation::symb_dpsi_ds1: 1.0/(s1*s2**2*sqrt(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Complex double:ACos:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: -1.0*1/(s1**5*s2**3*(1 - 1.0*1/(s1**2*s2**2))**(3/2)) - 2.0*1/(s1**3*s2*sqrt(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Complex double:ACos:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -1.0*1/(s1**4*s2**4*(1 - 1.0*1/(s1**2*s2**2))**(3/2)) - 1.0*1/(s1**2*s2**2*sqrt(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Complex double:ACos:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -1.0*1/(s1**4*s2**4*(1 - 1.0*1/(s1**2*s2**2))**(3/2)) - 1.0*1/(s1**2*s2**2*sqrt(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Complex double:ACos:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: -1.0*1/(s1**3*s2**5*(1 - 1.0*1/(s1**2*s2**2))**(3/2)) - 2.0*1/(s1*s2**3*sqrt(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Complex double:ACos:Symbolic computation: Substitution::subs_psi: (1.40335,0.00000)
+DEAL:Complex double:ACos:Symbolic computation: Substitution::subs_dpsi_ds0: (0.0563436,0.00000)
+DEAL:Complex double:ACos:Symbolic computation: Substitution::subs_dpsi_ds1: (0.0845154,0.00000)
+DEAL:Complex double:ACos:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: (-0.0380990,0.00000)
+DEAL:Complex double:ACos:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: (-0.0289767,0.00000)
+DEAL:Complex double:ACos:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: (-0.0289767,0.00000)
+DEAL:Complex double:ACos:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: (-0.0857228,0.00000)
+DEAL:Complex double:ATan:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Complex double:ATan:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Complex double:ATan:Symbolic computation: Function initialisation::symb_psi: atan(1.0/(s1*s2))
+DEAL:Complex double:ATan:Symbolic computation: Differentiation::symb_dpsi_ds0: -1.0/(s1**2*s2*(1 + 1.0*1/(s1**2*s2**2)))
+DEAL:Complex double:ATan:Symbolic computation: Differentiation::symb_dpsi_ds1: -1.0/(s1*s2**2*(1 + 1.0*1/(s1**2*s2**2)))
+DEAL:Complex double:ATan:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: -2.0*1/(s1**5*s2**3*(1 + 1.0*1/(s1**2*s2**2))**2) + 2.0*1/(s1**3*s2*(1 + 1.0*1/(s1**2*s2**2)))
+DEAL:Complex double:ATan:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -2.0*1/(s1**4*s2**4*(1 + 1.0*1/(s1**2*s2**2))**2) + 1.0*1/(s1**2*s2**2*(1 + 1.0*1/(s1**2*s2**2)))
+DEAL:Complex double:ATan:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -2.0*1/(s1**4*s2**4*(1 + 1.0*1/(s1**2*s2**2))**2) + 1.0*1/(s1**2*s2**2*(1 + 1.0*1/(s1**2*s2**2)))
+DEAL:Complex double:ATan:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: -2.0*1/(s1**3*s2**5*(1 + 1.0*1/(s1**2*s2**2))**2) + 2.0*1/(s1*s2**3*(1 + 1.0*1/(s1**2*s2**2)))
+DEAL:Complex double:ATan:Symbolic computation: Substitution::subs_psi: (0.165149,0.00000)
+DEAL:Complex double:ATan:Symbolic computation: Substitution::subs_dpsi_ds0: (-0.0540541,0.00000)
+DEAL:Complex double:ATan:Symbolic computation: Substitution::subs_dpsi_ds1: (-0.0810811,0.00000)
+DEAL:Complex double:ATan:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: (0.0350621,0.00000)
+DEAL:Complex double:ATan:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: (0.0255661,0.00000)
+DEAL:Complex double:ATan:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: (0.0255661,0.00000)
+DEAL:Complex double:ATan:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: (0.0788897,0.00000)
+DEAL:Complex double:Sinh:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Complex double:Sinh:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Complex double:Sinh:Symbolic computation: Function initialisation::symb_psi: sinh(s2/s1)
+DEAL:Complex double:Sinh:Symbolic computation: Differentiation::symb_dpsi_ds0: -s2*cosh(s2/s1)/s1**2
+DEAL:Complex double:Sinh:Symbolic computation: Differentiation::symb_dpsi_ds1: cosh(s2/s1)/s1
+DEAL:Complex double:Sinh:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: s2**2*sinh(s2/s1)/s1**4 + 2*s2*cosh(s2/s1)/s1**3
+DEAL:Complex double:Sinh:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -cosh(s2/s1)/s1**2 - s2*sinh(s2/s1)/s1**3
+DEAL:Complex double:Sinh:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -cosh(s2/s1)/s1**2 - s2*sinh(s2/s1)/s1**3
+DEAL:Complex double:Sinh:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: sinh(s2/s1)/s1**2
+DEAL:Complex double:Sinh:Symbolic computation: Substitution::subs_psi: (0.717158,0.00000)
+DEAL:Complex double:Sinh:Symbolic computation: Substitution::subs_dpsi_ds0: (-0.273461,0.00000)
+DEAL:Complex double:Sinh:Symbolic computation: Substitution::subs_dpsi_ds1: (0.410192,0.00000)
+DEAL:Complex double:Sinh:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: (0.217723,0.00000)
+DEAL:Complex double:Sinh:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: (-0.189853,0.00000)
+DEAL:Complex double:Sinh:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: (-0.189853,0.00000)
+DEAL:Complex double:Sinh:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: (0.0796843,0.00000)
+DEAL:Complex double:Cosh:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Complex double:Cosh:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Complex double:Cosh:Symbolic computation: Function initialisation::symb_psi: cosh(s2/s1)
+DEAL:Complex double:Cosh:Symbolic computation: Differentiation::symb_dpsi_ds0: -s2*sinh(s2/s1)/s1**2
+DEAL:Complex double:Cosh:Symbolic computation: Differentiation::symb_dpsi_ds1: sinh(s2/s1)/s1
+DEAL:Complex double:Cosh:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: s2**2*cosh(s2/s1)/s1**4 + 2*s2*sinh(s2/s1)/s1**3
+DEAL:Complex double:Cosh:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -sinh(s2/s1)/s1**2 - s2*cosh(s2/s1)/s1**3
+DEAL:Complex double:Cosh:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -sinh(s2/s1)/s1**2 - s2*cosh(s2/s1)/s1**3
+DEAL:Complex double:Cosh:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: cosh(s2/s1)/s1**2
+DEAL:Complex double:Cosh:Symbolic computation: Substitution::subs_psi: (1.23058,0.00000)
+DEAL:Complex double:Cosh:Symbolic computation: Substitution::subs_dpsi_ds0: (-0.159369,0.00000)
+DEAL:Complex double:Cosh:Symbolic computation: Substitution::subs_dpsi_ds1: (0.239053,0.00000)
+DEAL:Complex double:Cosh:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: (0.167015,0.00000)
+DEAL:Complex double:Cosh:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: (-0.170838,0.00000)
+DEAL:Complex double:Cosh:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: (-0.170838,0.00000)
+DEAL:Complex double:Cosh:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: (0.136731,0.00000)
+DEAL:Complex double:Tanh:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Complex double:Tanh:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Complex double:Tanh:Symbolic computation: Function initialisation::symb_psi: tanh(s2/s1)
+DEAL:Complex double:Tanh:Symbolic computation: Differentiation::symb_dpsi_ds0: -s2*(1 - tanh(s2/s1)**2)/s1**2
+DEAL:Complex double:Tanh:Symbolic computation: Differentiation::symb_dpsi_ds1: (1 - tanh(s2/s1)**2)/s1
+DEAL:Complex double:Tanh:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 2*s2*(1 - tanh(s2/s1)**2)/s1**3 - 2*s2**2*tanh(s2/s1)*(1 - tanh(s2/s1)**2)/s1**4
+DEAL:Complex double:Tanh:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -(1 - tanh(s2/s1)**2)/s1**2 + 2*s2*tanh(s2/s1)*(1 - tanh(s2/s1)**2)/s1**3
+DEAL:Complex double:Tanh:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -(1 - tanh(s2/s1)**2)/s1**2 + 2*s2*tanh(s2/s1)*(1 - tanh(s2/s1)**2)/s1**3
+DEAL:Complex double:Tanh:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: -2*tanh(s2/s1)*(1 - tanh(s2/s1)**2)/s1**2
+DEAL:Complex double:Tanh:Symbolic computation: Substitution::subs_psi: (0.582783,0.00000)
+DEAL:Complex double:Tanh:Symbolic computation: Substitution::subs_dpsi_ds0: (-0.146748,0.00000)
+DEAL:Complex double:Tanh:Symbolic computation: Substitution::subs_dpsi_ds1: (0.220121,0.00000)
+DEAL:Complex double:Tanh:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: (0.0598219,0.00000)
+DEAL:Complex double:Tanh:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: (-0.0163591,0.00000)
+DEAL:Complex double:Tanh:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: (-0.0163591,0.00000)
+DEAL:Complex double:Tanh:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: (-0.0855220,0.00000)
+DEAL:Complex double:ASinh:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Complex double:ASinh:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Complex double:ASinh:Symbolic computation: Function initialisation::symb_psi: asinh(1.0/(s1*s2))
+DEAL:Complex double:ASinh:Symbolic computation: Differentiation::symb_dpsi_ds0: -1.0/(s1**2*s2*sqrt(1 + 1.0*1/(s1**2*s2**2)))
+DEAL:Complex double:ASinh:Symbolic computation: Differentiation::symb_dpsi_ds1: -1.0/(s1*s2**2*sqrt(1 + 1.0*1/(s1**2*s2**2)))
+DEAL:Complex double:ASinh:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: -1.0*1/(s1**5*s2**3*(1 + 1.0*1/(s1**2*s2**2))**(3/2)) + 2.0*1/(s1**3*s2*sqrt(1 + 1.0*1/(s1**2*s2**2)))
+DEAL:Complex double:ASinh:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -1.0*1/(s1**4*s2**4*(1 + 1.0*1/(s1**2*s2**2))**(3/2)) + 1.0*1/(s1**2*s2**2*sqrt(1 + 1.0*1/(s1**2*s2**2)))
+DEAL:Complex double:ASinh:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -1.0*1/(s1**4*s2**4*(1 + 1.0*1/(s1**2*s2**2))**(3/2)) + 1.0*1/(s1**2*s2**2*sqrt(1 + 1.0*1/(s1**2*s2**2)))
+DEAL:Complex double:ASinh:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: -1.0*1/(s1**3*s2**5*(1 + 1.0*1/(s1**2*s2**2))**(3/2)) + 2.0*1/(s1*s2**3*sqrt(1 + 1.0*1/(s1**2*s2**2)))
+DEAL:Complex double:ASinh:Symbolic computation: Substitution::subs_psi: (0.165905,0.00000)
+DEAL:Complex double:ASinh:Symbolic computation: Substitution::subs_dpsi_ds0: (-0.0547997,0.00000)
+DEAL:Complex double:ASinh:Symbolic computation: Substitution::subs_dpsi_ds1: (-0.0821995,0.00000)
+DEAL:Complex double:ASinh:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: (0.0360394,0.00000)
+DEAL:Complex double:ASinh:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: (0.0266593,0.00000)
+DEAL:Complex double:ASinh:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: (0.0266593,0.00000)
+DEAL:Complex double:ASinh:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: (0.0810887,0.00000)
+DEAL:Complex double:ACosh:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Complex double:ACosh:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Complex double:ACosh:Symbolic computation: Function initialisation::symb_psi: acosh(s1*s2)
+DEAL:Complex double:ACosh:Symbolic computation: Differentiation::symb_dpsi_ds0: s2/sqrt(-1 + s1**2*s2**2)
+DEAL:Complex double:ACosh:Symbolic computation: Differentiation::symb_dpsi_ds1: s1/sqrt(-1 + s1**2*s2**2)
+DEAL:Complex double:ACosh:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: -s1*s2**3/(-1 + s1**2*s2**2)**(3/2)
+DEAL:Complex double:ACosh:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -s1**2*s2**2/(-1 + s1**2*s2**2)**(3/2) + (-1 + s1**2*s2**2)**(-1/2)
+DEAL:Complex double:ACosh:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -s1**2*s2**2/(-1 + s1**2*s2**2)**(3/2) + (-1 + s1**2*s2**2)**(-1/2)
+DEAL:Complex double:ACosh:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: -s1**3*s2/(-1 + s1**2*s2**2)**(3/2)
+DEAL:Complex double:ACosh:Symbolic computation: Substitution::subs_psi: (2.47789,0.00000)
+DEAL:Complex double:ACosh:Symbolic computation: Substitution::subs_dpsi_ds0: (0.338062,0.00000)
+DEAL:Complex double:ACosh:Symbolic computation: Substitution::subs_dpsi_ds1: (0.507093,0.00000)
+DEAL:Complex double:ACosh:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: (-0.115907,0.00000)
+DEAL:Complex double:ACosh:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: (-0.00482945,0.00000)
+DEAL:Complex double:ACosh:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: (-0.00482945,0.00000)
+DEAL:Complex double:ACosh:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: (-0.260790,0.00000)
+DEAL:Complex double:ATanh:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Complex double:ATanh:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Complex double:ATanh:Symbolic computation: Function initialisation::symb_psi: atanh(1.0/(s1*s2))
+DEAL:Complex double:ATanh:Symbolic computation: Differentiation::symb_dpsi_ds0: -1.0/(s1**2*s2*(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Complex double:ATanh:Symbolic computation: Differentiation::symb_dpsi_ds1: -1.0/(s1*s2**2*(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Complex double:ATanh:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 2.0*1/(s1**5*s2**3*(1 - 1.0*1/(s1**2*s2**2))**2) + 2.0*1/(s1**3*s2*(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Complex double:ATanh:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: 2.0*1/(s1**4*s2**4*(1 - 1.0*1/(s1**2*s2**2))**2) + 1.0*1/(s1**2*s2**2*(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Complex double:ATanh:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: 2.0*1/(s1**4*s2**4*(1 - 1.0*1/(s1**2*s2**2))**2) + 1.0*1/(s1**2*s2**2*(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Complex double:ATanh:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: 2.0*1/(s1**3*s2**5*(1 - 1.0*1/(s1**2*s2**2))**2) + 2.0*1/(s1*s2**3*(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Complex double:ATanh:Symbolic computation: Substitution::subs_psi: (0.168236,0.00000)
+DEAL:Complex double:ATanh:Symbolic computation: Substitution::subs_dpsi_ds0: (-0.0571429,0.00000)
+DEAL:Complex double:ATanh:Symbolic computation: Substitution::subs_dpsi_ds1: (-0.0857143,0.00000)
+DEAL:Complex double:ATanh:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: (0.0391837,0.00000)
+DEAL:Complex double:ATanh:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: (0.0302041,0.00000)
+DEAL:Complex double:ATanh:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: (0.0302041,0.00000)
+DEAL:Complex double:ATanh:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: (0.0881633,0.00000)
+DEAL:Complex double::OK
+DEAL::OK
diff --git a/tests/symengine/batch_optimizer_01_2b.cc b/tests/symengine/batch_optimizer_01_2b.cc
new file mode 100644 (file)
index 0000000..f7d93d1
--- /dev/null
@@ -0,0 +1,42 @@
+// ---------------------------------------------------------------------
+//
+// Copyright (C) 2020 by the deal.II authors
+//
+// This file is part of the deal.II library.
+//
+// The deal.II library is free software; you can use it, redistribute
+// it, and/or modify it under the terms of the GNU Lesser General
+// Public License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+// The full text of the license can be found in the file LICENSE at
+// the top level of the deal.II distribution.
+//
+// ---------------------------------------------------------------------
+
+
+// Test that all of the low-level math operations function as expected
+// and that their values and derivatives can be computed using the
+// optimizer.
+// For this test the optimizer is in mode "lambda", i.e. converting the
+// function expression into a lambda function-based evaluation path, and
+// all other optimizations (e.g. CSE) have been enabled.
+// This test is based on function_verification_01.cc
+
+#include "../tests.h"
+
+#include "sd_common_tests/batch_optimizer_01.h"
+
+
+int
+main()
+{
+  initlog();
+
+  const enum SD::OptimizerType     opt_method = SD::OptimizerType::lambda;
+  const enum SD::OptimizationFlags opt_flags =
+    SD::OptimizationFlags::optimize_all;
+
+  run_tests<opt_method, opt_flags>();
+
+  deallog << "OK" << std::endl;
+}
diff --git a/tests/symengine/batch_optimizer_01_2b.output b/tests/symengine/batch_optimizer_01_2b.output
new file mode 100644 (file)
index 0000000..e733d25
--- /dev/null
@@ -0,0 +1,1510 @@
+
+DEAL:Float:Add:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Float:Add:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Float:Add:Symbolic computation: Function initialisation::symb_psi: (s1 + s2)**2
+DEAL:Float:Add:Symbolic computation: Differentiation::symb_dpsi_ds0: 2*(s1 + s2)
+DEAL:Float:Add:Symbolic computation: Differentiation::symb_dpsi_ds1: 2*(s1 + s2)
+DEAL:Float:Add:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 2
+DEAL:Float:Add:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: 2
+DEAL:Float:Add:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: 2
+DEAL:Float:Add:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: 2
+DEAL:Float:Add:Symbolic computation: Substitution::subs_psi: 25.0000
+DEAL:Float:Add:Symbolic computation: Substitution::subs_dpsi_ds0: 10.0000
+DEAL:Float:Add:Symbolic computation: Substitution::subs_dpsi_ds1: 10.0000
+DEAL:Float:Add:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: 2.00000
+DEAL:Float:Add:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: 2.00000
+DEAL:Float:Add:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: 2.00000
+DEAL:Float:Add:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: 2.00000
+DEAL:Float:Subtract:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Float:Subtract:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Float:Subtract:Symbolic computation: Function initialisation::symb_psi: (s1 - s2)**2
+DEAL:Float:Subtract:Symbolic computation: Differentiation::symb_dpsi_ds0: 2*(s1 - s2)
+DEAL:Float:Subtract:Symbolic computation: Differentiation::symb_dpsi_ds1: -2*(s1 - s2)
+DEAL:Float:Subtract:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 2
+DEAL:Float:Subtract:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -2
+DEAL:Float:Subtract:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -2
+DEAL:Float:Subtract:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: 2
+DEAL:Float:Subtract:Symbolic computation: Substitution::subs_psi: 1.00000
+DEAL:Float:Subtract:Symbolic computation: Substitution::subs_dpsi_ds0: 2.00000
+DEAL:Float:Subtract:Symbolic computation: Substitution::subs_dpsi_ds1: -2.00000
+DEAL:Float:Subtract:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: 2.00000
+DEAL:Float:Subtract:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: -2.00000
+DEAL:Float:Subtract:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: -2.00000
+DEAL:Float:Subtract:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: 2.00000
+DEAL:Float:Multiply:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Float:Multiply:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Float:Multiply:Symbolic computation: Function initialisation::symb_psi: s1**2*s2**2
+DEAL:Float:Multiply:Symbolic computation: Differentiation::symb_dpsi_ds0: 2*s1*s2**2
+DEAL:Float:Multiply:Symbolic computation: Differentiation::symb_dpsi_ds1: 2*s1**2*s2
+DEAL:Float:Multiply:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 2*s2**2
+DEAL:Float:Multiply:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: 4*s1*s2
+DEAL:Float:Multiply:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: 4*s1*s2
+DEAL:Float:Multiply:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: 2*s1**2
+DEAL:Float:Multiply:Symbolic computation: Substitution::subs_psi: 36.0000
+DEAL:Float:Multiply:Symbolic computation: Substitution::subs_dpsi_ds0: 24.0000
+DEAL:Float:Multiply:Symbolic computation: Substitution::subs_dpsi_ds1: 36.0000
+DEAL:Float:Multiply:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: 8.00000
+DEAL:Float:Multiply:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: 24.0000
+DEAL:Float:Multiply:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: 24.0000
+DEAL:Float:Multiply:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: 18.0000
+DEAL:Float:Divide:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Float:Divide:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Float:Divide:Symbolic computation: Function initialisation::symb_psi: s1**2/s2**2
+DEAL:Float:Divide:Symbolic computation: Differentiation::symb_dpsi_ds0: 2*s1/s2**2
+DEAL:Float:Divide:Symbolic computation: Differentiation::symb_dpsi_ds1: -2*s1**2/s2**3
+DEAL:Float:Divide:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 2/s2**2
+DEAL:Float:Divide:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -4*s1/s2**3
+DEAL:Float:Divide:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -4*s1/s2**3
+DEAL:Float:Divide:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: 6*s1**2/s2**4
+DEAL:Float:Divide:Symbolic computation: Substitution::subs_psi: 2.25000
+DEAL:Float:Divide:Symbolic computation: Substitution::subs_dpsi_ds0: 1.50000
+DEAL:Float:Divide:Symbolic computation: Substitution::subs_dpsi_ds1: -2.25000
+DEAL:Float:Divide:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: 0.500000
+DEAL:Float:Divide:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: -1.50000
+DEAL:Float:Divide:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: -1.50000
+DEAL:Float:Divide:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: 3.37500
+DEAL:Float:Power:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Float:Power:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Float:Power:Symbolic computation: Function initialisation::symb_psi: 2.0*s1**s2
+DEAL:Float:Power:Symbolic computation: Differentiation::symb_dpsi_ds0: 2.0*s1**(-1 + s2)*s2
+DEAL:Float:Power:Symbolic computation: Differentiation::symb_dpsi_ds1: 2.0*s1**s2*log(s1)
+DEAL:Float:Power:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 2.0*s1**(-2 + s2)*s2*(-1 + s2)
+DEAL:Float:Power:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: 2.0*s1**(-1 + s2)*s2*log(s1) + 2.0*s1**(-1 + s2)
+DEAL:Float:Power:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: 2.0*s1**(-1 + s2)*s2*log(s1) + 2.0*s1**(-1 + s2)
+DEAL:Float:Power:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: 2.0*s1**s2*log(s1)**2
+DEAL:Float:Power:Symbolic computation: Substitution::subs_psi: 18.0000
+DEAL:Float:Power:Symbolic computation: Substitution::subs_dpsi_ds0: 12.0000
+DEAL:Float:Power:Symbolic computation: Substitution::subs_dpsi_ds1: 19.7750
+DEAL:Float:Power:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: 4.00000
+DEAL:Float:Power:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: 19.1833
+DEAL:Float:Power:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: 19.1833
+DEAL:Float:Power:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: 21.7251
+DEAL:Float:Sqrt:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Float:Sqrt:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Float:Sqrt:Symbolic computation: Function initialisation::symb_psi: 2.0*sqrt(s1*s2)
+DEAL:Float:Sqrt:Symbolic computation: Differentiation::symb_dpsi_ds0: 1.0*s2/sqrt(s1*s2)
+DEAL:Float:Sqrt:Symbolic computation: Differentiation::symb_dpsi_ds1: 1.0*s1/sqrt(s1*s2)
+DEAL:Float:Sqrt:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: -0.5*s2**2/(s1*s2)**(3/2)
+DEAL:Float:Sqrt:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -0.5*s1*s2/(s1*s2)**(3/2) + 1.0*(s1*s2)**(-1/2)
+DEAL:Float:Sqrt:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -0.5*s1*s2/(s1*s2)**(3/2) + 1.0*(s1*s2)**(-1/2)
+DEAL:Float:Sqrt:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: -0.5*s1**2/(s1*s2)**(3/2)
+DEAL:Float:Sqrt:Symbolic computation: Substitution::subs_psi: 4.89898
+DEAL:Float:Sqrt:Symbolic computation: Substitution::subs_dpsi_ds0: 0.816497
+DEAL:Float:Sqrt:Symbolic computation: Substitution::subs_dpsi_ds1: 1.22474
+DEAL:Float:Sqrt:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: -0.136083
+DEAL:Float:Sqrt:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: 0.204124
+DEAL:Float:Sqrt:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: 0.204124
+DEAL:Float:Sqrt:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: -0.306186
+DEAL:Float:Exponential:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Float:Exponential:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Float:Exponential:Symbolic computation: Function initialisation::symb_psi: exp(s2)*s1**2
+DEAL:Float:Exponential:Symbolic computation: Differentiation::symb_dpsi_ds0: 2*exp(s2)*s1
+DEAL:Float:Exponential:Symbolic computation: Differentiation::symb_dpsi_ds1: exp(s2)*s1**2
+DEAL:Float:Exponential:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 2*exp(s2)
+DEAL:Float:Exponential:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: 2*exp(s2)*s1
+DEAL:Float:Exponential:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: 2*exp(s2)*s1
+DEAL:Float:Exponential:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: exp(s2)*s1**2
+DEAL:Float:Exponential:Symbolic computation: Substitution::subs_psi: 66.5015
+DEAL:Float:Exponential:Symbolic computation: Substitution::subs_dpsi_ds0: 44.3343
+DEAL:Float:Exponential:Symbolic computation: Substitution::subs_dpsi_ds1: 66.5015
+DEAL:Float:Exponential:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: 14.7781
+DEAL:Float:Exponential:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: 44.3343
+DEAL:Float:Exponential:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: 44.3343
+DEAL:Float:Exponential:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: 66.5015
+DEAL:Float:Logarithm:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Float:Logarithm:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Float:Logarithm:Symbolic computation: Function initialisation::symb_psi: s1**2*log(s2)
+DEAL:Float:Logarithm:Symbolic computation: Differentiation::symb_dpsi_ds0: 2*s1*log(s2)
+DEAL:Float:Logarithm:Symbolic computation: Differentiation::symb_dpsi_ds1: s1**2/s2
+DEAL:Float:Logarithm:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 2*log(s2)
+DEAL:Float:Logarithm:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: 2*s1/s2
+DEAL:Float:Logarithm:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: 2*s1/s2
+DEAL:Float:Logarithm:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: -s1**2/s2**2
+DEAL:Float:Logarithm:Symbolic computation: Substitution::subs_psi: 6.23832
+DEAL:Float:Logarithm:Symbolic computation: Substitution::subs_dpsi_ds0: 4.15888
+DEAL:Float:Logarithm:Symbolic computation: Substitution::subs_dpsi_ds1: 4.50000
+DEAL:Float:Logarithm:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: 1.38629
+DEAL:Float:Logarithm:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: 3.00000
+DEAL:Float:Logarithm:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: 3.00000
+DEAL:Float:Logarithm:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: -2.25000
+DEAL:Float:Logarithm with Base:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Float:Logarithm with Base:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Float:Logarithm with Base:Symbolic computation: Function initialisation::symb_psi: log(s2)/log(s1)
+DEAL:Float:Logarithm with Base:Symbolic computation: Differentiation::symb_dpsi_ds0: -log(s2)/(s1*log(s1)**2)
+DEAL:Float:Logarithm with Base:Symbolic computation: Differentiation::symb_dpsi_ds1: 1/(s2*log(s1))
+DEAL:Float:Logarithm with Base:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 2*log(s2)/(s1**2*log(s1)**3) + log(s2)/(s1**2*log(s1)**2)
+DEAL:Float:Logarithm with Base:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -1/(s1*s2*log(s1)**2)
+DEAL:Float:Logarithm with Base:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -1/(s1*s2*log(s1)**2)
+DEAL:Float:Logarithm with Base:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: -1/(s2**2*log(s1))
+DEAL:Float:Logarithm with Base:Symbolic computation: Substitution::subs_psi: 0.630930
+DEAL:Float:Logarithm with Base:Symbolic computation: Substitution::subs_dpsi_ds0: -0.191432
+DEAL:Float:Logarithm with Base:Symbolic computation: Substitution::subs_dpsi_ds1: 0.455120
+DEAL:Float:Logarithm with Base:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: 0.179977
+DEAL:Float:Logarithm with Base:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: -0.138089
+DEAL:Float:Logarithm with Base:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: -0.138089
+DEAL:Float:Logarithm with Base:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: -0.227560
+DEAL:Float:Logarithm base 10:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Float:Logarithm base 10:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Float:Logarithm base 10:Symbolic computation: Function initialisation::symb_psi: 0.434294481903252*s1**2*log(s2)
+DEAL:Float:Logarithm base 10:Symbolic computation: Differentiation::symb_dpsi_ds0: 0.868588963806504*s1*log(s2)
+DEAL:Float:Logarithm base 10:Symbolic computation: Differentiation::symb_dpsi_ds1: 0.434294481903252*s1**2/s2
+DEAL:Float:Logarithm base 10:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 0.868588963806504*log(s2)
+DEAL:Float:Logarithm base 10:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: 0.868588963806504*s1/s2
+DEAL:Float:Logarithm base 10:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: 0.868588963806504*s1/s2
+DEAL:Float:Logarithm base 10:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: -0.434294481903252*s1**2/s2**2
+DEAL:Float:Logarithm base 10:Symbolic computation: Substitution::subs_psi: 2.70927
+DEAL:Float:Logarithm base 10:Symbolic computation: Substitution::subs_dpsi_ds0: 1.80618
+DEAL:Float:Logarithm base 10:Symbolic computation: Substitution::subs_dpsi_ds1: 1.95433
+DEAL:Float:Logarithm base 10:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: 0.602060
+DEAL:Float:Logarithm base 10:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: 1.30288
+DEAL:Float:Logarithm base 10:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: 1.30288
+DEAL:Float:Logarithm base 10:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: -0.977163
+DEAL:Float:Sin:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Float:Sin:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Float:Sin:Symbolic computation: Function initialisation::symb_psi: sin(s2/s1)
+DEAL:Float:Sin:Symbolic computation: Differentiation::symb_dpsi_ds0: -s2*cos(s2/s1)/s1**2
+DEAL:Float:Sin:Symbolic computation: Differentiation::symb_dpsi_ds1: cos(s2/s1)/s1
+DEAL:Float:Sin:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: -s2**2*sin(s2/s1)/s1**4 + 2*s2*cos(s2/s1)/s1**3
+DEAL:Float:Sin:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -cos(s2/s1)/s1**2 + s2*sin(s2/s1)/s1**3
+DEAL:Float:Sin:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -cos(s2/s1)/s1**2 + s2*sin(s2/s1)/s1**3
+DEAL:Float:Sin:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: -sin(s2/s1)/s1**2
+DEAL:Float:Sin:Symbolic computation: Substitution::subs_psi: 0.618370
+DEAL:Float:Sin:Symbolic computation: Substitution::subs_dpsi_ds0: -0.174642
+DEAL:Float:Sin:Symbolic computation: Substitution::subs_dpsi_ds1: 0.261962
+DEAL:Float:Sin:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: 0.0858910
+DEAL:Float:Sin:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: -0.0415156
+DEAL:Float:Sin:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: -0.0415156
+DEAL:Float:Sin:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: -0.0687078
+DEAL:Float:Cos:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Float:Cos:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Float:Cos:Symbolic computation: Function initialisation::symb_psi: cos(s2/s1)
+DEAL:Float:Cos:Symbolic computation: Differentiation::symb_dpsi_ds0: s2*sin(s2/s1)/s1**2
+DEAL:Float:Cos:Symbolic computation: Differentiation::symb_dpsi_ds1: -sin(s2/s1)/s1
+DEAL:Float:Cos:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: -s2**2*cos(s2/s1)/s1**4 - 2*s2*sin(s2/s1)/s1**3
+DEAL:Float:Cos:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: sin(s2/s1)/s1**2 + s2*cos(s2/s1)/s1**3
+DEAL:Float:Cos:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: sin(s2/s1)/s1**2 + s2*cos(s2/s1)/s1**3
+DEAL:Float:Cos:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: -cos(s2/s1)/s1**2
+DEAL:Float:Cos:Symbolic computation: Substitution::subs_psi: 0.785887
+DEAL:Float:Cos:Symbolic computation: Substitution::subs_dpsi_ds0: 0.137416
+DEAL:Float:Cos:Symbolic computation: Substitution::subs_dpsi_ds1: -0.206123
+DEAL:Float:Cos:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: -0.130420
+DEAL:Float:Cos:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: 0.126922
+DEAL:Float:Cos:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: 0.126922
+DEAL:Float:Cos:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: -0.0873208
+DEAL:Float:Tan:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Float:Tan:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Float:Tan:Symbolic computation: Function initialisation::symb_psi: tan(s2/s1)
+DEAL:Float:Tan:Symbolic computation: Differentiation::symb_dpsi_ds0: -s2*(1 + tan(s2/s1)**2)/s1**2
+DEAL:Float:Tan:Symbolic computation: Differentiation::symb_dpsi_ds1: (1 + tan(s2/s1)**2)/s1
+DEAL:Float:Tan:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 2*s2*(1 + tan(s2/s1)**2)/s1**3 + 2*s2**2*tan(s2/s1)*(1 + tan(s2/s1)**2)/s1**4
+DEAL:Float:Tan:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -(1 + tan(s2/s1)**2)/s1**2 - 2*s2*tan(s2/s1)*(1 + tan(s2/s1)**2)/s1**3
+DEAL:Float:Tan:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -(1 + tan(s2/s1)**2)/s1**2 - 2*s2*tan(s2/s1)*(1 + tan(s2/s1)**2)/s1**3
+DEAL:Float:Tan:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: 2*tan(s2/s1)*(1 + tan(s2/s1)**2)/s1**2
+DEAL:Float:Tan:Symbolic computation: Substitution::subs_psi: 0.786843
+DEAL:Float:Tan:Symbolic computation: Substitution::subs_dpsi_ds0: -0.359805
+DEAL:Float:Tan:Symbolic computation: Substitution::subs_dpsi_ds1: 0.539707
+DEAL:Float:Tan:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: 0.365696
+DEAL:Float:Tan:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: -0.368642
+DEAL:Float:Tan:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: -0.368642
+DEAL:Float:Tan:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: 0.283110
+DEAL:Float:ASin:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Float:ASin:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Float:ASin:Symbolic computation: Function initialisation::symb_psi: asin(1.0/(s1*s2))
+DEAL:Float:ASin:Symbolic computation: Differentiation::symb_dpsi_ds0: -1.0/(s1**2*s2*sqrt(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Float:ASin:Symbolic computation: Differentiation::symb_dpsi_ds1: -1.0/(s1*s2**2*sqrt(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Float:ASin:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 1.0*1/(s1**5*s2**3*(1 - 1.0*1/(s1**2*s2**2))**(3/2)) + 2.0*1/(s1**3*s2*sqrt(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Float:ASin:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: 1.0*1/(s1**4*s2**4*(1 - 1.0*1/(s1**2*s2**2))**(3/2)) + 1.0*1/(s1**2*s2**2*sqrt(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Float:ASin:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: 1.0*1/(s1**4*s2**4*(1 - 1.0*1/(s1**2*s2**2))**(3/2)) + 1.0*1/(s1**2*s2**2*sqrt(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Float:ASin:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: 1.0*1/(s1**3*s2**5*(1 - 1.0*1/(s1**2*s2**2))**(3/2)) + 2.0*1/(s1*s2**3*sqrt(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Float:ASin:Symbolic computation: Substitution::subs_psi: 0.167448
+DEAL:Float:ASin:Symbolic computation: Substitution::subs_dpsi_ds0: -0.0563436
+DEAL:Float:ASin:Symbolic computation: Substitution::subs_dpsi_ds1: -0.0845154
+DEAL:Float:ASin:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: 0.0380990
+DEAL:Float:ASin:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: 0.0289767
+DEAL:Float:ASin:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: 0.0289767
+DEAL:Float:ASin:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: 0.0857228
+DEAL:Float:ACos:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Float:ACos:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Float:ACos:Symbolic computation: Function initialisation::symb_psi: acos(1.0/(s1*s2))
+DEAL:Float:ACos:Symbolic computation: Differentiation::symb_dpsi_ds0: 1.0/(s1**2*s2*sqrt(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Float:ACos:Symbolic computation: Differentiation::symb_dpsi_ds1: 1.0/(s1*s2**2*sqrt(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Float:ACos:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: -1.0*1/(s1**5*s2**3*(1 - 1.0*1/(s1**2*s2**2))**(3/2)) - 2.0*1/(s1**3*s2*sqrt(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Float:ACos:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -1.0*1/(s1**4*s2**4*(1 - 1.0*1/(s1**2*s2**2))**(3/2)) - 1.0*1/(s1**2*s2**2*sqrt(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Float:ACos:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -1.0*1/(s1**4*s2**4*(1 - 1.0*1/(s1**2*s2**2))**(3/2)) - 1.0*1/(s1**2*s2**2*sqrt(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Float:ACos:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: -1.0*1/(s1**3*s2**5*(1 - 1.0*1/(s1**2*s2**2))**(3/2)) - 2.0*1/(s1*s2**3*sqrt(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Float:ACos:Symbolic computation: Substitution::subs_psi: 1.40335
+DEAL:Float:ACos:Symbolic computation: Substitution::subs_dpsi_ds0: 0.0563436
+DEAL:Float:ACos:Symbolic computation: Substitution::subs_dpsi_ds1: 0.0845154
+DEAL:Float:ACos:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: -0.0380990
+DEAL:Float:ACos:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: -0.0289767
+DEAL:Float:ACos:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: -0.0289767
+DEAL:Float:ACos:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: -0.0857228
+DEAL:Float:ATan:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Float:ATan:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Float:ATan:Symbolic computation: Function initialisation::symb_psi: atan(1.0/(s1*s2))
+DEAL:Float:ATan:Symbolic computation: Differentiation::symb_dpsi_ds0: -1.0/(s1**2*s2*(1 + 1.0*1/(s1**2*s2**2)))
+DEAL:Float:ATan:Symbolic computation: Differentiation::symb_dpsi_ds1: -1.0/(s1*s2**2*(1 + 1.0*1/(s1**2*s2**2)))
+DEAL:Float:ATan:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: -2.0*1/(s1**5*s2**3*(1 + 1.0*1/(s1**2*s2**2))**2) + 2.0*1/(s1**3*s2*(1 + 1.0*1/(s1**2*s2**2)))
+DEAL:Float:ATan:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -2.0*1/(s1**4*s2**4*(1 + 1.0*1/(s1**2*s2**2))**2) + 1.0*1/(s1**2*s2**2*(1 + 1.0*1/(s1**2*s2**2)))
+DEAL:Float:ATan:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -2.0*1/(s1**4*s2**4*(1 + 1.0*1/(s1**2*s2**2))**2) + 1.0*1/(s1**2*s2**2*(1 + 1.0*1/(s1**2*s2**2)))
+DEAL:Float:ATan:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: -2.0*1/(s1**3*s2**5*(1 + 1.0*1/(s1**2*s2**2))**2) + 2.0*1/(s1*s2**3*(1 + 1.0*1/(s1**2*s2**2)))
+DEAL:Float:ATan:Symbolic computation: Substitution::subs_psi: 0.165149
+DEAL:Float:ATan:Symbolic computation: Substitution::subs_dpsi_ds0: -0.0540541
+DEAL:Float:ATan:Symbolic computation: Substitution::subs_dpsi_ds1: -0.0810811
+DEAL:Float:ATan:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: 0.0350621
+DEAL:Float:ATan:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: 0.0255661
+DEAL:Float:ATan:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: 0.0255661
+DEAL:Float:ATan:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: 0.0788897
+DEAL:Float:ATan2:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Float:ATan2:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Float:ATan2:Symbolic computation: Function initialisation::symb_psi: 3.0*atan2(s2, s1)
+DEAL:Float:ATan2:Symbolic computation: Differentiation::symb_dpsi_ds0: -3.0*s2/(s1**2 + s2**2)
+DEAL:Float:ATan2:Symbolic computation: Differentiation::symb_dpsi_ds1: 3.0*s1/(s1**2 + s2**2)
+DEAL:Float:ATan2:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 6.0*s1*s2/(s1**2 + s2**2)**2
+DEAL:Float:ATan2:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: 6.0*s2**2/(s1**2 + s2**2)**2 - 3.0*(s1**2 + s2**2)**(-1)
+DEAL:Float:ATan2:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -6.0*s1**2/(s1**2 + s2**2)**2 + 3.0*(s1**2 + s2**2)**(-1)
+DEAL:Float:ATan2:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: -6.0*s1*s2/(s1**2 + s2**2)**2
+DEAL:Float:ATan2:Symbolic computation: Substitution::subs_psi: 1.76401
+DEAL:Float:ATan2:Symbolic computation: Substitution::subs_dpsi_ds0: -0.461538
+DEAL:Float:ATan2:Symbolic computation: Substitution::subs_dpsi_ds1: 0.692308
+DEAL:Float:ATan2:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: 0.213018
+DEAL:Float:ATan2:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: -0.0887574
+DEAL:Float:ATan2:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: -0.0887574
+DEAL:Float:ATan2:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: -0.213018
+DEAL:Float:Sinh:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Float:Sinh:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Float:Sinh:Symbolic computation: Function initialisation::symb_psi: sinh(s2/s1)
+DEAL:Float:Sinh:Symbolic computation: Differentiation::symb_dpsi_ds0: -s2*cosh(s2/s1)/s1**2
+DEAL:Float:Sinh:Symbolic computation: Differentiation::symb_dpsi_ds1: cosh(s2/s1)/s1
+DEAL:Float:Sinh:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: s2**2*sinh(s2/s1)/s1**4 + 2*s2*cosh(s2/s1)/s1**3
+DEAL:Float:Sinh:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -cosh(s2/s1)/s1**2 - s2*sinh(s2/s1)/s1**3
+DEAL:Float:Sinh:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -cosh(s2/s1)/s1**2 - s2*sinh(s2/s1)/s1**3
+DEAL:Float:Sinh:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: sinh(s2/s1)/s1**2
+DEAL:Float:Sinh:Symbolic computation: Substitution::subs_psi: 0.717158
+DEAL:Float:Sinh:Symbolic computation: Substitution::subs_dpsi_ds0: -0.273461
+DEAL:Float:Sinh:Symbolic computation: Substitution::subs_dpsi_ds1: 0.410192
+DEAL:Float:Sinh:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: 0.217723
+DEAL:Float:Sinh:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: -0.189853
+DEAL:Float:Sinh:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: -0.189853
+DEAL:Float:Sinh:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: 0.0796843
+DEAL:Float:Cosh:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Float:Cosh:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Float:Cosh:Symbolic computation: Function initialisation::symb_psi: cosh(s2/s1)
+DEAL:Float:Cosh:Symbolic computation: Differentiation::symb_dpsi_ds0: -s2*sinh(s2/s1)/s1**2
+DEAL:Float:Cosh:Symbolic computation: Differentiation::symb_dpsi_ds1: sinh(s2/s1)/s1
+DEAL:Float:Cosh:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: s2**2*cosh(s2/s1)/s1**4 + 2*s2*sinh(s2/s1)/s1**3
+DEAL:Float:Cosh:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -sinh(s2/s1)/s1**2 - s2*cosh(s2/s1)/s1**3
+DEAL:Float:Cosh:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -sinh(s2/s1)/s1**2 - s2*cosh(s2/s1)/s1**3
+DEAL:Float:Cosh:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: cosh(s2/s1)/s1**2
+DEAL:Float:Cosh:Symbolic computation: Substitution::subs_psi: 1.23058
+DEAL:Float:Cosh:Symbolic computation: Substitution::subs_dpsi_ds0: -0.159369
+DEAL:Float:Cosh:Symbolic computation: Substitution::subs_dpsi_ds1: 0.239053
+DEAL:Float:Cosh:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: 0.167015
+DEAL:Float:Cosh:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: -0.170838
+DEAL:Float:Cosh:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: -0.170838
+DEAL:Float:Cosh:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: 0.136731
+DEAL:Float:Tanh:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Float:Tanh:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Float:Tanh:Symbolic computation: Function initialisation::symb_psi: tanh(s2/s1)
+DEAL:Float:Tanh:Symbolic computation: Differentiation::symb_dpsi_ds0: -s2*(1 - tanh(s2/s1)**2)/s1**2
+DEAL:Float:Tanh:Symbolic computation: Differentiation::symb_dpsi_ds1: (1 - tanh(s2/s1)**2)/s1
+DEAL:Float:Tanh:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 2*s2*(1 - tanh(s2/s1)**2)/s1**3 - 2*s2**2*tanh(s2/s1)*(1 - tanh(s2/s1)**2)/s1**4
+DEAL:Float:Tanh:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -(1 - tanh(s2/s1)**2)/s1**2 + 2*s2*tanh(s2/s1)*(1 - tanh(s2/s1)**2)/s1**3
+DEAL:Float:Tanh:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -(1 - tanh(s2/s1)**2)/s1**2 + 2*s2*tanh(s2/s1)*(1 - tanh(s2/s1)**2)/s1**3
+DEAL:Float:Tanh:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: -2*tanh(s2/s1)*(1 - tanh(s2/s1)**2)/s1**2
+DEAL:Float:Tanh:Symbolic computation: Substitution::subs_psi: 0.582783
+DEAL:Float:Tanh:Symbolic computation: Substitution::subs_dpsi_ds0: -0.146748
+DEAL:Float:Tanh:Symbolic computation: Substitution::subs_dpsi_ds1: 0.220121
+DEAL:Float:Tanh:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: 0.0598219
+DEAL:Float:Tanh:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: -0.0163591
+DEAL:Float:Tanh:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: -0.0163591
+DEAL:Float:Tanh:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: -0.0855220
+DEAL:Float:ASinh:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Float:ASinh:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Float:ASinh:Symbolic computation: Function initialisation::symb_psi: asinh(1.0/(s1*s2))
+DEAL:Float:ASinh:Symbolic computation: Differentiation::symb_dpsi_ds0: -1.0/(s1**2*s2*sqrt(1 + 1.0*1/(s1**2*s2**2)))
+DEAL:Float:ASinh:Symbolic computation: Differentiation::symb_dpsi_ds1: -1.0/(s1*s2**2*sqrt(1 + 1.0*1/(s1**2*s2**2)))
+DEAL:Float:ASinh:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: -1.0*1/(s1**5*s2**3*(1 + 1.0*1/(s1**2*s2**2))**(3/2)) + 2.0*1/(s1**3*s2*sqrt(1 + 1.0*1/(s1**2*s2**2)))
+DEAL:Float:ASinh:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -1.0*1/(s1**4*s2**4*(1 + 1.0*1/(s1**2*s2**2))**(3/2)) + 1.0*1/(s1**2*s2**2*sqrt(1 + 1.0*1/(s1**2*s2**2)))
+DEAL:Float:ASinh:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -1.0*1/(s1**4*s2**4*(1 + 1.0*1/(s1**2*s2**2))**(3/2)) + 1.0*1/(s1**2*s2**2*sqrt(1 + 1.0*1/(s1**2*s2**2)))
+DEAL:Float:ASinh:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: -1.0*1/(s1**3*s2**5*(1 + 1.0*1/(s1**2*s2**2))**(3/2)) + 2.0*1/(s1*s2**3*sqrt(1 + 1.0*1/(s1**2*s2**2)))
+DEAL:Float:ASinh:Symbolic computation: Substitution::subs_psi: 0.165905
+DEAL:Float:ASinh:Symbolic computation: Substitution::subs_dpsi_ds0: -0.0547997
+DEAL:Float:ASinh:Symbolic computation: Substitution::subs_dpsi_ds1: -0.0821995
+DEAL:Float:ASinh:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: 0.0360394
+DEAL:Float:ASinh:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: 0.0266593
+DEAL:Float:ASinh:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: 0.0266593
+DEAL:Float:ASinh:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: 0.0810887
+DEAL:Float:ACosh:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Float:ACosh:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Float:ACosh:Symbolic computation: Function initialisation::symb_psi: acosh(s1*s2)
+DEAL:Float:ACosh:Symbolic computation: Differentiation::symb_dpsi_ds0: s2/sqrt(-1 + s1**2*s2**2)
+DEAL:Float:ACosh:Symbolic computation: Differentiation::symb_dpsi_ds1: s1/sqrt(-1 + s1**2*s2**2)
+DEAL:Float:ACosh:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: -s1*s2**3/(-1 + s1**2*s2**2)**(3/2)
+DEAL:Float:ACosh:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -s1**2*s2**2/(-1 + s1**2*s2**2)**(3/2) + (-1 + s1**2*s2**2)**(-1/2)
+DEAL:Float:ACosh:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -s1**2*s2**2/(-1 + s1**2*s2**2)**(3/2) + (-1 + s1**2*s2**2)**(-1/2)
+DEAL:Float:ACosh:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: -s1**3*s2/(-1 + s1**2*s2**2)**(3/2)
+DEAL:Float:ACosh:Symbolic computation: Substitution::subs_psi: 2.47789
+DEAL:Float:ACosh:Symbolic computation: Substitution::subs_dpsi_ds0: 0.338062
+DEAL:Float:ACosh:Symbolic computation: Substitution::subs_dpsi_ds1: 0.507093
+DEAL:Float:ACosh:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: -0.115907
+DEAL:Float:ACosh:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: -0.00482945
+DEAL:Float:ACosh:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: -0.00482945
+DEAL:Float:ACosh:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: -0.260790
+DEAL:Float:ATanh:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Float:ATanh:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Float:ATanh:Symbolic computation: Function initialisation::symb_psi: atanh(1.0/(s1*s2))
+DEAL:Float:ATanh:Symbolic computation: Differentiation::symb_dpsi_ds0: -1.0/(s1**2*s2*(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Float:ATanh:Symbolic computation: Differentiation::symb_dpsi_ds1: -1.0/(s1*s2**2*(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Float:ATanh:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 2.0*1/(s1**5*s2**3*(1 - 1.0*1/(s1**2*s2**2))**2) + 2.0*1/(s1**3*s2*(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Float:ATanh:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: 2.0*1/(s1**4*s2**4*(1 - 1.0*1/(s1**2*s2**2))**2) + 1.0*1/(s1**2*s2**2*(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Float:ATanh:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: 2.0*1/(s1**4*s2**4*(1 - 1.0*1/(s1**2*s2**2))**2) + 1.0*1/(s1**2*s2**2*(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Float:ATanh:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: 2.0*1/(s1**3*s2**5*(1 - 1.0*1/(s1**2*s2**2))**2) + 2.0*1/(s1*s2**3*(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Float:ATanh:Symbolic computation: Substitution::subs_psi: 0.168236
+DEAL:Float:ATanh:Symbolic computation: Substitution::subs_dpsi_ds0: -0.0571429
+DEAL:Float:ATanh:Symbolic computation: Substitution::subs_dpsi_ds1: -0.0857143
+DEAL:Float:ATanh:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: 0.0391837
+DEAL:Float:ATanh:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: 0.0302041
+DEAL:Float:ATanh:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: 0.0302041
+DEAL:Float:ATanh:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: 0.0881633
+DEAL:Float:Erf:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Float:Erf:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Float:Erf:Symbolic computation: Function initialisation::symb_psi: s1**2*erf(s2)
+DEAL:Float:Erf:Symbolic computation: Differentiation::symb_dpsi_ds0: 2*s1*erf(s2)
+DEAL:Float:Erf:Symbolic computation: Differentiation::symb_dpsi_ds1: 2*exp(-s2**2)*s1**2/sqrt(pi)
+DEAL:Float:Erf:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 2*erf(s2)
+DEAL:Float:Erf:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: 4*exp(-s2**2)*s1/sqrt(pi)
+DEAL:Float:Erf:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: 4*exp(-s2**2)*s1/sqrt(pi)
+DEAL:Float:Erf:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: -4*exp(-s2**2)*s1**2*s2/sqrt(pi)
+DEAL:Float:Erf:Symbolic computation: Substitution::subs_psi: 8.95790
+DEAL:Float:Erf:Symbolic computation: Substitution::subs_dpsi_ds0: 5.97193
+DEAL:Float:Erf:Symbolic computation: Substitution::subs_dpsi_ds1: 0.186003
+DEAL:Float:Erf:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: 1.99064
+DEAL:Float:Erf:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: 0.124002
+DEAL:Float:Erf:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: 0.124002
+DEAL:Float:Erf:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: -0.744011
+DEAL:Float:Erfc:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Float:Erfc:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Float:Erfc:Symbolic computation: Function initialisation::symb_psi: s1**2*erfc(s2)
+DEAL:Float:Erfc:Symbolic computation: Differentiation::symb_dpsi_ds0: 2*s1*erfc(s2)
+DEAL:Float:Erfc:Symbolic computation: Differentiation::symb_dpsi_ds1: -2*exp(-s2**2)*s1**2/sqrt(pi)
+DEAL:Float:Erfc:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 2*erfc(s2)
+DEAL:Float:Erfc:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -4*exp(-s2**2)*s1/sqrt(pi)
+DEAL:Float:Erfc:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -4*exp(-s2**2)*s1/sqrt(pi)
+DEAL:Float:Erfc:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: 4*exp(-s2**2)*s1**2*s2/sqrt(pi)
+DEAL:Float:Erfc:Symbolic computation: Substitution::subs_psi: 0.0420996
+DEAL:Float:Erfc:Symbolic computation: Substitution::subs_dpsi_ds0: 0.0280664
+DEAL:Float:Erfc:Symbolic computation: Substitution::subs_dpsi_ds1: -0.186003
+DEAL:Float:Erfc:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: 0.00935547
+DEAL:Float:Erfc:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: -0.124002
+DEAL:Float:Erfc:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: -0.124002
+DEAL:Float:Erfc:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: 0.744011
+DEAL:Float::OK
+DEAL:Double:Add:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Double:Add:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Double:Add:Symbolic computation: Function initialisation::symb_psi: (s1 + s2)**2
+DEAL:Double:Add:Symbolic computation: Differentiation::symb_dpsi_ds0: 2*(s1 + s2)
+DEAL:Double:Add:Symbolic computation: Differentiation::symb_dpsi_ds1: 2*(s1 + s2)
+DEAL:Double:Add:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 2
+DEAL:Double:Add:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: 2
+DEAL:Double:Add:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: 2
+DEAL:Double:Add:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: 2
+DEAL:Double:Add:Symbolic computation: Substitution::subs_psi: 25.0000
+DEAL:Double:Add:Symbolic computation: Substitution::subs_dpsi_ds0: 10.0000
+DEAL:Double:Add:Symbolic computation: Substitution::subs_dpsi_ds1: 10.0000
+DEAL:Double:Add:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: 2.00000
+DEAL:Double:Add:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: 2.00000
+DEAL:Double:Add:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: 2.00000
+DEAL:Double:Add:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: 2.00000
+DEAL:Double:Subtract:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Double:Subtract:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Double:Subtract:Symbolic computation: Function initialisation::symb_psi: (s1 - s2)**2
+DEAL:Double:Subtract:Symbolic computation: Differentiation::symb_dpsi_ds0: 2*(s1 - s2)
+DEAL:Double:Subtract:Symbolic computation: Differentiation::symb_dpsi_ds1: -2*(s1 - s2)
+DEAL:Double:Subtract:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 2
+DEAL:Double:Subtract:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -2
+DEAL:Double:Subtract:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -2
+DEAL:Double:Subtract:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: 2
+DEAL:Double:Subtract:Symbolic computation: Substitution::subs_psi: 1.00000
+DEAL:Double:Subtract:Symbolic computation: Substitution::subs_dpsi_ds0: 2.00000
+DEAL:Double:Subtract:Symbolic computation: Substitution::subs_dpsi_ds1: -2.00000
+DEAL:Double:Subtract:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: 2.00000
+DEAL:Double:Subtract:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: -2.00000
+DEAL:Double:Subtract:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: -2.00000
+DEAL:Double:Subtract:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: 2.00000
+DEAL:Double:Multiply:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Double:Multiply:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Double:Multiply:Symbolic computation: Function initialisation::symb_psi: s1**2*s2**2
+DEAL:Double:Multiply:Symbolic computation: Differentiation::symb_dpsi_ds0: 2*s1*s2**2
+DEAL:Double:Multiply:Symbolic computation: Differentiation::symb_dpsi_ds1: 2*s1**2*s2
+DEAL:Double:Multiply:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 2*s2**2
+DEAL:Double:Multiply:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: 4*s1*s2
+DEAL:Double:Multiply:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: 4*s1*s2
+DEAL:Double:Multiply:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: 2*s1**2
+DEAL:Double:Multiply:Symbolic computation: Substitution::subs_psi: 36.0000
+DEAL:Double:Multiply:Symbolic computation: Substitution::subs_dpsi_ds0: 24.0000
+DEAL:Double:Multiply:Symbolic computation: Substitution::subs_dpsi_ds1: 36.0000
+DEAL:Double:Multiply:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: 8.00000
+DEAL:Double:Multiply:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: 24.0000
+DEAL:Double:Multiply:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: 24.0000
+DEAL:Double:Multiply:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: 18.0000
+DEAL:Double:Divide:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Double:Divide:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Double:Divide:Symbolic computation: Function initialisation::symb_psi: s1**2/s2**2
+DEAL:Double:Divide:Symbolic computation: Differentiation::symb_dpsi_ds0: 2*s1/s2**2
+DEAL:Double:Divide:Symbolic computation: Differentiation::symb_dpsi_ds1: -2*s1**2/s2**3
+DEAL:Double:Divide:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 2/s2**2
+DEAL:Double:Divide:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -4*s1/s2**3
+DEAL:Double:Divide:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -4*s1/s2**3
+DEAL:Double:Divide:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: 6*s1**2/s2**4
+DEAL:Double:Divide:Symbolic computation: Substitution::subs_psi: 2.25000
+DEAL:Double:Divide:Symbolic computation: Substitution::subs_dpsi_ds0: 1.50000
+DEAL:Double:Divide:Symbolic computation: Substitution::subs_dpsi_ds1: -2.25000
+DEAL:Double:Divide:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: 0.500000
+DEAL:Double:Divide:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: -1.50000
+DEAL:Double:Divide:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: -1.50000
+DEAL:Double:Divide:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: 3.37500
+DEAL:Double:Power:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Double:Power:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Double:Power:Symbolic computation: Function initialisation::symb_psi: 2.0*s1**s2
+DEAL:Double:Power:Symbolic computation: Differentiation::symb_dpsi_ds0: 2.0*s1**(-1 + s2)*s2
+DEAL:Double:Power:Symbolic computation: Differentiation::symb_dpsi_ds1: 2.0*s1**s2*log(s1)
+DEAL:Double:Power:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 2.0*s1**(-2 + s2)*s2*(-1 + s2)
+DEAL:Double:Power:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: 2.0*s1**(-1 + s2)*s2*log(s1) + 2.0*s1**(-1 + s2)
+DEAL:Double:Power:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: 2.0*s1**(-1 + s2)*s2*log(s1) + 2.0*s1**(-1 + s2)
+DEAL:Double:Power:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: 2.0*s1**s2*log(s1)**2
+DEAL:Double:Power:Symbolic computation: Substitution::subs_psi: 18.0000
+DEAL:Double:Power:Symbolic computation: Substitution::subs_dpsi_ds0: 12.0000
+DEAL:Double:Power:Symbolic computation: Substitution::subs_dpsi_ds1: 19.7750
+DEAL:Double:Power:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: 4.00000
+DEAL:Double:Power:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: 19.1833
+DEAL:Double:Power:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: 19.1833
+DEAL:Double:Power:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: 21.7251
+DEAL:Double:Sqrt:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Double:Sqrt:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Double:Sqrt:Symbolic computation: Function initialisation::symb_psi: 2.0*sqrt(s1*s2)
+DEAL:Double:Sqrt:Symbolic computation: Differentiation::symb_dpsi_ds0: 1.0*s2/sqrt(s1*s2)
+DEAL:Double:Sqrt:Symbolic computation: Differentiation::symb_dpsi_ds1: 1.0*s1/sqrt(s1*s2)
+DEAL:Double:Sqrt:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: -0.5*s2**2/(s1*s2)**(3/2)
+DEAL:Double:Sqrt:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -0.5*s1*s2/(s1*s2)**(3/2) + 1.0*(s1*s2)**(-1/2)
+DEAL:Double:Sqrt:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -0.5*s1*s2/(s1*s2)**(3/2) + 1.0*(s1*s2)**(-1/2)
+DEAL:Double:Sqrt:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: -0.5*s1**2/(s1*s2)**(3/2)
+DEAL:Double:Sqrt:Symbolic computation: Substitution::subs_psi: 4.89898
+DEAL:Double:Sqrt:Symbolic computation: Substitution::subs_dpsi_ds0: 0.816497
+DEAL:Double:Sqrt:Symbolic computation: Substitution::subs_dpsi_ds1: 1.22474
+DEAL:Double:Sqrt:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: -0.136083
+DEAL:Double:Sqrt:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: 0.204124
+DEAL:Double:Sqrt:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: 0.204124
+DEAL:Double:Sqrt:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: -0.306186
+DEAL:Double:Exponential:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Double:Exponential:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Double:Exponential:Symbolic computation: Function initialisation::symb_psi: exp(s2)*s1**2
+DEAL:Double:Exponential:Symbolic computation: Differentiation::symb_dpsi_ds0: 2*exp(s2)*s1
+DEAL:Double:Exponential:Symbolic computation: Differentiation::symb_dpsi_ds1: exp(s2)*s1**2
+DEAL:Double:Exponential:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 2*exp(s2)
+DEAL:Double:Exponential:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: 2*exp(s2)*s1
+DEAL:Double:Exponential:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: 2*exp(s2)*s1
+DEAL:Double:Exponential:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: exp(s2)*s1**2
+DEAL:Double:Exponential:Symbolic computation: Substitution::subs_psi: 66.5015
+DEAL:Double:Exponential:Symbolic computation: Substitution::subs_dpsi_ds0: 44.3343
+DEAL:Double:Exponential:Symbolic computation: Substitution::subs_dpsi_ds1: 66.5015
+DEAL:Double:Exponential:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: 14.7781
+DEAL:Double:Exponential:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: 44.3343
+DEAL:Double:Exponential:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: 44.3343
+DEAL:Double:Exponential:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: 66.5015
+DEAL:Double:Logarithm:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Double:Logarithm:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Double:Logarithm:Symbolic computation: Function initialisation::symb_psi: s1**2*log(s2)
+DEAL:Double:Logarithm:Symbolic computation: Differentiation::symb_dpsi_ds0: 2*s1*log(s2)
+DEAL:Double:Logarithm:Symbolic computation: Differentiation::symb_dpsi_ds1: s1**2/s2
+DEAL:Double:Logarithm:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 2*log(s2)
+DEAL:Double:Logarithm:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: 2*s1/s2
+DEAL:Double:Logarithm:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: 2*s1/s2
+DEAL:Double:Logarithm:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: -s1**2/s2**2
+DEAL:Double:Logarithm:Symbolic computation: Substitution::subs_psi: 6.23832
+DEAL:Double:Logarithm:Symbolic computation: Substitution::subs_dpsi_ds0: 4.15888
+DEAL:Double:Logarithm:Symbolic computation: Substitution::subs_dpsi_ds1: 4.50000
+DEAL:Double:Logarithm:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: 1.38629
+DEAL:Double:Logarithm:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: 3.00000
+DEAL:Double:Logarithm:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: 3.00000
+DEAL:Double:Logarithm:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: -2.25000
+DEAL:Double:Logarithm with Base:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Double:Logarithm with Base:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Double:Logarithm with Base:Symbolic computation: Function initialisation::symb_psi: log(s2)/log(s1)
+DEAL:Double:Logarithm with Base:Symbolic computation: Differentiation::symb_dpsi_ds0: -log(s2)/(s1*log(s1)**2)
+DEAL:Double:Logarithm with Base:Symbolic computation: Differentiation::symb_dpsi_ds1: 1/(s2*log(s1))
+DEAL:Double:Logarithm with Base:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 2*log(s2)/(s1**2*log(s1)**3) + log(s2)/(s1**2*log(s1)**2)
+DEAL:Double:Logarithm with Base:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -1/(s1*s2*log(s1)**2)
+DEAL:Double:Logarithm with Base:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -1/(s1*s2*log(s1)**2)
+DEAL:Double:Logarithm with Base:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: -1/(s2**2*log(s1))
+DEAL:Double:Logarithm with Base:Symbolic computation: Substitution::subs_psi: 0.630930
+DEAL:Double:Logarithm with Base:Symbolic computation: Substitution::subs_dpsi_ds0: -0.191432
+DEAL:Double:Logarithm with Base:Symbolic computation: Substitution::subs_dpsi_ds1: 0.455120
+DEAL:Double:Logarithm with Base:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: 0.179977
+DEAL:Double:Logarithm with Base:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: -0.138089
+DEAL:Double:Logarithm with Base:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: -0.138089
+DEAL:Double:Logarithm with Base:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: -0.227560
+DEAL:Double:Logarithm base 10:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Double:Logarithm base 10:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Double:Logarithm base 10:Symbolic computation: Function initialisation::symb_psi: 0.434294481903252*s1**2*log(s2)
+DEAL:Double:Logarithm base 10:Symbolic computation: Differentiation::symb_dpsi_ds0: 0.868588963806504*s1*log(s2)
+DEAL:Double:Logarithm base 10:Symbolic computation: Differentiation::symb_dpsi_ds1: 0.434294481903252*s1**2/s2
+DEAL:Double:Logarithm base 10:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 0.868588963806504*log(s2)
+DEAL:Double:Logarithm base 10:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: 0.868588963806504*s1/s2
+DEAL:Double:Logarithm base 10:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: 0.868588963806504*s1/s2
+DEAL:Double:Logarithm base 10:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: -0.434294481903252*s1**2/s2**2
+DEAL:Double:Logarithm base 10:Symbolic computation: Substitution::subs_psi: 2.70927
+DEAL:Double:Logarithm base 10:Symbolic computation: Substitution::subs_dpsi_ds0: 1.80618
+DEAL:Double:Logarithm base 10:Symbolic computation: Substitution::subs_dpsi_ds1: 1.95433
+DEAL:Double:Logarithm base 10:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: 0.602060
+DEAL:Double:Logarithm base 10:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: 1.30288
+DEAL:Double:Logarithm base 10:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: 1.30288
+DEAL:Double:Logarithm base 10:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: -0.977163
+DEAL:Double:Sin:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Double:Sin:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Double:Sin:Symbolic computation: Function initialisation::symb_psi: sin(s2/s1)
+DEAL:Double:Sin:Symbolic computation: Differentiation::symb_dpsi_ds0: -s2*cos(s2/s1)/s1**2
+DEAL:Double:Sin:Symbolic computation: Differentiation::symb_dpsi_ds1: cos(s2/s1)/s1
+DEAL:Double:Sin:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: -s2**2*sin(s2/s1)/s1**4 + 2*s2*cos(s2/s1)/s1**3
+DEAL:Double:Sin:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -cos(s2/s1)/s1**2 + s2*sin(s2/s1)/s1**3
+DEAL:Double:Sin:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -cos(s2/s1)/s1**2 + s2*sin(s2/s1)/s1**3
+DEAL:Double:Sin:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: -sin(s2/s1)/s1**2
+DEAL:Double:Sin:Symbolic computation: Substitution::subs_psi: 0.618370
+DEAL:Double:Sin:Symbolic computation: Substitution::subs_dpsi_ds0: -0.174642
+DEAL:Double:Sin:Symbolic computation: Substitution::subs_dpsi_ds1: 0.261962
+DEAL:Double:Sin:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: 0.0858910
+DEAL:Double:Sin:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: -0.0415156
+DEAL:Double:Sin:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: -0.0415156
+DEAL:Double:Sin:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: -0.0687078
+DEAL:Double:Cos:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Double:Cos:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Double:Cos:Symbolic computation: Function initialisation::symb_psi: cos(s2/s1)
+DEAL:Double:Cos:Symbolic computation: Differentiation::symb_dpsi_ds0: s2*sin(s2/s1)/s1**2
+DEAL:Double:Cos:Symbolic computation: Differentiation::symb_dpsi_ds1: -sin(s2/s1)/s1
+DEAL:Double:Cos:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: -s2**2*cos(s2/s1)/s1**4 - 2*s2*sin(s2/s1)/s1**3
+DEAL:Double:Cos:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: sin(s2/s1)/s1**2 + s2*cos(s2/s1)/s1**3
+DEAL:Double:Cos:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: sin(s2/s1)/s1**2 + s2*cos(s2/s1)/s1**3
+DEAL:Double:Cos:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: -cos(s2/s1)/s1**2
+DEAL:Double:Cos:Symbolic computation: Substitution::subs_psi: 0.785887
+DEAL:Double:Cos:Symbolic computation: Substitution::subs_dpsi_ds0: 0.137416
+DEAL:Double:Cos:Symbolic computation: Substitution::subs_dpsi_ds1: -0.206123
+DEAL:Double:Cos:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: -0.130420
+DEAL:Double:Cos:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: 0.126922
+DEAL:Double:Cos:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: 0.126922
+DEAL:Double:Cos:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: -0.0873208
+DEAL:Double:Tan:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Double:Tan:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Double:Tan:Symbolic computation: Function initialisation::symb_psi: tan(s2/s1)
+DEAL:Double:Tan:Symbolic computation: Differentiation::symb_dpsi_ds0: -s2*(1 + tan(s2/s1)**2)/s1**2
+DEAL:Double:Tan:Symbolic computation: Differentiation::symb_dpsi_ds1: (1 + tan(s2/s1)**2)/s1
+DEAL:Double:Tan:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 2*s2*(1 + tan(s2/s1)**2)/s1**3 + 2*s2**2*tan(s2/s1)*(1 + tan(s2/s1)**2)/s1**4
+DEAL:Double:Tan:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -(1 + tan(s2/s1)**2)/s1**2 - 2*s2*tan(s2/s1)*(1 + tan(s2/s1)**2)/s1**3
+DEAL:Double:Tan:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -(1 + tan(s2/s1)**2)/s1**2 - 2*s2*tan(s2/s1)*(1 + tan(s2/s1)**2)/s1**3
+DEAL:Double:Tan:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: 2*tan(s2/s1)*(1 + tan(s2/s1)**2)/s1**2
+DEAL:Double:Tan:Symbolic computation: Substitution::subs_psi: 0.786843
+DEAL:Double:Tan:Symbolic computation: Substitution::subs_dpsi_ds0: -0.359805
+DEAL:Double:Tan:Symbolic computation: Substitution::subs_dpsi_ds1: 0.539707
+DEAL:Double:Tan:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: 0.365696
+DEAL:Double:Tan:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: -0.368642
+DEAL:Double:Tan:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: -0.368642
+DEAL:Double:Tan:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: 0.283110
+DEAL:Double:ASin:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Double:ASin:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Double:ASin:Symbolic computation: Function initialisation::symb_psi: asin(1.0/(s1*s2))
+DEAL:Double:ASin:Symbolic computation: Differentiation::symb_dpsi_ds0: -1.0/(s1**2*s2*sqrt(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Double:ASin:Symbolic computation: Differentiation::symb_dpsi_ds1: -1.0/(s1*s2**2*sqrt(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Double:ASin:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 1.0*1/(s1**5*s2**3*(1 - 1.0*1/(s1**2*s2**2))**(3/2)) + 2.0*1/(s1**3*s2*sqrt(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Double:ASin:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: 1.0*1/(s1**4*s2**4*(1 - 1.0*1/(s1**2*s2**2))**(3/2)) + 1.0*1/(s1**2*s2**2*sqrt(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Double:ASin:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: 1.0*1/(s1**4*s2**4*(1 - 1.0*1/(s1**2*s2**2))**(3/2)) + 1.0*1/(s1**2*s2**2*sqrt(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Double:ASin:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: 1.0*1/(s1**3*s2**5*(1 - 1.0*1/(s1**2*s2**2))**(3/2)) + 2.0*1/(s1*s2**3*sqrt(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Double:ASin:Symbolic computation: Substitution::subs_psi: 0.167448
+DEAL:Double:ASin:Symbolic computation: Substitution::subs_dpsi_ds0: -0.0563436
+DEAL:Double:ASin:Symbolic computation: Substitution::subs_dpsi_ds1: -0.0845154
+DEAL:Double:ASin:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: 0.0380990
+DEAL:Double:ASin:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: 0.0289767
+DEAL:Double:ASin:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: 0.0289767
+DEAL:Double:ASin:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: 0.0857228
+DEAL:Double:ACos:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Double:ACos:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Double:ACos:Symbolic computation: Function initialisation::symb_psi: acos(1.0/(s1*s2))
+DEAL:Double:ACos:Symbolic computation: Differentiation::symb_dpsi_ds0: 1.0/(s1**2*s2*sqrt(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Double:ACos:Symbolic computation: Differentiation::symb_dpsi_ds1: 1.0/(s1*s2**2*sqrt(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Double:ACos:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: -1.0*1/(s1**5*s2**3*(1 - 1.0*1/(s1**2*s2**2))**(3/2)) - 2.0*1/(s1**3*s2*sqrt(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Double:ACos:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -1.0*1/(s1**4*s2**4*(1 - 1.0*1/(s1**2*s2**2))**(3/2)) - 1.0*1/(s1**2*s2**2*sqrt(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Double:ACos:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -1.0*1/(s1**4*s2**4*(1 - 1.0*1/(s1**2*s2**2))**(3/2)) - 1.0*1/(s1**2*s2**2*sqrt(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Double:ACos:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: -1.0*1/(s1**3*s2**5*(1 - 1.0*1/(s1**2*s2**2))**(3/2)) - 2.0*1/(s1*s2**3*sqrt(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Double:ACos:Symbolic computation: Substitution::subs_psi: 1.40335
+DEAL:Double:ACos:Symbolic computation: Substitution::subs_dpsi_ds0: 0.0563436
+DEAL:Double:ACos:Symbolic computation: Substitution::subs_dpsi_ds1: 0.0845154
+DEAL:Double:ACos:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: -0.0380990
+DEAL:Double:ACos:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: -0.0289767
+DEAL:Double:ACos:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: -0.0289767
+DEAL:Double:ACos:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: -0.0857228
+DEAL:Double:ATan:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Double:ATan:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Double:ATan:Symbolic computation: Function initialisation::symb_psi: atan(1.0/(s1*s2))
+DEAL:Double:ATan:Symbolic computation: Differentiation::symb_dpsi_ds0: -1.0/(s1**2*s2*(1 + 1.0*1/(s1**2*s2**2)))
+DEAL:Double:ATan:Symbolic computation: Differentiation::symb_dpsi_ds1: -1.0/(s1*s2**2*(1 + 1.0*1/(s1**2*s2**2)))
+DEAL:Double:ATan:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: -2.0*1/(s1**5*s2**3*(1 + 1.0*1/(s1**2*s2**2))**2) + 2.0*1/(s1**3*s2*(1 + 1.0*1/(s1**2*s2**2)))
+DEAL:Double:ATan:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -2.0*1/(s1**4*s2**4*(1 + 1.0*1/(s1**2*s2**2))**2) + 1.0*1/(s1**2*s2**2*(1 + 1.0*1/(s1**2*s2**2)))
+DEAL:Double:ATan:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -2.0*1/(s1**4*s2**4*(1 + 1.0*1/(s1**2*s2**2))**2) + 1.0*1/(s1**2*s2**2*(1 + 1.0*1/(s1**2*s2**2)))
+DEAL:Double:ATan:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: -2.0*1/(s1**3*s2**5*(1 + 1.0*1/(s1**2*s2**2))**2) + 2.0*1/(s1*s2**3*(1 + 1.0*1/(s1**2*s2**2)))
+DEAL:Double:ATan:Symbolic computation: Substitution::subs_psi: 0.165149
+DEAL:Double:ATan:Symbolic computation: Substitution::subs_dpsi_ds0: -0.0540541
+DEAL:Double:ATan:Symbolic computation: Substitution::subs_dpsi_ds1: -0.0810811
+DEAL:Double:ATan:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: 0.0350621
+DEAL:Double:ATan:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: 0.0255661
+DEAL:Double:ATan:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: 0.0255661
+DEAL:Double:ATan:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: 0.0788897
+DEAL:Double:ATan2:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Double:ATan2:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Double:ATan2:Symbolic computation: Function initialisation::symb_psi: 3.0*atan2(s2, s1)
+DEAL:Double:ATan2:Symbolic computation: Differentiation::symb_dpsi_ds0: -3.0*s2/(s1**2 + s2**2)
+DEAL:Double:ATan2:Symbolic computation: Differentiation::symb_dpsi_ds1: 3.0*s1/(s1**2 + s2**2)
+DEAL:Double:ATan2:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 6.0*s1*s2/(s1**2 + s2**2)**2
+DEAL:Double:ATan2:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: 6.0*s2**2/(s1**2 + s2**2)**2 - 3.0*(s1**2 + s2**2)**(-1)
+DEAL:Double:ATan2:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -6.0*s1**2/(s1**2 + s2**2)**2 + 3.0*(s1**2 + s2**2)**(-1)
+DEAL:Double:ATan2:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: -6.0*s1*s2/(s1**2 + s2**2)**2
+DEAL:Double:ATan2:Symbolic computation: Substitution::subs_psi: 1.76401
+DEAL:Double:ATan2:Symbolic computation: Substitution::subs_dpsi_ds0: -0.461538
+DEAL:Double:ATan2:Symbolic computation: Substitution::subs_dpsi_ds1: 0.692308
+DEAL:Double:ATan2:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: 0.213018
+DEAL:Double:ATan2:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: -0.0887574
+DEAL:Double:ATan2:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: -0.0887574
+DEAL:Double:ATan2:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: -0.213018
+DEAL:Double:Sinh:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Double:Sinh:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Double:Sinh:Symbolic computation: Function initialisation::symb_psi: sinh(s2/s1)
+DEAL:Double:Sinh:Symbolic computation: Differentiation::symb_dpsi_ds0: -s2*cosh(s2/s1)/s1**2
+DEAL:Double:Sinh:Symbolic computation: Differentiation::symb_dpsi_ds1: cosh(s2/s1)/s1
+DEAL:Double:Sinh:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: s2**2*sinh(s2/s1)/s1**4 + 2*s2*cosh(s2/s1)/s1**3
+DEAL:Double:Sinh:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -cosh(s2/s1)/s1**2 - s2*sinh(s2/s1)/s1**3
+DEAL:Double:Sinh:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -cosh(s2/s1)/s1**2 - s2*sinh(s2/s1)/s1**3
+DEAL:Double:Sinh:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: sinh(s2/s1)/s1**2
+DEAL:Double:Sinh:Symbolic computation: Substitution::subs_psi: 0.717158
+DEAL:Double:Sinh:Symbolic computation: Substitution::subs_dpsi_ds0: -0.273461
+DEAL:Double:Sinh:Symbolic computation: Substitution::subs_dpsi_ds1: 0.410192
+DEAL:Double:Sinh:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: 0.217723
+DEAL:Double:Sinh:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: -0.189853
+DEAL:Double:Sinh:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: -0.189853
+DEAL:Double:Sinh:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: 0.0796843
+DEAL:Double:Cosh:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Double:Cosh:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Double:Cosh:Symbolic computation: Function initialisation::symb_psi: cosh(s2/s1)
+DEAL:Double:Cosh:Symbolic computation: Differentiation::symb_dpsi_ds0: -s2*sinh(s2/s1)/s1**2
+DEAL:Double:Cosh:Symbolic computation: Differentiation::symb_dpsi_ds1: sinh(s2/s1)/s1
+DEAL:Double:Cosh:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: s2**2*cosh(s2/s1)/s1**4 + 2*s2*sinh(s2/s1)/s1**3
+DEAL:Double:Cosh:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -sinh(s2/s1)/s1**2 - s2*cosh(s2/s1)/s1**3
+DEAL:Double:Cosh:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -sinh(s2/s1)/s1**2 - s2*cosh(s2/s1)/s1**3
+DEAL:Double:Cosh:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: cosh(s2/s1)/s1**2
+DEAL:Double:Cosh:Symbolic computation: Substitution::subs_psi: 1.23058
+DEAL:Double:Cosh:Symbolic computation: Substitution::subs_dpsi_ds0: -0.159369
+DEAL:Double:Cosh:Symbolic computation: Substitution::subs_dpsi_ds1: 0.239053
+DEAL:Double:Cosh:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: 0.167015
+DEAL:Double:Cosh:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: -0.170838
+DEAL:Double:Cosh:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: -0.170838
+DEAL:Double:Cosh:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: 0.136731
+DEAL:Double:Tanh:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Double:Tanh:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Double:Tanh:Symbolic computation: Function initialisation::symb_psi: tanh(s2/s1)
+DEAL:Double:Tanh:Symbolic computation: Differentiation::symb_dpsi_ds0: -s2*(1 - tanh(s2/s1)**2)/s1**2
+DEAL:Double:Tanh:Symbolic computation: Differentiation::symb_dpsi_ds1: (1 - tanh(s2/s1)**2)/s1
+DEAL:Double:Tanh:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 2*s2*(1 - tanh(s2/s1)**2)/s1**3 - 2*s2**2*tanh(s2/s1)*(1 - tanh(s2/s1)**2)/s1**4
+DEAL:Double:Tanh:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -(1 - tanh(s2/s1)**2)/s1**2 + 2*s2*tanh(s2/s1)*(1 - tanh(s2/s1)**2)/s1**3
+DEAL:Double:Tanh:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -(1 - tanh(s2/s1)**2)/s1**2 + 2*s2*tanh(s2/s1)*(1 - tanh(s2/s1)**2)/s1**3
+DEAL:Double:Tanh:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: -2*tanh(s2/s1)*(1 - tanh(s2/s1)**2)/s1**2
+DEAL:Double:Tanh:Symbolic computation: Substitution::subs_psi: 0.582783
+DEAL:Double:Tanh:Symbolic computation: Substitution::subs_dpsi_ds0: -0.146748
+DEAL:Double:Tanh:Symbolic computation: Substitution::subs_dpsi_ds1: 0.220121
+DEAL:Double:Tanh:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: 0.0598219
+DEAL:Double:Tanh:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: -0.0163591
+DEAL:Double:Tanh:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: -0.0163591
+DEAL:Double:Tanh:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: -0.0855220
+DEAL:Double:ASinh:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Double:ASinh:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Double:ASinh:Symbolic computation: Function initialisation::symb_psi: asinh(1.0/(s1*s2))
+DEAL:Double:ASinh:Symbolic computation: Differentiation::symb_dpsi_ds0: -1.0/(s1**2*s2*sqrt(1 + 1.0*1/(s1**2*s2**2)))
+DEAL:Double:ASinh:Symbolic computation: Differentiation::symb_dpsi_ds1: -1.0/(s1*s2**2*sqrt(1 + 1.0*1/(s1**2*s2**2)))
+DEAL:Double:ASinh:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: -1.0*1/(s1**5*s2**3*(1 + 1.0*1/(s1**2*s2**2))**(3/2)) + 2.0*1/(s1**3*s2*sqrt(1 + 1.0*1/(s1**2*s2**2)))
+DEAL:Double:ASinh:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -1.0*1/(s1**4*s2**4*(1 + 1.0*1/(s1**2*s2**2))**(3/2)) + 1.0*1/(s1**2*s2**2*sqrt(1 + 1.0*1/(s1**2*s2**2)))
+DEAL:Double:ASinh:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -1.0*1/(s1**4*s2**4*(1 + 1.0*1/(s1**2*s2**2))**(3/2)) + 1.0*1/(s1**2*s2**2*sqrt(1 + 1.0*1/(s1**2*s2**2)))
+DEAL:Double:ASinh:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: -1.0*1/(s1**3*s2**5*(1 + 1.0*1/(s1**2*s2**2))**(3/2)) + 2.0*1/(s1*s2**3*sqrt(1 + 1.0*1/(s1**2*s2**2)))
+DEAL:Double:ASinh:Symbolic computation: Substitution::subs_psi: 0.165905
+DEAL:Double:ASinh:Symbolic computation: Substitution::subs_dpsi_ds0: -0.0547997
+DEAL:Double:ASinh:Symbolic computation: Substitution::subs_dpsi_ds1: -0.0821995
+DEAL:Double:ASinh:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: 0.0360394
+DEAL:Double:ASinh:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: 0.0266593
+DEAL:Double:ASinh:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: 0.0266593
+DEAL:Double:ASinh:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: 0.0810887
+DEAL:Double:ACosh:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Double:ACosh:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Double:ACosh:Symbolic computation: Function initialisation::symb_psi: acosh(s1*s2)
+DEAL:Double:ACosh:Symbolic computation: Differentiation::symb_dpsi_ds0: s2/sqrt(-1 + s1**2*s2**2)
+DEAL:Double:ACosh:Symbolic computation: Differentiation::symb_dpsi_ds1: s1/sqrt(-1 + s1**2*s2**2)
+DEAL:Double:ACosh:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: -s1*s2**3/(-1 + s1**2*s2**2)**(3/2)
+DEAL:Double:ACosh:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -s1**2*s2**2/(-1 + s1**2*s2**2)**(3/2) + (-1 + s1**2*s2**2)**(-1/2)
+DEAL:Double:ACosh:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -s1**2*s2**2/(-1 + s1**2*s2**2)**(3/2) + (-1 + s1**2*s2**2)**(-1/2)
+DEAL:Double:ACosh:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: -s1**3*s2/(-1 + s1**2*s2**2)**(3/2)
+DEAL:Double:ACosh:Symbolic computation: Substitution::subs_psi: 2.47789
+DEAL:Double:ACosh:Symbolic computation: Substitution::subs_dpsi_ds0: 0.338062
+DEAL:Double:ACosh:Symbolic computation: Substitution::subs_dpsi_ds1: 0.507093
+DEAL:Double:ACosh:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: -0.115907
+DEAL:Double:ACosh:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: -0.00482945
+DEAL:Double:ACosh:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: -0.00482945
+DEAL:Double:ACosh:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: -0.260790
+DEAL:Double:ATanh:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Double:ATanh:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Double:ATanh:Symbolic computation: Function initialisation::symb_psi: atanh(1.0/(s1*s2))
+DEAL:Double:ATanh:Symbolic computation: Differentiation::symb_dpsi_ds0: -1.0/(s1**2*s2*(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Double:ATanh:Symbolic computation: Differentiation::symb_dpsi_ds1: -1.0/(s1*s2**2*(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Double:ATanh:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 2.0*1/(s1**5*s2**3*(1 - 1.0*1/(s1**2*s2**2))**2) + 2.0*1/(s1**3*s2*(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Double:ATanh:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: 2.0*1/(s1**4*s2**4*(1 - 1.0*1/(s1**2*s2**2))**2) + 1.0*1/(s1**2*s2**2*(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Double:ATanh:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: 2.0*1/(s1**4*s2**4*(1 - 1.0*1/(s1**2*s2**2))**2) + 1.0*1/(s1**2*s2**2*(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Double:ATanh:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: 2.0*1/(s1**3*s2**5*(1 - 1.0*1/(s1**2*s2**2))**2) + 2.0*1/(s1*s2**3*(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Double:ATanh:Symbolic computation: Substitution::subs_psi: 0.168236
+DEAL:Double:ATanh:Symbolic computation: Substitution::subs_dpsi_ds0: -0.0571429
+DEAL:Double:ATanh:Symbolic computation: Substitution::subs_dpsi_ds1: -0.0857143
+DEAL:Double:ATanh:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: 0.0391837
+DEAL:Double:ATanh:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: 0.0302041
+DEAL:Double:ATanh:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: 0.0302041
+DEAL:Double:ATanh:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: 0.0881633
+DEAL:Double:Erf:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Double:Erf:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Double:Erf:Symbolic computation: Function initialisation::symb_psi: s1**2*erf(s2)
+DEAL:Double:Erf:Symbolic computation: Differentiation::symb_dpsi_ds0: 2*s1*erf(s2)
+DEAL:Double:Erf:Symbolic computation: Differentiation::symb_dpsi_ds1: 2*exp(-s2**2)*s1**2/sqrt(pi)
+DEAL:Double:Erf:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 2*erf(s2)
+DEAL:Double:Erf:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: 4*exp(-s2**2)*s1/sqrt(pi)
+DEAL:Double:Erf:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: 4*exp(-s2**2)*s1/sqrt(pi)
+DEAL:Double:Erf:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: -4*exp(-s2**2)*s1**2*s2/sqrt(pi)
+DEAL:Double:Erf:Symbolic computation: Substitution::subs_psi: 8.95790
+DEAL:Double:Erf:Symbolic computation: Substitution::subs_dpsi_ds0: 5.97193
+DEAL:Double:Erf:Symbolic computation: Substitution::subs_dpsi_ds1: 0.186003
+DEAL:Double:Erf:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: 1.99064
+DEAL:Double:Erf:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: 0.124002
+DEAL:Double:Erf:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: 0.124002
+DEAL:Double:Erf:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: -0.744011
+DEAL:Double:Erfc:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Double:Erfc:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Double:Erfc:Symbolic computation: Function initialisation::symb_psi: s1**2*erfc(s2)
+DEAL:Double:Erfc:Symbolic computation: Differentiation::symb_dpsi_ds0: 2*s1*erfc(s2)
+DEAL:Double:Erfc:Symbolic computation: Differentiation::symb_dpsi_ds1: -2*exp(-s2**2)*s1**2/sqrt(pi)
+DEAL:Double:Erfc:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 2*erfc(s2)
+DEAL:Double:Erfc:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -4*exp(-s2**2)*s1/sqrt(pi)
+DEAL:Double:Erfc:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -4*exp(-s2**2)*s1/sqrt(pi)
+DEAL:Double:Erfc:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: 4*exp(-s2**2)*s1**2*s2/sqrt(pi)
+DEAL:Double:Erfc:Symbolic computation: Substitution::subs_psi: 0.0420996
+DEAL:Double:Erfc:Symbolic computation: Substitution::subs_dpsi_ds0: 0.0280664
+DEAL:Double:Erfc:Symbolic computation: Substitution::subs_dpsi_ds1: -0.186003
+DEAL:Double:Erfc:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: 0.00935547
+DEAL:Double:Erfc:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: -0.124002
+DEAL:Double:Erfc:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: -0.124002
+DEAL:Double:Erfc:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: 0.744011
+DEAL:Double::OK
+DEAL:Complex float:Add:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Complex float:Add:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Complex float:Add:Symbolic computation: Function initialisation::symb_psi: (s1 + s2)**2
+DEAL:Complex float:Add:Symbolic computation: Differentiation::symb_dpsi_ds0: 2*(s1 + s2)
+DEAL:Complex float:Add:Symbolic computation: Differentiation::symb_dpsi_ds1: 2*(s1 + s2)
+DEAL:Complex float:Add:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 2
+DEAL:Complex float:Add:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: 2
+DEAL:Complex float:Add:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: 2
+DEAL:Complex float:Add:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: 2
+DEAL:Complex float:Add:Symbolic computation: Substitution::subs_psi: (25.0000,0.00000)
+DEAL:Complex float:Add:Symbolic computation: Substitution::subs_dpsi_ds0: (10.0000,0.00000)
+DEAL:Complex float:Add:Symbolic computation: Substitution::subs_dpsi_ds1: (10.0000,0.00000)
+DEAL:Complex float:Add:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: (2.00000,0.00000)
+DEAL:Complex float:Add:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: (2.00000,0.00000)
+DEAL:Complex float:Add:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: (2.00000,0.00000)
+DEAL:Complex float:Add:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: (2.00000,0.00000)
+DEAL:Complex float:Subtract:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Complex float:Subtract:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Complex float:Subtract:Symbolic computation: Function initialisation::symb_psi: (s1 - s2)**2
+DEAL:Complex float:Subtract:Symbolic computation: Differentiation::symb_dpsi_ds0: 2*(s1 - s2)
+DEAL:Complex float:Subtract:Symbolic computation: Differentiation::symb_dpsi_ds1: -2*(s1 - s2)
+DEAL:Complex float:Subtract:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 2
+DEAL:Complex float:Subtract:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -2
+DEAL:Complex float:Subtract:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -2
+DEAL:Complex float:Subtract:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: 2
+DEAL:Complex float:Subtract:Symbolic computation: Substitution::subs_psi: (1.00000,0.00000)
+DEAL:Complex float:Subtract:Symbolic computation: Substitution::subs_dpsi_ds0: (2.00000,0.00000)
+DEAL:Complex float:Subtract:Symbolic computation: Substitution::subs_dpsi_ds1: (-2.00000,0.00000)
+DEAL:Complex float:Subtract:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: (2.00000,0.00000)
+DEAL:Complex float:Subtract:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: (-2.00000,0.00000)
+DEAL:Complex float:Subtract:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: (-2.00000,0.00000)
+DEAL:Complex float:Subtract:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: (2.00000,0.00000)
+DEAL:Complex float:Multiply:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Complex float:Multiply:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Complex float:Multiply:Symbolic computation: Function initialisation::symb_psi: s1**2*s2**2
+DEAL:Complex float:Multiply:Symbolic computation: Differentiation::symb_dpsi_ds0: 2*s1*s2**2
+DEAL:Complex float:Multiply:Symbolic computation: Differentiation::symb_dpsi_ds1: 2*s1**2*s2
+DEAL:Complex float:Multiply:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 2*s2**2
+DEAL:Complex float:Multiply:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: 4*s1*s2
+DEAL:Complex float:Multiply:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: 4*s1*s2
+DEAL:Complex float:Multiply:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: 2*s1**2
+DEAL:Complex float:Multiply:Symbolic computation: Substitution::subs_psi: (36.0000,0.00000)
+DEAL:Complex float:Multiply:Symbolic computation: Substitution::subs_dpsi_ds0: (24.0000,0.00000)
+DEAL:Complex float:Multiply:Symbolic computation: Substitution::subs_dpsi_ds1: (36.0000,0.00000)
+DEAL:Complex float:Multiply:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: (8.00000,0.00000)
+DEAL:Complex float:Multiply:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: (24.0000,0.00000)
+DEAL:Complex float:Multiply:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: (24.0000,0.00000)
+DEAL:Complex float:Multiply:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: (18.0000,0.00000)
+DEAL:Complex float:Divide:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Complex float:Divide:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Complex float:Divide:Symbolic computation: Function initialisation::symb_psi: s1**2/s2**2
+DEAL:Complex float:Divide:Symbolic computation: Differentiation::symb_dpsi_ds0: 2*s1/s2**2
+DEAL:Complex float:Divide:Symbolic computation: Differentiation::symb_dpsi_ds1: -2*s1**2/s2**3
+DEAL:Complex float:Divide:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 2/s2**2
+DEAL:Complex float:Divide:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -4*s1/s2**3
+DEAL:Complex float:Divide:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -4*s1/s2**3
+DEAL:Complex float:Divide:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: 6*s1**2/s2**4
+DEAL:Complex float:Divide:Symbolic computation: Substitution::subs_psi: (2.25000,0.00000)
+DEAL:Complex float:Divide:Symbolic computation: Substitution::subs_dpsi_ds0: (1.50000,0.00000)
+DEAL:Complex float:Divide:Symbolic computation: Substitution::subs_dpsi_ds1: (-2.25000,0.00000)
+DEAL:Complex float:Divide:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: (0.500000,0.00000)
+DEAL:Complex float:Divide:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: (-1.50000,0.00000)
+DEAL:Complex float:Divide:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: (-1.50000,0.00000)
+DEAL:Complex float:Divide:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: (3.37500,0.00000)
+DEAL:Complex float:Power:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Complex float:Power:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Complex float:Power:Symbolic computation: Function initialisation::symb_psi: 2.0*s1**s2
+DEAL:Complex float:Power:Symbolic computation: Differentiation::symb_dpsi_ds0: 2.0*s1**(-1 + s2)*s2
+DEAL:Complex float:Power:Symbolic computation: Differentiation::symb_dpsi_ds1: 2.0*s1**s2*log(s1)
+DEAL:Complex float:Power:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 2.0*s1**(-2 + s2)*s2*(-1 + s2)
+DEAL:Complex float:Power:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: 2.0*s1**(-1 + s2)*s2*log(s1) + 2.0*s1**(-1 + s2)
+DEAL:Complex float:Power:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: 2.0*s1**(-1 + s2)*s2*log(s1) + 2.0*s1**(-1 + s2)
+DEAL:Complex float:Power:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: 2.0*s1**s2*log(s1)**2
+DEAL:Complex float:Power:Symbolic computation: Substitution::subs_psi: (18.0000,0.00000)
+DEAL:Complex float:Power:Symbolic computation: Substitution::subs_dpsi_ds0: (12.0000,0.00000)
+DEAL:Complex float:Power:Symbolic computation: Substitution::subs_dpsi_ds1: (19.7750,0.00000)
+DEAL:Complex float:Power:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: (4.00000,0.00000)
+DEAL:Complex float:Power:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: (19.1833,0.00000)
+DEAL:Complex float:Power:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: (19.1833,0.00000)
+DEAL:Complex float:Power:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: (21.7251,0.00000)
+DEAL:Complex float:Sqrt:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Complex float:Sqrt:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Complex float:Sqrt:Symbolic computation: Function initialisation::symb_psi: 2.0*sqrt(s1*s2)
+DEAL:Complex float:Sqrt:Symbolic computation: Differentiation::symb_dpsi_ds0: 1.0*s2/sqrt(s1*s2)
+DEAL:Complex float:Sqrt:Symbolic computation: Differentiation::symb_dpsi_ds1: 1.0*s1/sqrt(s1*s2)
+DEAL:Complex float:Sqrt:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: -0.5*s2**2/(s1*s2)**(3/2)
+DEAL:Complex float:Sqrt:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -0.5*s1*s2/(s1*s2)**(3/2) + 1.0*(s1*s2)**(-1/2)
+DEAL:Complex float:Sqrt:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -0.5*s1*s2/(s1*s2)**(3/2) + 1.0*(s1*s2)**(-1/2)
+DEAL:Complex float:Sqrt:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: -0.5*s1**2/(s1*s2)**(3/2)
+DEAL:Complex float:Sqrt:Symbolic computation: Substitution::subs_psi: (4.89898,0.00000)
+DEAL:Complex float:Sqrt:Symbolic computation: Substitution::subs_dpsi_ds0: (0.816497,0.00000)
+DEAL:Complex float:Sqrt:Symbolic computation: Substitution::subs_dpsi_ds1: (1.22474,0.00000)
+DEAL:Complex float:Sqrt:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: (-0.136083,0.00000)
+DEAL:Complex float:Sqrt:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: (0.204124,0.00000)
+DEAL:Complex float:Sqrt:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: (0.204124,0.00000)
+DEAL:Complex float:Sqrt:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: (-0.306186,0.00000)
+DEAL:Complex float:Exponential:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Complex float:Exponential:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Complex float:Exponential:Symbolic computation: Function initialisation::symb_psi: exp(s2)*s1**2
+DEAL:Complex float:Exponential:Symbolic computation: Differentiation::symb_dpsi_ds0: 2*exp(s2)*s1
+DEAL:Complex float:Exponential:Symbolic computation: Differentiation::symb_dpsi_ds1: exp(s2)*s1**2
+DEAL:Complex float:Exponential:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 2*exp(s2)
+DEAL:Complex float:Exponential:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: 2*exp(s2)*s1
+DEAL:Complex float:Exponential:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: 2*exp(s2)*s1
+DEAL:Complex float:Exponential:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: exp(s2)*s1**2
+DEAL:Complex float:Exponential:Symbolic computation: Substitution::subs_psi: (66.5015,0.00000)
+DEAL:Complex float:Exponential:Symbolic computation: Substitution::subs_dpsi_ds0: (44.3343,0.00000)
+DEAL:Complex float:Exponential:Symbolic computation: Substitution::subs_dpsi_ds1: (66.5015,0.00000)
+DEAL:Complex float:Exponential:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: (14.7781,0.00000)
+DEAL:Complex float:Exponential:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: (44.3343,0.00000)
+DEAL:Complex float:Exponential:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: (44.3343,0.00000)
+DEAL:Complex float:Exponential:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: (66.5015,0.00000)
+DEAL:Complex float:Logarithm:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Complex float:Logarithm:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Complex float:Logarithm:Symbolic computation: Function initialisation::symb_psi: s1**2*log(s2)
+DEAL:Complex float:Logarithm:Symbolic computation: Differentiation::symb_dpsi_ds0: 2*s1*log(s2)
+DEAL:Complex float:Logarithm:Symbolic computation: Differentiation::symb_dpsi_ds1: s1**2/s2
+DEAL:Complex float:Logarithm:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 2*log(s2)
+DEAL:Complex float:Logarithm:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: 2*s1/s2
+DEAL:Complex float:Logarithm:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: 2*s1/s2
+DEAL:Complex float:Logarithm:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: -s1**2/s2**2
+DEAL:Complex float:Logarithm:Symbolic computation: Substitution::subs_psi: (6.23832,0.00000)
+DEAL:Complex float:Logarithm:Symbolic computation: Substitution::subs_dpsi_ds0: (4.15888,0.00000)
+DEAL:Complex float:Logarithm:Symbolic computation: Substitution::subs_dpsi_ds1: (4.50000,0.00000)
+DEAL:Complex float:Logarithm:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: (1.38629,0.00000)
+DEAL:Complex float:Logarithm:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: (3.00000,0.00000)
+DEAL:Complex float:Logarithm:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: (3.00000,0.00000)
+DEAL:Complex float:Logarithm:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: (-2.25000,0.00000)
+DEAL:Complex float:Logarithm with Base:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Complex float:Logarithm with Base:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Complex float:Logarithm with Base:Symbolic computation: Function initialisation::symb_psi: log(s2)/log(s1)
+DEAL:Complex float:Logarithm with Base:Symbolic computation: Differentiation::symb_dpsi_ds0: -log(s2)/(s1*log(s1)**2)
+DEAL:Complex float:Logarithm with Base:Symbolic computation: Differentiation::symb_dpsi_ds1: 1/(s2*log(s1))
+DEAL:Complex float:Logarithm with Base:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 2*log(s2)/(s1**2*log(s1)**3) + log(s2)/(s1**2*log(s1)**2)
+DEAL:Complex float:Logarithm with Base:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -1/(s1*s2*log(s1)**2)
+DEAL:Complex float:Logarithm with Base:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -1/(s1*s2*log(s1)**2)
+DEAL:Complex float:Logarithm with Base:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: -1/(s2**2*log(s1))
+DEAL:Complex float:Logarithm with Base:Symbolic computation: Substitution::subs_psi: (0.630930,0.00000)
+DEAL:Complex float:Logarithm with Base:Symbolic computation: Substitution::subs_dpsi_ds0: (-0.191432,0.00000)
+DEAL:Complex float:Logarithm with Base:Symbolic computation: Substitution::subs_dpsi_ds1: (0.455120,0.00000)
+DEAL:Complex float:Logarithm with Base:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: (0.179977,0.00000)
+DEAL:Complex float:Logarithm with Base:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: (-0.138089,0.00000)
+DEAL:Complex float:Logarithm with Base:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: (-0.138089,0.00000)
+DEAL:Complex float:Logarithm with Base:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: (-0.227560,0.00000)
+DEAL:Complex float:Logarithm base 10:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Complex float:Logarithm base 10:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Complex float:Logarithm base 10:Symbolic computation: Function initialisation::symb_psi: 0.434294481903252*s1**2*log(s2)
+DEAL:Complex float:Logarithm base 10:Symbolic computation: Differentiation::symb_dpsi_ds0: 0.868588963806504*s1*log(s2)
+DEAL:Complex float:Logarithm base 10:Symbolic computation: Differentiation::symb_dpsi_ds1: 0.434294481903252*s1**2/s2
+DEAL:Complex float:Logarithm base 10:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 0.868588963806504*log(s2)
+DEAL:Complex float:Logarithm base 10:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: 0.868588963806504*s1/s2
+DEAL:Complex float:Logarithm base 10:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: 0.868588963806504*s1/s2
+DEAL:Complex float:Logarithm base 10:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: -0.434294481903252*s1**2/s2**2
+DEAL:Complex float:Logarithm base 10:Symbolic computation: Substitution::subs_psi: (2.70927,0.00000)
+DEAL:Complex float:Logarithm base 10:Symbolic computation: Substitution::subs_dpsi_ds0: (1.80618,0.00000)
+DEAL:Complex float:Logarithm base 10:Symbolic computation: Substitution::subs_dpsi_ds1: (1.95433,0.00000)
+DEAL:Complex float:Logarithm base 10:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: (0.602060,0.00000)
+DEAL:Complex float:Logarithm base 10:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: (1.30288,0.00000)
+DEAL:Complex float:Logarithm base 10:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: (1.30288,0.00000)
+DEAL:Complex float:Logarithm base 10:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: (-0.977163,0.00000)
+DEAL:Complex float:Sin:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Complex float:Sin:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Complex float:Sin:Symbolic computation: Function initialisation::symb_psi: sin(s2/s1)
+DEAL:Complex float:Sin:Symbolic computation: Differentiation::symb_dpsi_ds0: -s2*cos(s2/s1)/s1**2
+DEAL:Complex float:Sin:Symbolic computation: Differentiation::symb_dpsi_ds1: cos(s2/s1)/s1
+DEAL:Complex float:Sin:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: -s2**2*sin(s2/s1)/s1**4 + 2*s2*cos(s2/s1)/s1**3
+DEAL:Complex float:Sin:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -cos(s2/s1)/s1**2 + s2*sin(s2/s1)/s1**3
+DEAL:Complex float:Sin:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -cos(s2/s1)/s1**2 + s2*sin(s2/s1)/s1**3
+DEAL:Complex float:Sin:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: -sin(s2/s1)/s1**2
+DEAL:Complex float:Sin:Symbolic computation: Substitution::subs_psi: (0.618370,0.00000)
+DEAL:Complex float:Sin:Symbolic computation: Substitution::subs_dpsi_ds0: (-0.174642,0.00000)
+DEAL:Complex float:Sin:Symbolic computation: Substitution::subs_dpsi_ds1: (0.261962,0.00000)
+DEAL:Complex float:Sin:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: (0.0858910,0.00000)
+DEAL:Complex float:Sin:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: (-0.0415156,0.00000)
+DEAL:Complex float:Sin:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: (-0.0415156,0.00000)
+DEAL:Complex float:Sin:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: (-0.0687078,0.00000)
+DEAL:Complex float:Cos:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Complex float:Cos:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Complex float:Cos:Symbolic computation: Function initialisation::symb_psi: cos(s2/s1)
+DEAL:Complex float:Cos:Symbolic computation: Differentiation::symb_dpsi_ds0: s2*sin(s2/s1)/s1**2
+DEAL:Complex float:Cos:Symbolic computation: Differentiation::symb_dpsi_ds1: -sin(s2/s1)/s1
+DEAL:Complex float:Cos:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: -s2**2*cos(s2/s1)/s1**4 - 2*s2*sin(s2/s1)/s1**3
+DEAL:Complex float:Cos:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: sin(s2/s1)/s1**2 + s2*cos(s2/s1)/s1**3
+DEAL:Complex float:Cos:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: sin(s2/s1)/s1**2 + s2*cos(s2/s1)/s1**3
+DEAL:Complex float:Cos:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: -cos(s2/s1)/s1**2
+DEAL:Complex float:Cos:Symbolic computation: Substitution::subs_psi: (0.785887,0.00000)
+DEAL:Complex float:Cos:Symbolic computation: Substitution::subs_dpsi_ds0: (0.137416,0.00000)
+DEAL:Complex float:Cos:Symbolic computation: Substitution::subs_dpsi_ds1: (-0.206123,0.00000)
+DEAL:Complex float:Cos:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: (-0.130420,0.00000)
+DEAL:Complex float:Cos:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: (0.126922,0.00000)
+DEAL:Complex float:Cos:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: (0.126922,0.00000)
+DEAL:Complex float:Cos:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: (-0.0873208,0.00000)
+DEAL:Complex float:Tan:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Complex float:Tan:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Complex float:Tan:Symbolic computation: Function initialisation::symb_psi: tan(s2/s1)
+DEAL:Complex float:Tan:Symbolic computation: Differentiation::symb_dpsi_ds0: -s2*(1 + tan(s2/s1)**2)/s1**2
+DEAL:Complex float:Tan:Symbolic computation: Differentiation::symb_dpsi_ds1: (1 + tan(s2/s1)**2)/s1
+DEAL:Complex float:Tan:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 2*s2*(1 + tan(s2/s1)**2)/s1**3 + 2*s2**2*tan(s2/s1)*(1 + tan(s2/s1)**2)/s1**4
+DEAL:Complex float:Tan:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -(1 + tan(s2/s1)**2)/s1**2 - 2*s2*tan(s2/s1)*(1 + tan(s2/s1)**2)/s1**3
+DEAL:Complex float:Tan:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -(1 + tan(s2/s1)**2)/s1**2 - 2*s2*tan(s2/s1)*(1 + tan(s2/s1)**2)/s1**3
+DEAL:Complex float:Tan:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: 2*tan(s2/s1)*(1 + tan(s2/s1)**2)/s1**2
+DEAL:Complex float:Tan:Symbolic computation: Substitution::subs_psi: (0.786843,0.00000)
+DEAL:Complex float:Tan:Symbolic computation: Substitution::subs_dpsi_ds0: (-0.359805,0.00000)
+DEAL:Complex float:Tan:Symbolic computation: Substitution::subs_dpsi_ds1: (0.539707,0.00000)
+DEAL:Complex float:Tan:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: (0.365696,0.00000)
+DEAL:Complex float:Tan:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: (-0.368642,0.00000)
+DEAL:Complex float:Tan:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: (-0.368642,0.00000)
+DEAL:Complex float:Tan:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: (0.283110,0.00000)
+DEAL:Complex float:ASin:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Complex float:ASin:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Complex float:ASin:Symbolic computation: Function initialisation::symb_psi: asin(1.0/(s1*s2))
+DEAL:Complex float:ASin:Symbolic computation: Differentiation::symb_dpsi_ds0: -1.0/(s1**2*s2*sqrt(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Complex float:ASin:Symbolic computation: Differentiation::symb_dpsi_ds1: -1.0/(s1*s2**2*sqrt(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Complex float:ASin:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 1.0*1/(s1**5*s2**3*(1 - 1.0*1/(s1**2*s2**2))**(3/2)) + 2.0*1/(s1**3*s2*sqrt(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Complex float:ASin:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: 1.0*1/(s1**4*s2**4*(1 - 1.0*1/(s1**2*s2**2))**(3/2)) + 1.0*1/(s1**2*s2**2*sqrt(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Complex float:ASin:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: 1.0*1/(s1**4*s2**4*(1 - 1.0*1/(s1**2*s2**2))**(3/2)) + 1.0*1/(s1**2*s2**2*sqrt(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Complex float:ASin:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: 1.0*1/(s1**3*s2**5*(1 - 1.0*1/(s1**2*s2**2))**(3/2)) + 2.0*1/(s1*s2**3*sqrt(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Complex float:ASin:Symbolic computation: Substitution::subs_psi: (0.167448,0.00000)
+DEAL:Complex float:ASin:Symbolic computation: Substitution::subs_dpsi_ds0: (-0.0563436,0.00000)
+DEAL:Complex float:ASin:Symbolic computation: Substitution::subs_dpsi_ds1: (-0.0845154,0.00000)
+DEAL:Complex float:ASin:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: (0.0380990,0.00000)
+DEAL:Complex float:ASin:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: (0.0289767,0.00000)
+DEAL:Complex float:ASin:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: (0.0289767,0.00000)
+DEAL:Complex float:ASin:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: (0.0857228,0.00000)
+DEAL:Complex float:ACos:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Complex float:ACos:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Complex float:ACos:Symbolic computation: Function initialisation::symb_psi: acos(1.0/(s1*s2))
+DEAL:Complex float:ACos:Symbolic computation: Differentiation::symb_dpsi_ds0: 1.0/(s1**2*s2*sqrt(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Complex float:ACos:Symbolic computation: Differentiation::symb_dpsi_ds1: 1.0/(s1*s2**2*sqrt(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Complex float:ACos:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: -1.0*1/(s1**5*s2**3*(1 - 1.0*1/(s1**2*s2**2))**(3/2)) - 2.0*1/(s1**3*s2*sqrt(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Complex float:ACos:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -1.0*1/(s1**4*s2**4*(1 - 1.0*1/(s1**2*s2**2))**(3/2)) - 1.0*1/(s1**2*s2**2*sqrt(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Complex float:ACos:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -1.0*1/(s1**4*s2**4*(1 - 1.0*1/(s1**2*s2**2))**(3/2)) - 1.0*1/(s1**2*s2**2*sqrt(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Complex float:ACos:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: -1.0*1/(s1**3*s2**5*(1 - 1.0*1/(s1**2*s2**2))**(3/2)) - 2.0*1/(s1*s2**3*sqrt(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Complex float:ACos:Symbolic computation: Substitution::subs_psi: (1.40335,0.00000)
+DEAL:Complex float:ACos:Symbolic computation: Substitution::subs_dpsi_ds0: (0.0563436,0.00000)
+DEAL:Complex float:ACos:Symbolic computation: Substitution::subs_dpsi_ds1: (0.0845154,0.00000)
+DEAL:Complex float:ACos:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: (-0.0380990,0.00000)
+DEAL:Complex float:ACos:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: (-0.0289767,0.00000)
+DEAL:Complex float:ACos:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: (-0.0289767,0.00000)
+DEAL:Complex float:ACos:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: (-0.0857228,0.00000)
+DEAL:Complex float:ATan:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Complex float:ATan:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Complex float:ATan:Symbolic computation: Function initialisation::symb_psi: atan(1.0/(s1*s2))
+DEAL:Complex float:ATan:Symbolic computation: Differentiation::symb_dpsi_ds0: -1.0/(s1**2*s2*(1 + 1.0*1/(s1**2*s2**2)))
+DEAL:Complex float:ATan:Symbolic computation: Differentiation::symb_dpsi_ds1: -1.0/(s1*s2**2*(1 + 1.0*1/(s1**2*s2**2)))
+DEAL:Complex float:ATan:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: -2.0*1/(s1**5*s2**3*(1 + 1.0*1/(s1**2*s2**2))**2) + 2.0*1/(s1**3*s2*(1 + 1.0*1/(s1**2*s2**2)))
+DEAL:Complex float:ATan:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -2.0*1/(s1**4*s2**4*(1 + 1.0*1/(s1**2*s2**2))**2) + 1.0*1/(s1**2*s2**2*(1 + 1.0*1/(s1**2*s2**2)))
+DEAL:Complex float:ATan:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -2.0*1/(s1**4*s2**4*(1 + 1.0*1/(s1**2*s2**2))**2) + 1.0*1/(s1**2*s2**2*(1 + 1.0*1/(s1**2*s2**2)))
+DEAL:Complex float:ATan:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: -2.0*1/(s1**3*s2**5*(1 + 1.0*1/(s1**2*s2**2))**2) + 2.0*1/(s1*s2**3*(1 + 1.0*1/(s1**2*s2**2)))
+DEAL:Complex float:ATan:Symbolic computation: Substitution::subs_psi: (0.165149,0.00000)
+DEAL:Complex float:ATan:Symbolic computation: Substitution::subs_dpsi_ds0: (-0.0540541,0.00000)
+DEAL:Complex float:ATan:Symbolic computation: Substitution::subs_dpsi_ds1: (-0.0810811,0.00000)
+DEAL:Complex float:ATan:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: (0.0350621,0.00000)
+DEAL:Complex float:ATan:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: (0.0255661,0.00000)
+DEAL:Complex float:ATan:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: (0.0255661,0.00000)
+DEAL:Complex float:ATan:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: (0.0788897,0.00000)
+DEAL:Complex float:Sinh:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Complex float:Sinh:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Complex float:Sinh:Symbolic computation: Function initialisation::symb_psi: sinh(s2/s1)
+DEAL:Complex float:Sinh:Symbolic computation: Differentiation::symb_dpsi_ds0: -s2*cosh(s2/s1)/s1**2
+DEAL:Complex float:Sinh:Symbolic computation: Differentiation::symb_dpsi_ds1: cosh(s2/s1)/s1
+DEAL:Complex float:Sinh:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: s2**2*sinh(s2/s1)/s1**4 + 2*s2*cosh(s2/s1)/s1**3
+DEAL:Complex float:Sinh:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -cosh(s2/s1)/s1**2 - s2*sinh(s2/s1)/s1**3
+DEAL:Complex float:Sinh:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -cosh(s2/s1)/s1**2 - s2*sinh(s2/s1)/s1**3
+DEAL:Complex float:Sinh:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: sinh(s2/s1)/s1**2
+DEAL:Complex float:Sinh:Symbolic computation: Substitution::subs_psi: (0.717158,0.00000)
+DEAL:Complex float:Sinh:Symbolic computation: Substitution::subs_dpsi_ds0: (-0.273461,0.00000)
+DEAL:Complex float:Sinh:Symbolic computation: Substitution::subs_dpsi_ds1: (0.410192,0.00000)
+DEAL:Complex float:Sinh:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: (0.217723,0.00000)
+DEAL:Complex float:Sinh:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: (-0.189853,0.00000)
+DEAL:Complex float:Sinh:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: (-0.189853,0.00000)
+DEAL:Complex float:Sinh:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: (0.0796843,0.00000)
+DEAL:Complex float:Cosh:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Complex float:Cosh:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Complex float:Cosh:Symbolic computation: Function initialisation::symb_psi: cosh(s2/s1)
+DEAL:Complex float:Cosh:Symbolic computation: Differentiation::symb_dpsi_ds0: -s2*sinh(s2/s1)/s1**2
+DEAL:Complex float:Cosh:Symbolic computation: Differentiation::symb_dpsi_ds1: sinh(s2/s1)/s1
+DEAL:Complex float:Cosh:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: s2**2*cosh(s2/s1)/s1**4 + 2*s2*sinh(s2/s1)/s1**3
+DEAL:Complex float:Cosh:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -sinh(s2/s1)/s1**2 - s2*cosh(s2/s1)/s1**3
+DEAL:Complex float:Cosh:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -sinh(s2/s1)/s1**2 - s2*cosh(s2/s1)/s1**3
+DEAL:Complex float:Cosh:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: cosh(s2/s1)/s1**2
+DEAL:Complex float:Cosh:Symbolic computation: Substitution::subs_psi: (1.23058,0.00000)
+DEAL:Complex float:Cosh:Symbolic computation: Substitution::subs_dpsi_ds0: (-0.159369,0.00000)
+DEAL:Complex float:Cosh:Symbolic computation: Substitution::subs_dpsi_ds1: (0.239053,0.00000)
+DEAL:Complex float:Cosh:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: (0.167015,0.00000)
+DEAL:Complex float:Cosh:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: (-0.170838,0.00000)
+DEAL:Complex float:Cosh:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: (-0.170838,0.00000)
+DEAL:Complex float:Cosh:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: (0.136731,0.00000)
+DEAL:Complex float:Tanh:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Complex float:Tanh:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Complex float:Tanh:Symbolic computation: Function initialisation::symb_psi: tanh(s2/s1)
+DEAL:Complex float:Tanh:Symbolic computation: Differentiation::symb_dpsi_ds0: -s2*(1 - tanh(s2/s1)**2)/s1**2
+DEAL:Complex float:Tanh:Symbolic computation: Differentiation::symb_dpsi_ds1: (1 - tanh(s2/s1)**2)/s1
+DEAL:Complex float:Tanh:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 2*s2*(1 - tanh(s2/s1)**2)/s1**3 - 2*s2**2*tanh(s2/s1)*(1 - tanh(s2/s1)**2)/s1**4
+DEAL:Complex float:Tanh:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -(1 - tanh(s2/s1)**2)/s1**2 + 2*s2*tanh(s2/s1)*(1 - tanh(s2/s1)**2)/s1**3
+DEAL:Complex float:Tanh:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -(1 - tanh(s2/s1)**2)/s1**2 + 2*s2*tanh(s2/s1)*(1 - tanh(s2/s1)**2)/s1**3
+DEAL:Complex float:Tanh:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: -2*tanh(s2/s1)*(1 - tanh(s2/s1)**2)/s1**2
+DEAL:Complex float:Tanh:Symbolic computation: Substitution::subs_psi: (0.582783,0.00000)
+DEAL:Complex float:Tanh:Symbolic computation: Substitution::subs_dpsi_ds0: (-0.146748,0.00000)
+DEAL:Complex float:Tanh:Symbolic computation: Substitution::subs_dpsi_ds1: (0.220121,0.00000)
+DEAL:Complex float:Tanh:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: (0.0598219,0.00000)
+DEAL:Complex float:Tanh:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: (-0.0163591,0.00000)
+DEAL:Complex float:Tanh:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: (-0.0163591,0.00000)
+DEAL:Complex float:Tanh:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: (-0.0855220,0.00000)
+DEAL:Complex float:ASinh:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Complex float:ASinh:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Complex float:ASinh:Symbolic computation: Function initialisation::symb_psi: asinh(1.0/(s1*s2))
+DEAL:Complex float:ASinh:Symbolic computation: Differentiation::symb_dpsi_ds0: -1.0/(s1**2*s2*sqrt(1 + 1.0*1/(s1**2*s2**2)))
+DEAL:Complex float:ASinh:Symbolic computation: Differentiation::symb_dpsi_ds1: -1.0/(s1*s2**2*sqrt(1 + 1.0*1/(s1**2*s2**2)))
+DEAL:Complex float:ASinh:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: -1.0*1/(s1**5*s2**3*(1 + 1.0*1/(s1**2*s2**2))**(3/2)) + 2.0*1/(s1**3*s2*sqrt(1 + 1.0*1/(s1**2*s2**2)))
+DEAL:Complex float:ASinh:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -1.0*1/(s1**4*s2**4*(1 + 1.0*1/(s1**2*s2**2))**(3/2)) + 1.0*1/(s1**2*s2**2*sqrt(1 + 1.0*1/(s1**2*s2**2)))
+DEAL:Complex float:ASinh:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -1.0*1/(s1**4*s2**4*(1 + 1.0*1/(s1**2*s2**2))**(3/2)) + 1.0*1/(s1**2*s2**2*sqrt(1 + 1.0*1/(s1**2*s2**2)))
+DEAL:Complex float:ASinh:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: -1.0*1/(s1**3*s2**5*(1 + 1.0*1/(s1**2*s2**2))**(3/2)) + 2.0*1/(s1*s2**3*sqrt(1 + 1.0*1/(s1**2*s2**2)))
+DEAL:Complex float:ASinh:Symbolic computation: Substitution::subs_psi: (0.165905,0.00000)
+DEAL:Complex float:ASinh:Symbolic computation: Substitution::subs_dpsi_ds0: (-0.0547997,0.00000)
+DEAL:Complex float:ASinh:Symbolic computation: Substitution::subs_dpsi_ds1: (-0.0821995,0.00000)
+DEAL:Complex float:ASinh:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: (0.0360394,0.00000)
+DEAL:Complex float:ASinh:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: (0.0266593,0.00000)
+DEAL:Complex float:ASinh:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: (0.0266593,0.00000)
+DEAL:Complex float:ASinh:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: (0.0810887,0.00000)
+DEAL:Complex float:ACosh:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Complex float:ACosh:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Complex float:ACosh:Symbolic computation: Function initialisation::symb_psi: acosh(s1*s2)
+DEAL:Complex float:ACosh:Symbolic computation: Differentiation::symb_dpsi_ds0: s2/sqrt(-1 + s1**2*s2**2)
+DEAL:Complex float:ACosh:Symbolic computation: Differentiation::symb_dpsi_ds1: s1/sqrt(-1 + s1**2*s2**2)
+DEAL:Complex float:ACosh:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: -s1*s2**3/(-1 + s1**2*s2**2)**(3/2)
+DEAL:Complex float:ACosh:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -s1**2*s2**2/(-1 + s1**2*s2**2)**(3/2) + (-1 + s1**2*s2**2)**(-1/2)
+DEAL:Complex float:ACosh:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -s1**2*s2**2/(-1 + s1**2*s2**2)**(3/2) + (-1 + s1**2*s2**2)**(-1/2)
+DEAL:Complex float:ACosh:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: -s1**3*s2/(-1 + s1**2*s2**2)**(3/2)
+DEAL:Complex float:ACosh:Symbolic computation: Substitution::subs_psi: (2.47789,0.00000)
+DEAL:Complex float:ACosh:Symbolic computation: Substitution::subs_dpsi_ds0: (0.338062,0.00000)
+DEAL:Complex float:ACosh:Symbolic computation: Substitution::subs_dpsi_ds1: (0.507093,0.00000)
+DEAL:Complex float:ACosh:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: (-0.115907,0.00000)
+DEAL:Complex float:ACosh:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: (-0.00482945,0.00000)
+DEAL:Complex float:ACosh:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: (-0.00482945,0.00000)
+DEAL:Complex float:ACosh:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: (-0.260790,0.00000)
+DEAL:Complex float:ATanh:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Complex float:ATanh:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Complex float:ATanh:Symbolic computation: Function initialisation::symb_psi: atanh(1.0/(s1*s2))
+DEAL:Complex float:ATanh:Symbolic computation: Differentiation::symb_dpsi_ds0: -1.0/(s1**2*s2*(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Complex float:ATanh:Symbolic computation: Differentiation::symb_dpsi_ds1: -1.0/(s1*s2**2*(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Complex float:ATanh:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 2.0*1/(s1**5*s2**3*(1 - 1.0*1/(s1**2*s2**2))**2) + 2.0*1/(s1**3*s2*(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Complex float:ATanh:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: 2.0*1/(s1**4*s2**4*(1 - 1.0*1/(s1**2*s2**2))**2) + 1.0*1/(s1**2*s2**2*(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Complex float:ATanh:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: 2.0*1/(s1**4*s2**4*(1 - 1.0*1/(s1**2*s2**2))**2) + 1.0*1/(s1**2*s2**2*(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Complex float:ATanh:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: 2.0*1/(s1**3*s2**5*(1 - 1.0*1/(s1**2*s2**2))**2) + 2.0*1/(s1*s2**3*(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Complex float:ATanh:Symbolic computation: Substitution::subs_psi: (0.168236,0.00000)
+DEAL:Complex float:ATanh:Symbolic computation: Substitution::subs_dpsi_ds0: (-0.0571429,0.00000)
+DEAL:Complex float:ATanh:Symbolic computation: Substitution::subs_dpsi_ds1: (-0.0857143,0.00000)
+DEAL:Complex float:ATanh:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: (0.0391837,0.00000)
+DEAL:Complex float:ATanh:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: (0.0302041,0.00000)
+DEAL:Complex float:ATanh:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: (0.0302041,0.00000)
+DEAL:Complex float:ATanh:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: (0.0881633,0.00000)
+DEAL:Complex float::OK
+DEAL:Complex double:Add:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Complex double:Add:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Complex double:Add:Symbolic computation: Function initialisation::symb_psi: (s1 + s2)**2
+DEAL:Complex double:Add:Symbolic computation: Differentiation::symb_dpsi_ds0: 2*(s1 + s2)
+DEAL:Complex double:Add:Symbolic computation: Differentiation::symb_dpsi_ds1: 2*(s1 + s2)
+DEAL:Complex double:Add:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 2
+DEAL:Complex double:Add:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: 2
+DEAL:Complex double:Add:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: 2
+DEAL:Complex double:Add:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: 2
+DEAL:Complex double:Add:Symbolic computation: Substitution::subs_psi: (25.0000,0.00000)
+DEAL:Complex double:Add:Symbolic computation: Substitution::subs_dpsi_ds0: (10.0000,0.00000)
+DEAL:Complex double:Add:Symbolic computation: Substitution::subs_dpsi_ds1: (10.0000,0.00000)
+DEAL:Complex double:Add:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: (2.00000,0.00000)
+DEAL:Complex double:Add:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: (2.00000,0.00000)
+DEAL:Complex double:Add:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: (2.00000,0.00000)
+DEAL:Complex double:Add:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: (2.00000,0.00000)
+DEAL:Complex double:Subtract:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Complex double:Subtract:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Complex double:Subtract:Symbolic computation: Function initialisation::symb_psi: (s1 - s2)**2
+DEAL:Complex double:Subtract:Symbolic computation: Differentiation::symb_dpsi_ds0: 2*(s1 - s2)
+DEAL:Complex double:Subtract:Symbolic computation: Differentiation::symb_dpsi_ds1: -2*(s1 - s2)
+DEAL:Complex double:Subtract:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 2
+DEAL:Complex double:Subtract:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -2
+DEAL:Complex double:Subtract:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -2
+DEAL:Complex double:Subtract:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: 2
+DEAL:Complex double:Subtract:Symbolic computation: Substitution::subs_psi: (1.00000,0.00000)
+DEAL:Complex double:Subtract:Symbolic computation: Substitution::subs_dpsi_ds0: (2.00000,0.00000)
+DEAL:Complex double:Subtract:Symbolic computation: Substitution::subs_dpsi_ds1: (-2.00000,0.00000)
+DEAL:Complex double:Subtract:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: (2.00000,0.00000)
+DEAL:Complex double:Subtract:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: (-2.00000,0.00000)
+DEAL:Complex double:Subtract:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: (-2.00000,0.00000)
+DEAL:Complex double:Subtract:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: (2.00000,0.00000)
+DEAL:Complex double:Multiply:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Complex double:Multiply:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Complex double:Multiply:Symbolic computation: Function initialisation::symb_psi: s1**2*s2**2
+DEAL:Complex double:Multiply:Symbolic computation: Differentiation::symb_dpsi_ds0: 2*s1*s2**2
+DEAL:Complex double:Multiply:Symbolic computation: Differentiation::symb_dpsi_ds1: 2*s1**2*s2
+DEAL:Complex double:Multiply:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 2*s2**2
+DEAL:Complex double:Multiply:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: 4*s1*s2
+DEAL:Complex double:Multiply:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: 4*s1*s2
+DEAL:Complex double:Multiply:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: 2*s1**2
+DEAL:Complex double:Multiply:Symbolic computation: Substitution::subs_psi: (36.0000,0.00000)
+DEAL:Complex double:Multiply:Symbolic computation: Substitution::subs_dpsi_ds0: (24.0000,0.00000)
+DEAL:Complex double:Multiply:Symbolic computation: Substitution::subs_dpsi_ds1: (36.0000,0.00000)
+DEAL:Complex double:Multiply:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: (8.00000,0.00000)
+DEAL:Complex double:Multiply:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: (24.0000,0.00000)
+DEAL:Complex double:Multiply:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: (24.0000,0.00000)
+DEAL:Complex double:Multiply:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: (18.0000,0.00000)
+DEAL:Complex double:Divide:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Complex double:Divide:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Complex double:Divide:Symbolic computation: Function initialisation::symb_psi: s1**2/s2**2
+DEAL:Complex double:Divide:Symbolic computation: Differentiation::symb_dpsi_ds0: 2*s1/s2**2
+DEAL:Complex double:Divide:Symbolic computation: Differentiation::symb_dpsi_ds1: -2*s1**2/s2**3
+DEAL:Complex double:Divide:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 2/s2**2
+DEAL:Complex double:Divide:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -4*s1/s2**3
+DEAL:Complex double:Divide:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -4*s1/s2**3
+DEAL:Complex double:Divide:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: 6*s1**2/s2**4
+DEAL:Complex double:Divide:Symbolic computation: Substitution::subs_psi: (2.25000,0.00000)
+DEAL:Complex double:Divide:Symbolic computation: Substitution::subs_dpsi_ds0: (1.50000,0.00000)
+DEAL:Complex double:Divide:Symbolic computation: Substitution::subs_dpsi_ds1: (-2.25000,0.00000)
+DEAL:Complex double:Divide:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: (0.500000,0.00000)
+DEAL:Complex double:Divide:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: (-1.50000,0.00000)
+DEAL:Complex double:Divide:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: (-1.50000,0.00000)
+DEAL:Complex double:Divide:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: (3.37500,0.00000)
+DEAL:Complex double:Power:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Complex double:Power:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Complex double:Power:Symbolic computation: Function initialisation::symb_psi: 2.0*s1**s2
+DEAL:Complex double:Power:Symbolic computation: Differentiation::symb_dpsi_ds0: 2.0*s1**(-1 + s2)*s2
+DEAL:Complex double:Power:Symbolic computation: Differentiation::symb_dpsi_ds1: 2.0*s1**s2*log(s1)
+DEAL:Complex double:Power:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 2.0*s1**(-2 + s2)*s2*(-1 + s2)
+DEAL:Complex double:Power:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: 2.0*s1**(-1 + s2)*s2*log(s1) + 2.0*s1**(-1 + s2)
+DEAL:Complex double:Power:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: 2.0*s1**(-1 + s2)*s2*log(s1) + 2.0*s1**(-1 + s2)
+DEAL:Complex double:Power:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: 2.0*s1**s2*log(s1)**2
+DEAL:Complex double:Power:Symbolic computation: Substitution::subs_psi: (18.0000,0.00000)
+DEAL:Complex double:Power:Symbolic computation: Substitution::subs_dpsi_ds0: (12.0000,0.00000)
+DEAL:Complex double:Power:Symbolic computation: Substitution::subs_dpsi_ds1: (19.7750,0.00000)
+DEAL:Complex double:Power:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: (4.00000,0.00000)
+DEAL:Complex double:Power:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: (19.1833,0.00000)
+DEAL:Complex double:Power:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: (19.1833,0.00000)
+DEAL:Complex double:Power:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: (21.7251,0.00000)
+DEAL:Complex double:Sqrt:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Complex double:Sqrt:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Complex double:Sqrt:Symbolic computation: Function initialisation::symb_psi: 2.0*sqrt(s1*s2)
+DEAL:Complex double:Sqrt:Symbolic computation: Differentiation::symb_dpsi_ds0: 1.0*s2/sqrt(s1*s2)
+DEAL:Complex double:Sqrt:Symbolic computation: Differentiation::symb_dpsi_ds1: 1.0*s1/sqrt(s1*s2)
+DEAL:Complex double:Sqrt:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: -0.5*s2**2/(s1*s2)**(3/2)
+DEAL:Complex double:Sqrt:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -0.5*s1*s2/(s1*s2)**(3/2) + 1.0*(s1*s2)**(-1/2)
+DEAL:Complex double:Sqrt:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -0.5*s1*s2/(s1*s2)**(3/2) + 1.0*(s1*s2)**(-1/2)
+DEAL:Complex double:Sqrt:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: -0.5*s1**2/(s1*s2)**(3/2)
+DEAL:Complex double:Sqrt:Symbolic computation: Substitution::subs_psi: (4.89898,0.00000)
+DEAL:Complex double:Sqrt:Symbolic computation: Substitution::subs_dpsi_ds0: (0.816497,0.00000)
+DEAL:Complex double:Sqrt:Symbolic computation: Substitution::subs_dpsi_ds1: (1.22474,0.00000)
+DEAL:Complex double:Sqrt:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: (-0.136083,0.00000)
+DEAL:Complex double:Sqrt:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: (0.204124,0.00000)
+DEAL:Complex double:Sqrt:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: (0.204124,0.00000)
+DEAL:Complex double:Sqrt:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: (-0.306186,0.00000)
+DEAL:Complex double:Exponential:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Complex double:Exponential:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Complex double:Exponential:Symbolic computation: Function initialisation::symb_psi: exp(s2)*s1**2
+DEAL:Complex double:Exponential:Symbolic computation: Differentiation::symb_dpsi_ds0: 2*exp(s2)*s1
+DEAL:Complex double:Exponential:Symbolic computation: Differentiation::symb_dpsi_ds1: exp(s2)*s1**2
+DEAL:Complex double:Exponential:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 2*exp(s2)
+DEAL:Complex double:Exponential:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: 2*exp(s2)*s1
+DEAL:Complex double:Exponential:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: 2*exp(s2)*s1
+DEAL:Complex double:Exponential:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: exp(s2)*s1**2
+DEAL:Complex double:Exponential:Symbolic computation: Substitution::subs_psi: (66.5015,0.00000)
+DEAL:Complex double:Exponential:Symbolic computation: Substitution::subs_dpsi_ds0: (44.3343,0.00000)
+DEAL:Complex double:Exponential:Symbolic computation: Substitution::subs_dpsi_ds1: (66.5015,0.00000)
+DEAL:Complex double:Exponential:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: (14.7781,0.00000)
+DEAL:Complex double:Exponential:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: (44.3343,0.00000)
+DEAL:Complex double:Exponential:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: (44.3343,0.00000)
+DEAL:Complex double:Exponential:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: (66.5015,0.00000)
+DEAL:Complex double:Logarithm:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Complex double:Logarithm:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Complex double:Logarithm:Symbolic computation: Function initialisation::symb_psi: s1**2*log(s2)
+DEAL:Complex double:Logarithm:Symbolic computation: Differentiation::symb_dpsi_ds0: 2*s1*log(s2)
+DEAL:Complex double:Logarithm:Symbolic computation: Differentiation::symb_dpsi_ds1: s1**2/s2
+DEAL:Complex double:Logarithm:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 2*log(s2)
+DEAL:Complex double:Logarithm:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: 2*s1/s2
+DEAL:Complex double:Logarithm:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: 2*s1/s2
+DEAL:Complex double:Logarithm:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: -s1**2/s2**2
+DEAL:Complex double:Logarithm:Symbolic computation: Substitution::subs_psi: (6.23832,0.00000)
+DEAL:Complex double:Logarithm:Symbolic computation: Substitution::subs_dpsi_ds0: (4.15888,0.00000)
+DEAL:Complex double:Logarithm:Symbolic computation: Substitution::subs_dpsi_ds1: (4.50000,0.00000)
+DEAL:Complex double:Logarithm:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: (1.38629,0.00000)
+DEAL:Complex double:Logarithm:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: (3.00000,0.00000)
+DEAL:Complex double:Logarithm:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: (3.00000,0.00000)
+DEAL:Complex double:Logarithm:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: (-2.25000,0.00000)
+DEAL:Complex double:Logarithm with Base:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Complex double:Logarithm with Base:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Complex double:Logarithm with Base:Symbolic computation: Function initialisation::symb_psi: log(s2)/log(s1)
+DEAL:Complex double:Logarithm with Base:Symbolic computation: Differentiation::symb_dpsi_ds0: -log(s2)/(s1*log(s1)**2)
+DEAL:Complex double:Logarithm with Base:Symbolic computation: Differentiation::symb_dpsi_ds1: 1/(s2*log(s1))
+DEAL:Complex double:Logarithm with Base:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 2*log(s2)/(s1**2*log(s1)**3) + log(s2)/(s1**2*log(s1)**2)
+DEAL:Complex double:Logarithm with Base:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -1/(s1*s2*log(s1)**2)
+DEAL:Complex double:Logarithm with Base:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -1/(s1*s2*log(s1)**2)
+DEAL:Complex double:Logarithm with Base:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: -1/(s2**2*log(s1))
+DEAL:Complex double:Logarithm with Base:Symbolic computation: Substitution::subs_psi: (0.630930,0.00000)
+DEAL:Complex double:Logarithm with Base:Symbolic computation: Substitution::subs_dpsi_ds0: (-0.191432,0.00000)
+DEAL:Complex double:Logarithm with Base:Symbolic computation: Substitution::subs_dpsi_ds1: (0.455120,0.00000)
+DEAL:Complex double:Logarithm with Base:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: (0.179977,0.00000)
+DEAL:Complex double:Logarithm with Base:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: (-0.138089,0.00000)
+DEAL:Complex double:Logarithm with Base:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: (-0.138089,0.00000)
+DEAL:Complex double:Logarithm with Base:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: (-0.227560,0.00000)
+DEAL:Complex double:Logarithm base 10:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Complex double:Logarithm base 10:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Complex double:Logarithm base 10:Symbolic computation: Function initialisation::symb_psi: 0.434294481903252*s1**2*log(s2)
+DEAL:Complex double:Logarithm base 10:Symbolic computation: Differentiation::symb_dpsi_ds0: 0.868588963806504*s1*log(s2)
+DEAL:Complex double:Logarithm base 10:Symbolic computation: Differentiation::symb_dpsi_ds1: 0.434294481903252*s1**2/s2
+DEAL:Complex double:Logarithm base 10:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 0.868588963806504*log(s2)
+DEAL:Complex double:Logarithm base 10:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: 0.868588963806504*s1/s2
+DEAL:Complex double:Logarithm base 10:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: 0.868588963806504*s1/s2
+DEAL:Complex double:Logarithm base 10:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: -0.434294481903252*s1**2/s2**2
+DEAL:Complex double:Logarithm base 10:Symbolic computation: Substitution::subs_psi: (2.70927,0.00000)
+DEAL:Complex double:Logarithm base 10:Symbolic computation: Substitution::subs_dpsi_ds0: (1.80618,0.00000)
+DEAL:Complex double:Logarithm base 10:Symbolic computation: Substitution::subs_dpsi_ds1: (1.95433,0.00000)
+DEAL:Complex double:Logarithm base 10:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: (0.602060,0.00000)
+DEAL:Complex double:Logarithm base 10:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: (1.30288,0.00000)
+DEAL:Complex double:Logarithm base 10:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: (1.30288,0.00000)
+DEAL:Complex double:Logarithm base 10:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: (-0.977163,0.00000)
+DEAL:Complex double:Sin:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Complex double:Sin:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Complex double:Sin:Symbolic computation: Function initialisation::symb_psi: sin(s2/s1)
+DEAL:Complex double:Sin:Symbolic computation: Differentiation::symb_dpsi_ds0: -s2*cos(s2/s1)/s1**2
+DEAL:Complex double:Sin:Symbolic computation: Differentiation::symb_dpsi_ds1: cos(s2/s1)/s1
+DEAL:Complex double:Sin:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: -s2**2*sin(s2/s1)/s1**4 + 2*s2*cos(s2/s1)/s1**3
+DEAL:Complex double:Sin:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -cos(s2/s1)/s1**2 + s2*sin(s2/s1)/s1**3
+DEAL:Complex double:Sin:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -cos(s2/s1)/s1**2 + s2*sin(s2/s1)/s1**3
+DEAL:Complex double:Sin:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: -sin(s2/s1)/s1**2
+DEAL:Complex double:Sin:Symbolic computation: Substitution::subs_psi: (0.618370,0.00000)
+DEAL:Complex double:Sin:Symbolic computation: Substitution::subs_dpsi_ds0: (-0.174642,0.00000)
+DEAL:Complex double:Sin:Symbolic computation: Substitution::subs_dpsi_ds1: (0.261962,0.00000)
+DEAL:Complex double:Sin:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: (0.0858910,0.00000)
+DEAL:Complex double:Sin:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: (-0.0415156,0.00000)
+DEAL:Complex double:Sin:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: (-0.0415156,0.00000)
+DEAL:Complex double:Sin:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: (-0.0687078,0.00000)
+DEAL:Complex double:Cos:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Complex double:Cos:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Complex double:Cos:Symbolic computation: Function initialisation::symb_psi: cos(s2/s1)
+DEAL:Complex double:Cos:Symbolic computation: Differentiation::symb_dpsi_ds0: s2*sin(s2/s1)/s1**2
+DEAL:Complex double:Cos:Symbolic computation: Differentiation::symb_dpsi_ds1: -sin(s2/s1)/s1
+DEAL:Complex double:Cos:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: -s2**2*cos(s2/s1)/s1**4 - 2*s2*sin(s2/s1)/s1**3
+DEAL:Complex double:Cos:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: sin(s2/s1)/s1**2 + s2*cos(s2/s1)/s1**3
+DEAL:Complex double:Cos:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: sin(s2/s1)/s1**2 + s2*cos(s2/s1)/s1**3
+DEAL:Complex double:Cos:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: -cos(s2/s1)/s1**2
+DEAL:Complex double:Cos:Symbolic computation: Substitution::subs_psi: (0.785887,0.00000)
+DEAL:Complex double:Cos:Symbolic computation: Substitution::subs_dpsi_ds0: (0.137416,0.00000)
+DEAL:Complex double:Cos:Symbolic computation: Substitution::subs_dpsi_ds1: (-0.206123,0.00000)
+DEAL:Complex double:Cos:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: (-0.130420,0.00000)
+DEAL:Complex double:Cos:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: (0.126922,0.00000)
+DEAL:Complex double:Cos:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: (0.126922,0.00000)
+DEAL:Complex double:Cos:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: (-0.0873208,0.00000)
+DEAL:Complex double:Tan:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Complex double:Tan:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Complex double:Tan:Symbolic computation: Function initialisation::symb_psi: tan(s2/s1)
+DEAL:Complex double:Tan:Symbolic computation: Differentiation::symb_dpsi_ds0: -s2*(1 + tan(s2/s1)**2)/s1**2
+DEAL:Complex double:Tan:Symbolic computation: Differentiation::symb_dpsi_ds1: (1 + tan(s2/s1)**2)/s1
+DEAL:Complex double:Tan:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 2*s2*(1 + tan(s2/s1)**2)/s1**3 + 2*s2**2*tan(s2/s1)*(1 + tan(s2/s1)**2)/s1**4
+DEAL:Complex double:Tan:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -(1 + tan(s2/s1)**2)/s1**2 - 2*s2*tan(s2/s1)*(1 + tan(s2/s1)**2)/s1**3
+DEAL:Complex double:Tan:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -(1 + tan(s2/s1)**2)/s1**2 - 2*s2*tan(s2/s1)*(1 + tan(s2/s1)**2)/s1**3
+DEAL:Complex double:Tan:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: 2*tan(s2/s1)*(1 + tan(s2/s1)**2)/s1**2
+DEAL:Complex double:Tan:Symbolic computation: Substitution::subs_psi: (0.786843,0.00000)
+DEAL:Complex double:Tan:Symbolic computation: Substitution::subs_dpsi_ds0: (-0.359805,0.00000)
+DEAL:Complex double:Tan:Symbolic computation: Substitution::subs_dpsi_ds1: (0.539707,0.00000)
+DEAL:Complex double:Tan:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: (0.365696,0.00000)
+DEAL:Complex double:Tan:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: (-0.368642,0.00000)
+DEAL:Complex double:Tan:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: (-0.368642,0.00000)
+DEAL:Complex double:Tan:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: (0.283110,0.00000)
+DEAL:Complex double:ASin:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Complex double:ASin:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Complex double:ASin:Symbolic computation: Function initialisation::symb_psi: asin(1.0/(s1*s2))
+DEAL:Complex double:ASin:Symbolic computation: Differentiation::symb_dpsi_ds0: -1.0/(s1**2*s2*sqrt(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Complex double:ASin:Symbolic computation: Differentiation::symb_dpsi_ds1: -1.0/(s1*s2**2*sqrt(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Complex double:ASin:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 1.0*1/(s1**5*s2**3*(1 - 1.0*1/(s1**2*s2**2))**(3/2)) + 2.0*1/(s1**3*s2*sqrt(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Complex double:ASin:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: 1.0*1/(s1**4*s2**4*(1 - 1.0*1/(s1**2*s2**2))**(3/2)) + 1.0*1/(s1**2*s2**2*sqrt(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Complex double:ASin:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: 1.0*1/(s1**4*s2**4*(1 - 1.0*1/(s1**2*s2**2))**(3/2)) + 1.0*1/(s1**2*s2**2*sqrt(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Complex double:ASin:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: 1.0*1/(s1**3*s2**5*(1 - 1.0*1/(s1**2*s2**2))**(3/2)) + 2.0*1/(s1*s2**3*sqrt(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Complex double:ASin:Symbolic computation: Substitution::subs_psi: (0.167448,0.00000)
+DEAL:Complex double:ASin:Symbolic computation: Substitution::subs_dpsi_ds0: (-0.0563436,0.00000)
+DEAL:Complex double:ASin:Symbolic computation: Substitution::subs_dpsi_ds1: (-0.0845154,0.00000)
+DEAL:Complex double:ASin:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: (0.0380990,0.00000)
+DEAL:Complex double:ASin:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: (0.0289767,0.00000)
+DEAL:Complex double:ASin:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: (0.0289767,0.00000)
+DEAL:Complex double:ASin:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: (0.0857228,0.00000)
+DEAL:Complex double:ACos:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Complex double:ACos:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Complex double:ACos:Symbolic computation: Function initialisation::symb_psi: acos(1.0/(s1*s2))
+DEAL:Complex double:ACos:Symbolic computation: Differentiation::symb_dpsi_ds0: 1.0/(s1**2*s2*sqrt(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Complex double:ACos:Symbolic computation: Differentiation::symb_dpsi_ds1: 1.0/(s1*s2**2*sqrt(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Complex double:ACos:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: -1.0*1/(s1**5*s2**3*(1 - 1.0*1/(s1**2*s2**2))**(3/2)) - 2.0*1/(s1**3*s2*sqrt(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Complex double:ACos:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -1.0*1/(s1**4*s2**4*(1 - 1.0*1/(s1**2*s2**2))**(3/2)) - 1.0*1/(s1**2*s2**2*sqrt(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Complex double:ACos:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -1.0*1/(s1**4*s2**4*(1 - 1.0*1/(s1**2*s2**2))**(3/2)) - 1.0*1/(s1**2*s2**2*sqrt(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Complex double:ACos:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: -1.0*1/(s1**3*s2**5*(1 - 1.0*1/(s1**2*s2**2))**(3/2)) - 2.0*1/(s1*s2**3*sqrt(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Complex double:ACos:Symbolic computation: Substitution::subs_psi: (1.40335,0.00000)
+DEAL:Complex double:ACos:Symbolic computation: Substitution::subs_dpsi_ds0: (0.0563436,0.00000)
+DEAL:Complex double:ACos:Symbolic computation: Substitution::subs_dpsi_ds1: (0.0845154,0.00000)
+DEAL:Complex double:ACos:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: (-0.0380990,0.00000)
+DEAL:Complex double:ACos:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: (-0.0289767,0.00000)
+DEAL:Complex double:ACos:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: (-0.0289767,0.00000)
+DEAL:Complex double:ACos:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: (-0.0857228,0.00000)
+DEAL:Complex double:ATan:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Complex double:ATan:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Complex double:ATan:Symbolic computation: Function initialisation::symb_psi: atan(1.0/(s1*s2))
+DEAL:Complex double:ATan:Symbolic computation: Differentiation::symb_dpsi_ds0: -1.0/(s1**2*s2*(1 + 1.0*1/(s1**2*s2**2)))
+DEAL:Complex double:ATan:Symbolic computation: Differentiation::symb_dpsi_ds1: -1.0/(s1*s2**2*(1 + 1.0*1/(s1**2*s2**2)))
+DEAL:Complex double:ATan:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: -2.0*1/(s1**5*s2**3*(1 + 1.0*1/(s1**2*s2**2))**2) + 2.0*1/(s1**3*s2*(1 + 1.0*1/(s1**2*s2**2)))
+DEAL:Complex double:ATan:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -2.0*1/(s1**4*s2**4*(1 + 1.0*1/(s1**2*s2**2))**2) + 1.0*1/(s1**2*s2**2*(1 + 1.0*1/(s1**2*s2**2)))
+DEAL:Complex double:ATan:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -2.0*1/(s1**4*s2**4*(1 + 1.0*1/(s1**2*s2**2))**2) + 1.0*1/(s1**2*s2**2*(1 + 1.0*1/(s1**2*s2**2)))
+DEAL:Complex double:ATan:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: -2.0*1/(s1**3*s2**5*(1 + 1.0*1/(s1**2*s2**2))**2) + 2.0*1/(s1*s2**3*(1 + 1.0*1/(s1**2*s2**2)))
+DEAL:Complex double:ATan:Symbolic computation: Substitution::subs_psi: (0.165149,0.00000)
+DEAL:Complex double:ATan:Symbolic computation: Substitution::subs_dpsi_ds0: (-0.0540541,0.00000)
+DEAL:Complex double:ATan:Symbolic computation: Substitution::subs_dpsi_ds1: (-0.0810811,0.00000)
+DEAL:Complex double:ATan:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: (0.0350621,0.00000)
+DEAL:Complex double:ATan:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: (0.0255661,0.00000)
+DEAL:Complex double:ATan:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: (0.0255661,0.00000)
+DEAL:Complex double:ATan:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: (0.0788897,0.00000)
+DEAL:Complex double:Sinh:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Complex double:Sinh:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Complex double:Sinh:Symbolic computation: Function initialisation::symb_psi: sinh(s2/s1)
+DEAL:Complex double:Sinh:Symbolic computation: Differentiation::symb_dpsi_ds0: -s2*cosh(s2/s1)/s1**2
+DEAL:Complex double:Sinh:Symbolic computation: Differentiation::symb_dpsi_ds1: cosh(s2/s1)/s1
+DEAL:Complex double:Sinh:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: s2**2*sinh(s2/s1)/s1**4 + 2*s2*cosh(s2/s1)/s1**3
+DEAL:Complex double:Sinh:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -cosh(s2/s1)/s1**2 - s2*sinh(s2/s1)/s1**3
+DEAL:Complex double:Sinh:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -cosh(s2/s1)/s1**2 - s2*sinh(s2/s1)/s1**3
+DEAL:Complex double:Sinh:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: sinh(s2/s1)/s1**2
+DEAL:Complex double:Sinh:Symbolic computation: Substitution::subs_psi: (0.717158,0.00000)
+DEAL:Complex double:Sinh:Symbolic computation: Substitution::subs_dpsi_ds0: (-0.273461,0.00000)
+DEAL:Complex double:Sinh:Symbolic computation: Substitution::subs_dpsi_ds1: (0.410192,0.00000)
+DEAL:Complex double:Sinh:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: (0.217723,0.00000)
+DEAL:Complex double:Sinh:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: (-0.189853,0.00000)
+DEAL:Complex double:Sinh:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: (-0.189853,0.00000)
+DEAL:Complex double:Sinh:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: (0.0796843,0.00000)
+DEAL:Complex double:Cosh:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Complex double:Cosh:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Complex double:Cosh:Symbolic computation: Function initialisation::symb_psi: cosh(s2/s1)
+DEAL:Complex double:Cosh:Symbolic computation: Differentiation::symb_dpsi_ds0: -s2*sinh(s2/s1)/s1**2
+DEAL:Complex double:Cosh:Symbolic computation: Differentiation::symb_dpsi_ds1: sinh(s2/s1)/s1
+DEAL:Complex double:Cosh:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: s2**2*cosh(s2/s1)/s1**4 + 2*s2*sinh(s2/s1)/s1**3
+DEAL:Complex double:Cosh:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -sinh(s2/s1)/s1**2 - s2*cosh(s2/s1)/s1**3
+DEAL:Complex double:Cosh:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -sinh(s2/s1)/s1**2 - s2*cosh(s2/s1)/s1**3
+DEAL:Complex double:Cosh:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: cosh(s2/s1)/s1**2
+DEAL:Complex double:Cosh:Symbolic computation: Substitution::subs_psi: (1.23058,0.00000)
+DEAL:Complex double:Cosh:Symbolic computation: Substitution::subs_dpsi_ds0: (-0.159369,0.00000)
+DEAL:Complex double:Cosh:Symbolic computation: Substitution::subs_dpsi_ds1: (0.239053,0.00000)
+DEAL:Complex double:Cosh:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: (0.167015,0.00000)
+DEAL:Complex double:Cosh:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: (-0.170838,0.00000)
+DEAL:Complex double:Cosh:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: (-0.170838,0.00000)
+DEAL:Complex double:Cosh:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: (0.136731,0.00000)
+DEAL:Complex double:Tanh:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Complex double:Tanh:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Complex double:Tanh:Symbolic computation: Function initialisation::symb_psi: tanh(s2/s1)
+DEAL:Complex double:Tanh:Symbolic computation: Differentiation::symb_dpsi_ds0: -s2*(1 - tanh(s2/s1)**2)/s1**2
+DEAL:Complex double:Tanh:Symbolic computation: Differentiation::symb_dpsi_ds1: (1 - tanh(s2/s1)**2)/s1
+DEAL:Complex double:Tanh:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 2*s2*(1 - tanh(s2/s1)**2)/s1**3 - 2*s2**2*tanh(s2/s1)*(1 - tanh(s2/s1)**2)/s1**4
+DEAL:Complex double:Tanh:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -(1 - tanh(s2/s1)**2)/s1**2 + 2*s2*tanh(s2/s1)*(1 - tanh(s2/s1)**2)/s1**3
+DEAL:Complex double:Tanh:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -(1 - tanh(s2/s1)**2)/s1**2 + 2*s2*tanh(s2/s1)*(1 - tanh(s2/s1)**2)/s1**3
+DEAL:Complex double:Tanh:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: -2*tanh(s2/s1)*(1 - tanh(s2/s1)**2)/s1**2
+DEAL:Complex double:Tanh:Symbolic computation: Substitution::subs_psi: (0.582783,0.00000)
+DEAL:Complex double:Tanh:Symbolic computation: Substitution::subs_dpsi_ds0: (-0.146748,0.00000)
+DEAL:Complex double:Tanh:Symbolic computation: Substitution::subs_dpsi_ds1: (0.220121,0.00000)
+DEAL:Complex double:Tanh:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: (0.0598219,0.00000)
+DEAL:Complex double:Tanh:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: (-0.0163591,0.00000)
+DEAL:Complex double:Tanh:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: (-0.0163591,0.00000)
+DEAL:Complex double:Tanh:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: (-0.0855220,0.00000)
+DEAL:Complex double:ASinh:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Complex double:ASinh:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Complex double:ASinh:Symbolic computation: Function initialisation::symb_psi: asinh(1.0/(s1*s2))
+DEAL:Complex double:ASinh:Symbolic computation: Differentiation::symb_dpsi_ds0: -1.0/(s1**2*s2*sqrt(1 + 1.0*1/(s1**2*s2**2)))
+DEAL:Complex double:ASinh:Symbolic computation: Differentiation::symb_dpsi_ds1: -1.0/(s1*s2**2*sqrt(1 + 1.0*1/(s1**2*s2**2)))
+DEAL:Complex double:ASinh:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: -1.0*1/(s1**5*s2**3*(1 + 1.0*1/(s1**2*s2**2))**(3/2)) + 2.0*1/(s1**3*s2*sqrt(1 + 1.0*1/(s1**2*s2**2)))
+DEAL:Complex double:ASinh:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -1.0*1/(s1**4*s2**4*(1 + 1.0*1/(s1**2*s2**2))**(3/2)) + 1.0*1/(s1**2*s2**2*sqrt(1 + 1.0*1/(s1**2*s2**2)))
+DEAL:Complex double:ASinh:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -1.0*1/(s1**4*s2**4*(1 + 1.0*1/(s1**2*s2**2))**(3/2)) + 1.0*1/(s1**2*s2**2*sqrt(1 + 1.0*1/(s1**2*s2**2)))
+DEAL:Complex double:ASinh:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: -1.0*1/(s1**3*s2**5*(1 + 1.0*1/(s1**2*s2**2))**(3/2)) + 2.0*1/(s1*s2**3*sqrt(1 + 1.0*1/(s1**2*s2**2)))
+DEAL:Complex double:ASinh:Symbolic computation: Substitution::subs_psi: (0.165905,0.00000)
+DEAL:Complex double:ASinh:Symbolic computation: Substitution::subs_dpsi_ds0: (-0.0547997,0.00000)
+DEAL:Complex double:ASinh:Symbolic computation: Substitution::subs_dpsi_ds1: (-0.0821995,0.00000)
+DEAL:Complex double:ASinh:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: (0.0360394,0.00000)
+DEAL:Complex double:ASinh:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: (0.0266593,0.00000)
+DEAL:Complex double:ASinh:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: (0.0266593,0.00000)
+DEAL:Complex double:ASinh:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: (0.0810887,0.00000)
+DEAL:Complex double:ACosh:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Complex double:ACosh:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Complex double:ACosh:Symbolic computation: Function initialisation::symb_psi: acosh(s1*s2)
+DEAL:Complex double:ACosh:Symbolic computation: Differentiation::symb_dpsi_ds0: s2/sqrt(-1 + s1**2*s2**2)
+DEAL:Complex double:ACosh:Symbolic computation: Differentiation::symb_dpsi_ds1: s1/sqrt(-1 + s1**2*s2**2)
+DEAL:Complex double:ACosh:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: -s1*s2**3/(-1 + s1**2*s2**2)**(3/2)
+DEAL:Complex double:ACosh:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -s1**2*s2**2/(-1 + s1**2*s2**2)**(3/2) + (-1 + s1**2*s2**2)**(-1/2)
+DEAL:Complex double:ACosh:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -s1**2*s2**2/(-1 + s1**2*s2**2)**(3/2) + (-1 + s1**2*s2**2)**(-1/2)
+DEAL:Complex double:ACosh:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: -s1**3*s2/(-1 + s1**2*s2**2)**(3/2)
+DEAL:Complex double:ACosh:Symbolic computation: Substitution::subs_psi: (2.47789,0.00000)
+DEAL:Complex double:ACosh:Symbolic computation: Substitution::subs_dpsi_ds0: (0.338062,0.00000)
+DEAL:Complex double:ACosh:Symbolic computation: Substitution::subs_dpsi_ds1: (0.507093,0.00000)
+DEAL:Complex double:ACosh:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: (-0.115907,0.00000)
+DEAL:Complex double:ACosh:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: (-0.00482945,0.00000)
+DEAL:Complex double:ACosh:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: (-0.00482945,0.00000)
+DEAL:Complex double:ACosh:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: (-0.260790,0.00000)
+DEAL:Complex double:ATanh:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Complex double:ATanh:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Complex double:ATanh:Symbolic computation: Function initialisation::symb_psi: atanh(1.0/(s1*s2))
+DEAL:Complex double:ATanh:Symbolic computation: Differentiation::symb_dpsi_ds0: -1.0/(s1**2*s2*(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Complex double:ATanh:Symbolic computation: Differentiation::symb_dpsi_ds1: -1.0/(s1*s2**2*(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Complex double:ATanh:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 2.0*1/(s1**5*s2**3*(1 - 1.0*1/(s1**2*s2**2))**2) + 2.0*1/(s1**3*s2*(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Complex double:ATanh:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: 2.0*1/(s1**4*s2**4*(1 - 1.0*1/(s1**2*s2**2))**2) + 1.0*1/(s1**2*s2**2*(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Complex double:ATanh:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: 2.0*1/(s1**4*s2**4*(1 - 1.0*1/(s1**2*s2**2))**2) + 1.0*1/(s1**2*s2**2*(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Complex double:ATanh:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: 2.0*1/(s1**3*s2**5*(1 - 1.0*1/(s1**2*s2**2))**2) + 2.0*1/(s1*s2**3*(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Complex double:ATanh:Symbolic computation: Substitution::subs_psi: (0.168236,0.00000)
+DEAL:Complex double:ATanh:Symbolic computation: Substitution::subs_dpsi_ds0: (-0.0571429,0.00000)
+DEAL:Complex double:ATanh:Symbolic computation: Substitution::subs_dpsi_ds1: (-0.0857143,0.00000)
+DEAL:Complex double:ATanh:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: (0.0391837,0.00000)
+DEAL:Complex double:ATanh:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: (0.0302041,0.00000)
+DEAL:Complex double:ATanh:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: (0.0302041,0.00000)
+DEAL:Complex double:ATanh:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: (0.0881633,0.00000)
+DEAL:Complex double::OK
+DEAL::OK
diff --git a/tests/symengine/batch_optimizer_01_3a.cc b/tests/symengine/batch_optimizer_01_3a.cc
new file mode 100644 (file)
index 0000000..e75bd61
--- /dev/null
@@ -0,0 +1,41 @@
+// ---------------------------------------------------------------------
+//
+// Copyright (C) 2020 by the deal.II authors
+//
+// This file is part of the deal.II library.
+//
+// The deal.II library is free software; you can use it, redistribute
+// it, and/or modify it under the terms of the GNU Lesser General
+// Public License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+// The full text of the license can be found in the file LICENSE at
+// the top level of the deal.II distribution.
+//
+// ---------------------------------------------------------------------
+
+
+// Test that all of the low-level math operations function as expected
+// and that their values and derivatives can be computed using the
+// optimizer.
+// For this test the optimizer is in mode "llvm", i.e. using optimisation
+// via the LLVM JIT compiler.
+// This test is based on function_verification_01.cc
+
+#include "../tests.h"
+
+#include "sd_common_tests/batch_optimizer_01.h"
+
+
+int
+main()
+{
+  initlog();
+
+  const enum SD::OptimizerType     opt_method = SD::OptimizerType::llvm;
+  const enum SD::OptimizationFlags opt_flags =
+    SD::OptimizationFlags::optimize_default;
+
+  run_tests<opt_method, opt_flags>();
+
+  deallog << "OK" << std::endl;
+}
diff --git a/tests/symengine/batch_optimizer_01_3a.with_symengine_with_llvm=true.output b/tests/symengine/batch_optimizer_01_3a.with_symengine_with_llvm=true.output
new file mode 100644 (file)
index 0000000..dd74db6
--- /dev/null
@@ -0,0 +1,804 @@
+
+DEAL:Float:Add:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Float:Add:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Float:Add:Symbolic computation: Function initialisation::symb_psi: (s1 + s2)**2
+DEAL:Float:Add:Symbolic computation: Differentiation::symb_dpsi_ds0: 2*(s1 + s2)
+DEAL:Float:Add:Symbolic computation: Differentiation::symb_dpsi_ds1: 2*(s1 + s2)
+DEAL:Float:Add:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 2
+DEAL:Float:Add:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: 2
+DEAL:Float:Add:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: 2
+DEAL:Float:Add:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: 2
+DEAL:Float:Add:Symbolic computation: Substitution::subs_psi: 25.0000
+DEAL:Float:Add:Symbolic computation: Substitution::subs_dpsi_ds0: 10.0000
+DEAL:Float:Add:Symbolic computation: Substitution::subs_dpsi_ds1: 10.0000
+DEAL:Float:Add:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: 2.00000
+DEAL:Float:Add:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: 2.00000
+DEAL:Float:Add:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: 2.00000
+DEAL:Float:Add:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: 2.00000
+DEAL:Float:Subtract:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Float:Subtract:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Float:Subtract:Symbolic computation: Function initialisation::symb_psi: (s1 - s2)**2
+DEAL:Float:Subtract:Symbolic computation: Differentiation::symb_dpsi_ds0: 2*(s1 - s2)
+DEAL:Float:Subtract:Symbolic computation: Differentiation::symb_dpsi_ds1: -2*(s1 - s2)
+DEAL:Float:Subtract:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 2
+DEAL:Float:Subtract:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -2
+DEAL:Float:Subtract:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -2
+DEAL:Float:Subtract:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: 2
+DEAL:Float:Subtract:Symbolic computation: Substitution::subs_psi: 1.00000
+DEAL:Float:Subtract:Symbolic computation: Substitution::subs_dpsi_ds0: 2.00000
+DEAL:Float:Subtract:Symbolic computation: Substitution::subs_dpsi_ds1: -2.00000
+DEAL:Float:Subtract:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: 2.00000
+DEAL:Float:Subtract:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: -2.00000
+DEAL:Float:Subtract:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: -2.00000
+DEAL:Float:Subtract:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: 2.00000
+DEAL:Float:Multiply:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Float:Multiply:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Float:Multiply:Symbolic computation: Function initialisation::symb_psi: s1**2*s2**2
+DEAL:Float:Multiply:Symbolic computation: Differentiation::symb_dpsi_ds0: 2*s1*s2**2
+DEAL:Float:Multiply:Symbolic computation: Differentiation::symb_dpsi_ds1: 2*s1**2*s2
+DEAL:Float:Multiply:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 2*s2**2
+DEAL:Float:Multiply:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: 4*s1*s2
+DEAL:Float:Multiply:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: 4*s1*s2
+DEAL:Float:Multiply:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: 2*s1**2
+DEAL:Float:Multiply:Symbolic computation: Substitution::subs_psi: 36.0000
+DEAL:Float:Multiply:Symbolic computation: Substitution::subs_dpsi_ds0: 24.0000
+DEAL:Float:Multiply:Symbolic computation: Substitution::subs_dpsi_ds1: 36.0000
+DEAL:Float:Multiply:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: 8.00000
+DEAL:Float:Multiply:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: 24.0000
+DEAL:Float:Multiply:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: 24.0000
+DEAL:Float:Multiply:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: 18.0000
+DEAL:Float:Divide:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Float:Divide:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Float:Divide:Symbolic computation: Function initialisation::symb_psi: s1**2/s2**2
+DEAL:Float:Divide:Symbolic computation: Differentiation::symb_dpsi_ds0: 2*s1/s2**2
+DEAL:Float:Divide:Symbolic computation: Differentiation::symb_dpsi_ds1: -2*s1**2/s2**3
+DEAL:Float:Divide:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 2/s2**2
+DEAL:Float:Divide:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -4*s1/s2**3
+DEAL:Float:Divide:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -4*s1/s2**3
+DEAL:Float:Divide:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: 6*s1**2/s2**4
+DEAL:Float:Divide:Symbolic computation: Substitution::subs_psi: 2.25000
+DEAL:Float:Divide:Symbolic computation: Substitution::subs_dpsi_ds0: 1.50000
+DEAL:Float:Divide:Symbolic computation: Substitution::subs_dpsi_ds1: -2.25000
+DEAL:Float:Divide:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: 0.500000
+DEAL:Float:Divide:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: -1.50000
+DEAL:Float:Divide:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: -1.50000
+DEAL:Float:Divide:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: 3.37500
+DEAL:Float:Power:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Float:Power:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Float:Power:Symbolic computation: Function initialisation::symb_psi: 2.0*s1**s2
+DEAL:Float:Power:Symbolic computation: Differentiation::symb_dpsi_ds0: 2.0*s1**(-1 + s2)*s2
+DEAL:Float:Power:Symbolic computation: Differentiation::symb_dpsi_ds1: 2.0*s1**s2*log(s1)
+DEAL:Float:Power:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 2.0*s1**(-2 + s2)*s2*(-1 + s2)
+DEAL:Float:Power:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: 2.0*s1**(-1 + s2)*s2*log(s1) + 2.0*s1**(-1 + s2)
+DEAL:Float:Power:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: 2.0*s1**(-1 + s2)*s2*log(s1) + 2.0*s1**(-1 + s2)
+DEAL:Float:Power:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: 2.0*s1**s2*log(s1)**2
+DEAL:Float:Power:Symbolic computation: Substitution::subs_psi: 18.0000
+DEAL:Float:Power:Symbolic computation: Substitution::subs_dpsi_ds0: 12.0000
+DEAL:Float:Power:Symbolic computation: Substitution::subs_dpsi_ds1: 19.7750
+DEAL:Float:Power:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: 4.00000
+DEAL:Float:Power:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: 19.1833
+DEAL:Float:Power:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: 19.1833
+DEAL:Float:Power:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: 21.7251
+DEAL:Float:Sqrt:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Float:Sqrt:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Float:Sqrt:Symbolic computation: Function initialisation::symb_psi: 2.0*sqrt(s1*s2)
+DEAL:Float:Sqrt:Symbolic computation: Differentiation::symb_dpsi_ds0: 1.0*s2/sqrt(s1*s2)
+DEAL:Float:Sqrt:Symbolic computation: Differentiation::symb_dpsi_ds1: 1.0*s1/sqrt(s1*s2)
+DEAL:Float:Sqrt:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: -0.5*s2**2/(s1*s2)**(3/2)
+DEAL:Float:Sqrt:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -0.5*s1*s2/(s1*s2)**(3/2) + 1.0*(s1*s2)**(-1/2)
+DEAL:Float:Sqrt:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -0.5*s1*s2/(s1*s2)**(3/2) + 1.0*(s1*s2)**(-1/2)
+DEAL:Float:Sqrt:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: -0.5*s1**2/(s1*s2)**(3/2)
+DEAL:Float:Sqrt:Symbolic computation: Substitution::subs_psi: 4.89898
+DEAL:Float:Sqrt:Symbolic computation: Substitution::subs_dpsi_ds0: 0.816497
+DEAL:Float:Sqrt:Symbolic computation: Substitution::subs_dpsi_ds1: 1.22474
+DEAL:Float:Sqrt:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: -0.136083
+DEAL:Float:Sqrt:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: 0.204124
+DEAL:Float:Sqrt:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: 0.204124
+DEAL:Float:Sqrt:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: -0.306186
+DEAL:Float:Exponential:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Float:Exponential:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Float:Exponential:Symbolic computation: Function initialisation::symb_psi: exp(s2)*s1**2
+DEAL:Float:Exponential:Symbolic computation: Differentiation::symb_dpsi_ds0: 2*exp(s2)*s1
+DEAL:Float:Exponential:Symbolic computation: Differentiation::symb_dpsi_ds1: exp(s2)*s1**2
+DEAL:Float:Exponential:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 2*exp(s2)
+DEAL:Float:Exponential:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: 2*exp(s2)*s1
+DEAL:Float:Exponential:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: 2*exp(s2)*s1
+DEAL:Float:Exponential:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: exp(s2)*s1**2
+DEAL:Float:Exponential:Symbolic computation: Substitution::subs_psi: 66.5015
+DEAL:Float:Exponential:Symbolic computation: Substitution::subs_dpsi_ds0: 44.3343
+DEAL:Float:Exponential:Symbolic computation: Substitution::subs_dpsi_ds1: 66.5015
+DEAL:Float:Exponential:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: 14.7781
+DEAL:Float:Exponential:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: 44.3343
+DEAL:Float:Exponential:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: 44.3343
+DEAL:Float:Exponential:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: 66.5015
+DEAL:Float:Logarithm:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Float:Logarithm:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Float:Logarithm:Symbolic computation: Function initialisation::symb_psi: s1**2*log(s2)
+DEAL:Float:Logarithm:Symbolic computation: Differentiation::symb_dpsi_ds0: 2*s1*log(s2)
+DEAL:Float:Logarithm:Symbolic computation: Differentiation::symb_dpsi_ds1: s1**2/s2
+DEAL:Float:Logarithm:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 2*log(s2)
+DEAL:Float:Logarithm:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: 2*s1/s2
+DEAL:Float:Logarithm:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: 2*s1/s2
+DEAL:Float:Logarithm:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: -s1**2/s2**2
+DEAL:Float:Logarithm:Symbolic computation: Substitution::subs_psi: 6.23832
+DEAL:Float:Logarithm:Symbolic computation: Substitution::subs_dpsi_ds0: 4.15888
+DEAL:Float:Logarithm:Symbolic computation: Substitution::subs_dpsi_ds1: 4.50000
+DEAL:Float:Logarithm:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: 1.38629
+DEAL:Float:Logarithm:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: 3.00000
+DEAL:Float:Logarithm:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: 3.00000
+DEAL:Float:Logarithm:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: -2.25000
+DEAL:Float:Logarithm with Base:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Float:Logarithm with Base:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Float:Logarithm with Base:Symbolic computation: Function initialisation::symb_psi: log(s2)/log(s1)
+DEAL:Float:Logarithm with Base:Symbolic computation: Differentiation::symb_dpsi_ds0: -log(s2)/(s1*log(s1)**2)
+DEAL:Float:Logarithm with Base:Symbolic computation: Differentiation::symb_dpsi_ds1: 1/(s2*log(s1))
+DEAL:Float:Logarithm with Base:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 2*log(s2)/(s1**2*log(s1)**3) + log(s2)/(s1**2*log(s1)**2)
+DEAL:Float:Logarithm with Base:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -1/(s1*s2*log(s1)**2)
+DEAL:Float:Logarithm with Base:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -1/(s1*s2*log(s1)**2)
+DEAL:Float:Logarithm with Base:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: -1/(s2**2*log(s1))
+DEAL:Float:Logarithm with Base:Symbolic computation: Substitution::subs_psi: 0.630930
+DEAL:Float:Logarithm with Base:Symbolic computation: Substitution::subs_dpsi_ds0: -0.191432
+DEAL:Float:Logarithm with Base:Symbolic computation: Substitution::subs_dpsi_ds1: 0.455120
+DEAL:Float:Logarithm with Base:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: 0.179977
+DEAL:Float:Logarithm with Base:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: -0.138089
+DEAL:Float:Logarithm with Base:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: -0.138089
+DEAL:Float:Logarithm with Base:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: -0.227560
+DEAL:Float:Logarithm base 10:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Float:Logarithm base 10:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Float:Logarithm base 10:Symbolic computation: Function initialisation::symb_psi: 0.434294481903252*s1**2*log(s2)
+DEAL:Float:Logarithm base 10:Symbolic computation: Differentiation::symb_dpsi_ds0: 0.868588963806504*s1*log(s2)
+DEAL:Float:Logarithm base 10:Symbolic computation: Differentiation::symb_dpsi_ds1: 0.434294481903252*s1**2/s2
+DEAL:Float:Logarithm base 10:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 0.868588963806504*log(s2)
+DEAL:Float:Logarithm base 10:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: 0.868588963806504*s1/s2
+DEAL:Float:Logarithm base 10:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: 0.868588963806504*s1/s2
+DEAL:Float:Logarithm base 10:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: -0.434294481903252*s1**2/s2**2
+DEAL:Float:Logarithm base 10:Symbolic computation: Substitution::subs_psi: 2.70927
+DEAL:Float:Logarithm base 10:Symbolic computation: Substitution::subs_dpsi_ds0: 1.80618
+DEAL:Float:Logarithm base 10:Symbolic computation: Substitution::subs_dpsi_ds1: 1.95433
+DEAL:Float:Logarithm base 10:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: 0.602060
+DEAL:Float:Logarithm base 10:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: 1.30288
+DEAL:Float:Logarithm base 10:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: 1.30288
+DEAL:Float:Logarithm base 10:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: -0.977163
+DEAL:Float:Sin:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Float:Sin:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Float:Sin:Symbolic computation: Function initialisation::symb_psi: sin(s2/s1)
+DEAL:Float:Sin:Symbolic computation: Differentiation::symb_dpsi_ds0: -s2*cos(s2/s1)/s1**2
+DEAL:Float:Sin:Symbolic computation: Differentiation::symb_dpsi_ds1: cos(s2/s1)/s1
+DEAL:Float:Sin:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: -s2**2*sin(s2/s1)/s1**4 + 2*s2*cos(s2/s1)/s1**3
+DEAL:Float:Sin:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -cos(s2/s1)/s1**2 + s2*sin(s2/s1)/s1**3
+DEAL:Float:Sin:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -cos(s2/s1)/s1**2 + s2*sin(s2/s1)/s1**3
+DEAL:Float:Sin:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: -sin(s2/s1)/s1**2
+DEAL:Float:Sin:Symbolic computation: Substitution::subs_psi: 0.618370
+DEAL:Float:Sin:Symbolic computation: Substitution::subs_dpsi_ds0: -0.174642
+DEAL:Float:Sin:Symbolic computation: Substitution::subs_dpsi_ds1: 0.261962
+DEAL:Float:Sin:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: 0.0858910
+DEAL:Float:Sin:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: -0.0415156
+DEAL:Float:Sin:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: -0.0415156
+DEAL:Float:Sin:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: -0.0687078
+DEAL:Float:Cos:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Float:Cos:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Float:Cos:Symbolic computation: Function initialisation::symb_psi: cos(s2/s1)
+DEAL:Float:Cos:Symbolic computation: Differentiation::symb_dpsi_ds0: s2*sin(s2/s1)/s1**2
+DEAL:Float:Cos:Symbolic computation: Differentiation::symb_dpsi_ds1: -sin(s2/s1)/s1
+DEAL:Float:Cos:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: -s2**2*cos(s2/s1)/s1**4 - 2*s2*sin(s2/s1)/s1**3
+DEAL:Float:Cos:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: sin(s2/s1)/s1**2 + s2*cos(s2/s1)/s1**3
+DEAL:Float:Cos:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: sin(s2/s1)/s1**2 + s2*cos(s2/s1)/s1**3
+DEAL:Float:Cos:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: -cos(s2/s1)/s1**2
+DEAL:Float:Cos:Symbolic computation: Substitution::subs_psi: 0.785887
+DEAL:Float:Cos:Symbolic computation: Substitution::subs_dpsi_ds0: 0.137416
+DEAL:Float:Cos:Symbolic computation: Substitution::subs_dpsi_ds1: -0.206123
+DEAL:Float:Cos:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: -0.130420
+DEAL:Float:Cos:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: 0.126922
+DEAL:Float:Cos:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: 0.126922
+DEAL:Float:Cos:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: -0.0873208
+DEAL:Float:Tan:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Float:Tan:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Float:Tan:Symbolic computation: Function initialisation::symb_psi: tan(s2/s1)
+DEAL:Float:Tan:Symbolic computation: Differentiation::symb_dpsi_ds0: -s2*(1 + tan(s2/s1)**2)/s1**2
+DEAL:Float:Tan:Symbolic computation: Differentiation::symb_dpsi_ds1: (1 + tan(s2/s1)**2)/s1
+DEAL:Float:Tan:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 2*s2*(1 + tan(s2/s1)**2)/s1**3 + 2*s2**2*tan(s2/s1)*(1 + tan(s2/s1)**2)/s1**4
+DEAL:Float:Tan:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -(1 + tan(s2/s1)**2)/s1**2 - 2*s2*tan(s2/s1)*(1 + tan(s2/s1)**2)/s1**3
+DEAL:Float:Tan:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -(1 + tan(s2/s1)**2)/s1**2 - 2*s2*tan(s2/s1)*(1 + tan(s2/s1)**2)/s1**3
+DEAL:Float:Tan:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: 2*tan(s2/s1)*(1 + tan(s2/s1)**2)/s1**2
+DEAL:Float:Tan:Symbolic computation: Substitution::subs_psi: 0.786843
+DEAL:Float:Tan:Symbolic computation: Substitution::subs_dpsi_ds0: -0.359805
+DEAL:Float:Tan:Symbolic computation: Substitution::subs_dpsi_ds1: 0.539707
+DEAL:Float:Tan:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: 0.365696
+DEAL:Float:Tan:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: -0.368642
+DEAL:Float:Tan:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: -0.368642
+DEAL:Float:Tan:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: 0.283110
+DEAL:Float:ASin:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Float:ASin:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Float:ASin:Symbolic computation: Function initialisation::symb_psi: asin(1.0/(s1*s2))
+DEAL:Float:ASin:Symbolic computation: Differentiation::symb_dpsi_ds0: -1.0/(s1**2*s2*sqrt(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Float:ASin:Symbolic computation: Differentiation::symb_dpsi_ds1: -1.0/(s1*s2**2*sqrt(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Float:ASin:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 1.0*1/(s1**5*s2**3*(1 - 1.0*1/(s1**2*s2**2))**(3/2)) + 2.0*1/(s1**3*s2*sqrt(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Float:ASin:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: 1.0*1/(s1**4*s2**4*(1 - 1.0*1/(s1**2*s2**2))**(3/2)) + 1.0*1/(s1**2*s2**2*sqrt(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Float:ASin:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: 1.0*1/(s1**4*s2**4*(1 - 1.0*1/(s1**2*s2**2))**(3/2)) + 1.0*1/(s1**2*s2**2*sqrt(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Float:ASin:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: 1.0*1/(s1**3*s2**5*(1 - 1.0*1/(s1**2*s2**2))**(3/2)) + 2.0*1/(s1*s2**3*sqrt(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Float:ASin:Symbolic computation: Substitution::subs_psi: 0.167448
+DEAL:Float:ASin:Symbolic computation: Substitution::subs_dpsi_ds0: -0.0563436
+DEAL:Float:ASin:Symbolic computation: Substitution::subs_dpsi_ds1: -0.0845154
+DEAL:Float:ASin:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: 0.0380990
+DEAL:Float:ASin:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: 0.0289767
+DEAL:Float:ASin:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: 0.0289767
+DEAL:Float:ASin:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: 0.0857228
+DEAL:Float:ACos:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Float:ACos:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Float:ACos:Symbolic computation: Function initialisation::symb_psi: acos(1.0/(s1*s2))
+DEAL:Float:ACos:Symbolic computation: Differentiation::symb_dpsi_ds0: 1.0/(s1**2*s2*sqrt(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Float:ACos:Symbolic computation: Differentiation::symb_dpsi_ds1: 1.0/(s1*s2**2*sqrt(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Float:ACos:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: -1.0*1/(s1**5*s2**3*(1 - 1.0*1/(s1**2*s2**2))**(3/2)) - 2.0*1/(s1**3*s2*sqrt(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Float:ACos:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -1.0*1/(s1**4*s2**4*(1 - 1.0*1/(s1**2*s2**2))**(3/2)) - 1.0*1/(s1**2*s2**2*sqrt(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Float:ACos:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -1.0*1/(s1**4*s2**4*(1 - 1.0*1/(s1**2*s2**2))**(3/2)) - 1.0*1/(s1**2*s2**2*sqrt(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Float:ACos:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: -1.0*1/(s1**3*s2**5*(1 - 1.0*1/(s1**2*s2**2))**(3/2)) - 2.0*1/(s1*s2**3*sqrt(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Float:ACos:Symbolic computation: Substitution::subs_psi: 1.40335
+DEAL:Float:ACos:Symbolic computation: Substitution::subs_dpsi_ds0: 0.0563436
+DEAL:Float:ACos:Symbolic computation: Substitution::subs_dpsi_ds1: 0.0845154
+DEAL:Float:ACos:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: -0.0380990
+DEAL:Float:ACos:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: -0.0289767
+DEAL:Float:ACos:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: -0.0289767
+DEAL:Float:ACos:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: -0.0857228
+DEAL:Float:ATan:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Float:ATan:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Float:ATan:Symbolic computation: Function initialisation::symb_psi: atan(1.0/(s1*s2))
+DEAL:Float:ATan:Symbolic computation: Differentiation::symb_dpsi_ds0: -1.0/(s1**2*s2*(1 + 1.0*1/(s1**2*s2**2)))
+DEAL:Float:ATan:Symbolic computation: Differentiation::symb_dpsi_ds1: -1.0/(s1*s2**2*(1 + 1.0*1/(s1**2*s2**2)))
+DEAL:Float:ATan:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: -2.0*1/(s1**5*s2**3*(1 + 1.0*1/(s1**2*s2**2))**2) + 2.0*1/(s1**3*s2*(1 + 1.0*1/(s1**2*s2**2)))
+DEAL:Float:ATan:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -2.0*1/(s1**4*s2**4*(1 + 1.0*1/(s1**2*s2**2))**2) + 1.0*1/(s1**2*s2**2*(1 + 1.0*1/(s1**2*s2**2)))
+DEAL:Float:ATan:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -2.0*1/(s1**4*s2**4*(1 + 1.0*1/(s1**2*s2**2))**2) + 1.0*1/(s1**2*s2**2*(1 + 1.0*1/(s1**2*s2**2)))
+DEAL:Float:ATan:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: -2.0*1/(s1**3*s2**5*(1 + 1.0*1/(s1**2*s2**2))**2) + 2.0*1/(s1*s2**3*(1 + 1.0*1/(s1**2*s2**2)))
+DEAL:Float:ATan:Symbolic computation: Substitution::subs_psi: 0.165149
+DEAL:Float:ATan:Symbolic computation: Substitution::subs_dpsi_ds0: -0.0540541
+DEAL:Float:ATan:Symbolic computation: Substitution::subs_dpsi_ds1: -0.0810811
+DEAL:Float:ATan:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: 0.0350621
+DEAL:Float:ATan:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: 0.0255661
+DEAL:Float:ATan:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: 0.0255661
+DEAL:Float:ATan:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: 0.0788897
+DEAL:Float:ATan2:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Float:ATan2:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Float:ATan2:Symbolic computation: Function initialisation::symb_psi: 3.0*atan2(s2, s1)
+DEAL:Float:ATan2:Symbolic computation: Differentiation::symb_dpsi_ds0: -3.0*s2/(s1**2 + s2**2)
+DEAL:Float:ATan2:Symbolic computation: Differentiation::symb_dpsi_ds1: 3.0*s1/(s1**2 + s2**2)
+DEAL:Float:ATan2:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 6.0*s1*s2/(s1**2 + s2**2)**2
+DEAL:Float:ATan2:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: 6.0*s2**2/(s1**2 + s2**2)**2 - 3.0*(s1**2 + s2**2)**(-1)
+DEAL:Float:ATan2:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -6.0*s1**2/(s1**2 + s2**2)**2 + 3.0*(s1**2 + s2**2)**(-1)
+DEAL:Float:ATan2:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: -6.0*s1*s2/(s1**2 + s2**2)**2
+DEAL:Float:ATan2:Symbolic computation: Substitution::subs_psi: 1.76401
+DEAL:Float:ATan2:Symbolic computation: Substitution::subs_dpsi_ds0: -0.461538
+DEAL:Float:ATan2:Symbolic computation: Substitution::subs_dpsi_ds1: 0.692308
+DEAL:Float:ATan2:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: 0.213018
+DEAL:Float:ATan2:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: -0.0887574
+DEAL:Float:ATan2:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: -0.0887574
+DEAL:Float:ATan2:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: -0.213018
+DEAL:Float:Sinh:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Float:Sinh:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Float:Sinh:Symbolic computation: Function initialisation::symb_psi: sinh(s2/s1)
+DEAL:Float:Sinh:Symbolic computation: Differentiation::symb_dpsi_ds0: -s2*cosh(s2/s1)/s1**2
+DEAL:Float:Sinh:Symbolic computation: Differentiation::symb_dpsi_ds1: cosh(s2/s1)/s1
+DEAL:Float:Sinh:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: s2**2*sinh(s2/s1)/s1**4 + 2*s2*cosh(s2/s1)/s1**3
+DEAL:Float:Sinh:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -cosh(s2/s1)/s1**2 - s2*sinh(s2/s1)/s1**3
+DEAL:Float:Sinh:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -cosh(s2/s1)/s1**2 - s2*sinh(s2/s1)/s1**3
+DEAL:Float:Sinh:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: sinh(s2/s1)/s1**2
+DEAL:Float:Sinh:Symbolic computation: Substitution::subs_psi: 0.717158
+DEAL:Float:Sinh:Symbolic computation: Substitution::subs_dpsi_ds0: -0.273461
+DEAL:Float:Sinh:Symbolic computation: Substitution::subs_dpsi_ds1: 0.410192
+DEAL:Float:Sinh:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: 0.217723
+DEAL:Float:Sinh:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: -0.189853
+DEAL:Float:Sinh:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: -0.189853
+DEAL:Float:Sinh:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: 0.0796843
+DEAL:Float:Cosh:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Float:Cosh:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Float:Cosh:Symbolic computation: Function initialisation::symb_psi: cosh(s2/s1)
+DEAL:Float:Cosh:Symbolic computation: Differentiation::symb_dpsi_ds0: -s2*sinh(s2/s1)/s1**2
+DEAL:Float:Cosh:Symbolic computation: Differentiation::symb_dpsi_ds1: sinh(s2/s1)/s1
+DEAL:Float:Cosh:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: s2**2*cosh(s2/s1)/s1**4 + 2*s2*sinh(s2/s1)/s1**3
+DEAL:Float:Cosh:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -sinh(s2/s1)/s1**2 - s2*cosh(s2/s1)/s1**3
+DEAL:Float:Cosh:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -sinh(s2/s1)/s1**2 - s2*cosh(s2/s1)/s1**3
+DEAL:Float:Cosh:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: cosh(s2/s1)/s1**2
+DEAL:Float:Cosh:Symbolic computation: Substitution::subs_psi: 1.23058
+DEAL:Float:Cosh:Symbolic computation: Substitution::subs_dpsi_ds0: -0.159369
+DEAL:Float:Cosh:Symbolic computation: Substitution::subs_dpsi_ds1: 0.239053
+DEAL:Float:Cosh:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: 0.167015
+DEAL:Float:Cosh:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: -0.170838
+DEAL:Float:Cosh:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: -0.170838
+DEAL:Float:Cosh:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: 0.136731
+DEAL:Float:Tanh:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Float:Tanh:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Float:Tanh:Symbolic computation: Function initialisation::symb_psi: tanh(s2/s1)
+DEAL:Float:Tanh:Symbolic computation: Differentiation::symb_dpsi_ds0: -s2*(1 - tanh(s2/s1)**2)/s1**2
+DEAL:Float:Tanh:Symbolic computation: Differentiation::symb_dpsi_ds1: (1 - tanh(s2/s1)**2)/s1
+DEAL:Float:Tanh:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 2*s2*(1 - tanh(s2/s1)**2)/s1**3 - 2*s2**2*tanh(s2/s1)*(1 - tanh(s2/s1)**2)/s1**4
+DEAL:Float:Tanh:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -(1 - tanh(s2/s1)**2)/s1**2 + 2*s2*tanh(s2/s1)*(1 - tanh(s2/s1)**2)/s1**3
+DEAL:Float:Tanh:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -(1 - tanh(s2/s1)**2)/s1**2 + 2*s2*tanh(s2/s1)*(1 - tanh(s2/s1)**2)/s1**3
+DEAL:Float:Tanh:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: -2*tanh(s2/s1)*(1 - tanh(s2/s1)**2)/s1**2
+DEAL:Float:Tanh:Symbolic computation: Substitution::subs_psi: 0.582783
+DEAL:Float:Tanh:Symbolic computation: Substitution::subs_dpsi_ds0: -0.146748
+DEAL:Float:Tanh:Symbolic computation: Substitution::subs_dpsi_ds1: 0.220121
+DEAL:Float:Tanh:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: 0.0598219
+DEAL:Float:Tanh:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: -0.0163591
+DEAL:Float:Tanh:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: -0.0163591
+DEAL:Float:Tanh:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: -0.0855220
+DEAL:Float:ASinh:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Float:ASinh:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Float:ASinh:Symbolic computation: Function initialisation::symb_psi: asinh(1.0/(s1*s2))
+DEAL:Float:ASinh:Symbolic computation: Differentiation::symb_dpsi_ds0: -1.0/(s1**2*s2*sqrt(1 + 1.0*1/(s1**2*s2**2)))
+DEAL:Float:ASinh:Symbolic computation: Differentiation::symb_dpsi_ds1: -1.0/(s1*s2**2*sqrt(1 + 1.0*1/(s1**2*s2**2)))
+DEAL:Float:ASinh:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: -1.0*1/(s1**5*s2**3*(1 + 1.0*1/(s1**2*s2**2))**(3/2)) + 2.0*1/(s1**3*s2*sqrt(1 + 1.0*1/(s1**2*s2**2)))
+DEAL:Float:ASinh:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -1.0*1/(s1**4*s2**4*(1 + 1.0*1/(s1**2*s2**2))**(3/2)) + 1.0*1/(s1**2*s2**2*sqrt(1 + 1.0*1/(s1**2*s2**2)))
+DEAL:Float:ASinh:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -1.0*1/(s1**4*s2**4*(1 + 1.0*1/(s1**2*s2**2))**(3/2)) + 1.0*1/(s1**2*s2**2*sqrt(1 + 1.0*1/(s1**2*s2**2)))
+DEAL:Float:ASinh:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: -1.0*1/(s1**3*s2**5*(1 + 1.0*1/(s1**2*s2**2))**(3/2)) + 2.0*1/(s1*s2**3*sqrt(1 + 1.0*1/(s1**2*s2**2)))
+DEAL:Float:ASinh:Symbolic computation: Substitution::subs_psi: 0.165905
+DEAL:Float:ASinh:Symbolic computation: Substitution::subs_dpsi_ds0: -0.0547997
+DEAL:Float:ASinh:Symbolic computation: Substitution::subs_dpsi_ds1: -0.0821995
+DEAL:Float:ASinh:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: 0.0360394
+DEAL:Float:ASinh:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: 0.0266593
+DEAL:Float:ASinh:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: 0.0266593
+DEAL:Float:ASinh:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: 0.0810887
+DEAL:Float:ACosh:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Float:ACosh:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Float:ACosh:Symbolic computation: Function initialisation::symb_psi: acosh(s1*s2)
+DEAL:Float:ACosh:Symbolic computation: Differentiation::symb_dpsi_ds0: s2/sqrt(-1 + s1**2*s2**2)
+DEAL:Float:ACosh:Symbolic computation: Differentiation::symb_dpsi_ds1: s1/sqrt(-1 + s1**2*s2**2)
+DEAL:Float:ACosh:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: -s1*s2**3/(-1 + s1**2*s2**2)**(3/2)
+DEAL:Float:ACosh:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -s1**2*s2**2/(-1 + s1**2*s2**2)**(3/2) + (-1 + s1**2*s2**2)**(-1/2)
+DEAL:Float:ACosh:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -s1**2*s2**2/(-1 + s1**2*s2**2)**(3/2) + (-1 + s1**2*s2**2)**(-1/2)
+DEAL:Float:ACosh:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: -s1**3*s2/(-1 + s1**2*s2**2)**(3/2)
+DEAL:Float:ACosh:Symbolic computation: Substitution::subs_psi: 2.47789
+DEAL:Float:ACosh:Symbolic computation: Substitution::subs_dpsi_ds0: 0.338062
+DEAL:Float:ACosh:Symbolic computation: Substitution::subs_dpsi_ds1: 0.507093
+DEAL:Float:ACosh:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: -0.115907
+DEAL:Float:ACosh:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: -0.00482945
+DEAL:Float:ACosh:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: -0.00482945
+DEAL:Float:ACosh:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: -0.260790
+DEAL:Float:ATanh:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Float:ATanh:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Float:ATanh:Symbolic computation: Function initialisation::symb_psi: atanh(1.0/(s1*s2))
+DEAL:Float:ATanh:Symbolic computation: Differentiation::symb_dpsi_ds0: -1.0/(s1**2*s2*(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Float:ATanh:Symbolic computation: Differentiation::symb_dpsi_ds1: -1.0/(s1*s2**2*(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Float:ATanh:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 2.0*1/(s1**5*s2**3*(1 - 1.0*1/(s1**2*s2**2))**2) + 2.0*1/(s1**3*s2*(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Float:ATanh:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: 2.0*1/(s1**4*s2**4*(1 - 1.0*1/(s1**2*s2**2))**2) + 1.0*1/(s1**2*s2**2*(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Float:ATanh:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: 2.0*1/(s1**4*s2**4*(1 - 1.0*1/(s1**2*s2**2))**2) + 1.0*1/(s1**2*s2**2*(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Float:ATanh:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: 2.0*1/(s1**3*s2**5*(1 - 1.0*1/(s1**2*s2**2))**2) + 2.0*1/(s1*s2**3*(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Float:ATanh:Symbolic computation: Substitution::subs_psi: 0.168236
+DEAL:Float:ATanh:Symbolic computation: Substitution::subs_dpsi_ds0: -0.0571429
+DEAL:Float:ATanh:Symbolic computation: Substitution::subs_dpsi_ds1: -0.0857143
+DEAL:Float:ATanh:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: 0.0391837
+DEAL:Float:ATanh:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: 0.0302041
+DEAL:Float:ATanh:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: 0.0302041
+DEAL:Float:ATanh:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: 0.0881633
+DEAL:Float:Erf:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Float:Erf:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Float:Erf:Symbolic computation: Function initialisation::symb_psi: s1**2*erf(s2)
+DEAL:Float:Erf:Symbolic computation: Differentiation::symb_dpsi_ds0: 2*s1*erf(s2)
+DEAL:Float:Erf:Symbolic computation: Differentiation::symb_dpsi_ds1: 2*exp(-s2**2)*s1**2/sqrt(pi)
+DEAL:Float:Erf:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 2*erf(s2)
+DEAL:Float:Erf:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: 4*exp(-s2**2)*s1/sqrt(pi)
+DEAL:Float:Erf:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: 4*exp(-s2**2)*s1/sqrt(pi)
+DEAL:Float:Erf:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: -4*exp(-s2**2)*s1**2*s2/sqrt(pi)
+DEAL:Float:Erf:Symbolic computation: Substitution::subs_psi: 8.95790
+DEAL:Float:Erf:Symbolic computation: Substitution::subs_dpsi_ds0: 5.97193
+DEAL:Float:Erf:Symbolic computation: Substitution::subs_dpsi_ds1: 0.186003
+DEAL:Float:Erf:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: 1.99064
+DEAL:Float:Erf:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: 0.124002
+DEAL:Float:Erf:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: 0.124002
+DEAL:Float:Erf:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: -0.744011
+DEAL:Float:Erfc:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Float:Erfc:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Float:Erfc:Symbolic computation: Function initialisation::symb_psi: s1**2*erfc(s2)
+DEAL:Float:Erfc:Symbolic computation: Differentiation::symb_dpsi_ds0: 2*s1*erfc(s2)
+DEAL:Float:Erfc:Symbolic computation: Differentiation::symb_dpsi_ds1: -2*exp(-s2**2)*s1**2/sqrt(pi)
+DEAL:Float:Erfc:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 2*erfc(s2)
+DEAL:Float:Erfc:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -4*exp(-s2**2)*s1/sqrt(pi)
+DEAL:Float:Erfc:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -4*exp(-s2**2)*s1/sqrt(pi)
+DEAL:Float:Erfc:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: 4*exp(-s2**2)*s1**2*s2/sqrt(pi)
+DEAL:Float:Erfc:Symbolic computation: Substitution::subs_psi: 0.0420996
+DEAL:Float:Erfc:Symbolic computation: Substitution::subs_dpsi_ds0: 0.0280664
+DEAL:Float:Erfc:Symbolic computation: Substitution::subs_dpsi_ds1: -0.186003
+DEAL:Float:Erfc:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: 0.00935547
+DEAL:Float:Erfc:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: -0.124002
+DEAL:Float:Erfc:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: -0.124002
+DEAL:Float:Erfc:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: 0.744011
+DEAL:Float::OK
+DEAL:Double:Add:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Double:Add:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Double:Add:Symbolic computation: Function initialisation::symb_psi: (s1 + s2)**2
+DEAL:Double:Add:Symbolic computation: Differentiation::symb_dpsi_ds0: 2*(s1 + s2)
+DEAL:Double:Add:Symbolic computation: Differentiation::symb_dpsi_ds1: 2*(s1 + s2)
+DEAL:Double:Add:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 2
+DEAL:Double:Add:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: 2
+DEAL:Double:Add:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: 2
+DEAL:Double:Add:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: 2
+DEAL:Double:Add:Symbolic computation: Substitution::subs_psi: 25.0000
+DEAL:Double:Add:Symbolic computation: Substitution::subs_dpsi_ds0: 10.0000
+DEAL:Double:Add:Symbolic computation: Substitution::subs_dpsi_ds1: 10.0000
+DEAL:Double:Add:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: 2.00000
+DEAL:Double:Add:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: 2.00000
+DEAL:Double:Add:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: 2.00000
+DEAL:Double:Add:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: 2.00000
+DEAL:Double:Subtract:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Double:Subtract:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Double:Subtract:Symbolic computation: Function initialisation::symb_psi: (s1 - s2)**2
+DEAL:Double:Subtract:Symbolic computation: Differentiation::symb_dpsi_ds0: 2*(s1 - s2)
+DEAL:Double:Subtract:Symbolic computation: Differentiation::symb_dpsi_ds1: -2*(s1 - s2)
+DEAL:Double:Subtract:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 2
+DEAL:Double:Subtract:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -2
+DEAL:Double:Subtract:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -2
+DEAL:Double:Subtract:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: 2
+DEAL:Double:Subtract:Symbolic computation: Substitution::subs_psi: 1.00000
+DEAL:Double:Subtract:Symbolic computation: Substitution::subs_dpsi_ds0: 2.00000
+DEAL:Double:Subtract:Symbolic computation: Substitution::subs_dpsi_ds1: -2.00000
+DEAL:Double:Subtract:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: 2.00000
+DEAL:Double:Subtract:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: -2.00000
+DEAL:Double:Subtract:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: -2.00000
+DEAL:Double:Subtract:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: 2.00000
+DEAL:Double:Multiply:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Double:Multiply:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Double:Multiply:Symbolic computation: Function initialisation::symb_psi: s1**2*s2**2
+DEAL:Double:Multiply:Symbolic computation: Differentiation::symb_dpsi_ds0: 2*s1*s2**2
+DEAL:Double:Multiply:Symbolic computation: Differentiation::symb_dpsi_ds1: 2*s1**2*s2
+DEAL:Double:Multiply:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 2*s2**2
+DEAL:Double:Multiply:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: 4*s1*s2
+DEAL:Double:Multiply:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: 4*s1*s2
+DEAL:Double:Multiply:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: 2*s1**2
+DEAL:Double:Multiply:Symbolic computation: Substitution::subs_psi: 36.0000
+DEAL:Double:Multiply:Symbolic computation: Substitution::subs_dpsi_ds0: 24.0000
+DEAL:Double:Multiply:Symbolic computation: Substitution::subs_dpsi_ds1: 36.0000
+DEAL:Double:Multiply:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: 8.00000
+DEAL:Double:Multiply:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: 24.0000
+DEAL:Double:Multiply:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: 24.0000
+DEAL:Double:Multiply:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: 18.0000
+DEAL:Double:Divide:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Double:Divide:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Double:Divide:Symbolic computation: Function initialisation::symb_psi: s1**2/s2**2
+DEAL:Double:Divide:Symbolic computation: Differentiation::symb_dpsi_ds0: 2*s1/s2**2
+DEAL:Double:Divide:Symbolic computation: Differentiation::symb_dpsi_ds1: -2*s1**2/s2**3
+DEAL:Double:Divide:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 2/s2**2
+DEAL:Double:Divide:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -4*s1/s2**3
+DEAL:Double:Divide:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -4*s1/s2**3
+DEAL:Double:Divide:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: 6*s1**2/s2**4
+DEAL:Double:Divide:Symbolic computation: Substitution::subs_psi: 2.25000
+DEAL:Double:Divide:Symbolic computation: Substitution::subs_dpsi_ds0: 1.50000
+DEAL:Double:Divide:Symbolic computation: Substitution::subs_dpsi_ds1: -2.25000
+DEAL:Double:Divide:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: 0.500000
+DEAL:Double:Divide:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: -1.50000
+DEAL:Double:Divide:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: -1.50000
+DEAL:Double:Divide:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: 3.37500
+DEAL:Double:Power:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Double:Power:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Double:Power:Symbolic computation: Function initialisation::symb_psi: 2.0*s1**s2
+DEAL:Double:Power:Symbolic computation: Differentiation::symb_dpsi_ds0: 2.0*s1**(-1 + s2)*s2
+DEAL:Double:Power:Symbolic computation: Differentiation::symb_dpsi_ds1: 2.0*s1**s2*log(s1)
+DEAL:Double:Power:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 2.0*s1**(-2 + s2)*s2*(-1 + s2)
+DEAL:Double:Power:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: 2.0*s1**(-1 + s2)*s2*log(s1) + 2.0*s1**(-1 + s2)
+DEAL:Double:Power:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: 2.0*s1**(-1 + s2)*s2*log(s1) + 2.0*s1**(-1 + s2)
+DEAL:Double:Power:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: 2.0*s1**s2*log(s1)**2
+DEAL:Double:Power:Symbolic computation: Substitution::subs_psi: 18.0000
+DEAL:Double:Power:Symbolic computation: Substitution::subs_dpsi_ds0: 12.0000
+DEAL:Double:Power:Symbolic computation: Substitution::subs_dpsi_ds1: 19.7750
+DEAL:Double:Power:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: 4.00000
+DEAL:Double:Power:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: 19.1833
+DEAL:Double:Power:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: 19.1833
+DEAL:Double:Power:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: 21.7251
+DEAL:Double:Sqrt:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Double:Sqrt:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Double:Sqrt:Symbolic computation: Function initialisation::symb_psi: 2.0*sqrt(s1*s2)
+DEAL:Double:Sqrt:Symbolic computation: Differentiation::symb_dpsi_ds0: 1.0*s2/sqrt(s1*s2)
+DEAL:Double:Sqrt:Symbolic computation: Differentiation::symb_dpsi_ds1: 1.0*s1/sqrt(s1*s2)
+DEAL:Double:Sqrt:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: -0.5*s2**2/(s1*s2)**(3/2)
+DEAL:Double:Sqrt:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -0.5*s1*s2/(s1*s2)**(3/2) + 1.0*(s1*s2)**(-1/2)
+DEAL:Double:Sqrt:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -0.5*s1*s2/(s1*s2)**(3/2) + 1.0*(s1*s2)**(-1/2)
+DEAL:Double:Sqrt:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: -0.5*s1**2/(s1*s2)**(3/2)
+DEAL:Double:Sqrt:Symbolic computation: Substitution::subs_psi: 4.89898
+DEAL:Double:Sqrt:Symbolic computation: Substitution::subs_dpsi_ds0: 0.816497
+DEAL:Double:Sqrt:Symbolic computation: Substitution::subs_dpsi_ds1: 1.22474
+DEAL:Double:Sqrt:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: -0.136083
+DEAL:Double:Sqrt:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: 0.204124
+DEAL:Double:Sqrt:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: 0.204124
+DEAL:Double:Sqrt:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: -0.306186
+DEAL:Double:Exponential:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Double:Exponential:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Double:Exponential:Symbolic computation: Function initialisation::symb_psi: exp(s2)*s1**2
+DEAL:Double:Exponential:Symbolic computation: Differentiation::symb_dpsi_ds0: 2*exp(s2)*s1
+DEAL:Double:Exponential:Symbolic computation: Differentiation::symb_dpsi_ds1: exp(s2)*s1**2
+DEAL:Double:Exponential:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 2*exp(s2)
+DEAL:Double:Exponential:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: 2*exp(s2)*s1
+DEAL:Double:Exponential:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: 2*exp(s2)*s1
+DEAL:Double:Exponential:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: exp(s2)*s1**2
+DEAL:Double:Exponential:Symbolic computation: Substitution::subs_psi: 66.5015
+DEAL:Double:Exponential:Symbolic computation: Substitution::subs_dpsi_ds0: 44.3343
+DEAL:Double:Exponential:Symbolic computation: Substitution::subs_dpsi_ds1: 66.5015
+DEAL:Double:Exponential:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: 14.7781
+DEAL:Double:Exponential:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: 44.3343
+DEAL:Double:Exponential:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: 44.3343
+DEAL:Double:Exponential:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: 66.5015
+DEAL:Double:Logarithm:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Double:Logarithm:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Double:Logarithm:Symbolic computation: Function initialisation::symb_psi: s1**2*log(s2)
+DEAL:Double:Logarithm:Symbolic computation: Differentiation::symb_dpsi_ds0: 2*s1*log(s2)
+DEAL:Double:Logarithm:Symbolic computation: Differentiation::symb_dpsi_ds1: s1**2/s2
+DEAL:Double:Logarithm:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 2*log(s2)
+DEAL:Double:Logarithm:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: 2*s1/s2
+DEAL:Double:Logarithm:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: 2*s1/s2
+DEAL:Double:Logarithm:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: -s1**2/s2**2
+DEAL:Double:Logarithm:Symbolic computation: Substitution::subs_psi: 6.23832
+DEAL:Double:Logarithm:Symbolic computation: Substitution::subs_dpsi_ds0: 4.15888
+DEAL:Double:Logarithm:Symbolic computation: Substitution::subs_dpsi_ds1: 4.50000
+DEAL:Double:Logarithm:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: 1.38629
+DEAL:Double:Logarithm:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: 3.00000
+DEAL:Double:Logarithm:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: 3.00000
+DEAL:Double:Logarithm:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: -2.25000
+DEAL:Double:Logarithm with Base:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Double:Logarithm with Base:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Double:Logarithm with Base:Symbolic computation: Function initialisation::symb_psi: log(s2)/log(s1)
+DEAL:Double:Logarithm with Base:Symbolic computation: Differentiation::symb_dpsi_ds0: -log(s2)/(s1*log(s1)**2)
+DEAL:Double:Logarithm with Base:Symbolic computation: Differentiation::symb_dpsi_ds1: 1/(s2*log(s1))
+DEAL:Double:Logarithm with Base:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 2*log(s2)/(s1**2*log(s1)**3) + log(s2)/(s1**2*log(s1)**2)
+DEAL:Double:Logarithm with Base:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -1/(s1*s2*log(s1)**2)
+DEAL:Double:Logarithm with Base:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -1/(s1*s2*log(s1)**2)
+DEAL:Double:Logarithm with Base:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: -1/(s2**2*log(s1))
+DEAL:Double:Logarithm with Base:Symbolic computation: Substitution::subs_psi: 0.630930
+DEAL:Double:Logarithm with Base:Symbolic computation: Substitution::subs_dpsi_ds0: -0.191432
+DEAL:Double:Logarithm with Base:Symbolic computation: Substitution::subs_dpsi_ds1: 0.455120
+DEAL:Double:Logarithm with Base:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: 0.179977
+DEAL:Double:Logarithm with Base:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: -0.138089
+DEAL:Double:Logarithm with Base:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: -0.138089
+DEAL:Double:Logarithm with Base:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: -0.227560
+DEAL:Double:Logarithm base 10:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Double:Logarithm base 10:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Double:Logarithm base 10:Symbolic computation: Function initialisation::symb_psi: 0.434294481903252*s1**2*log(s2)
+DEAL:Double:Logarithm base 10:Symbolic computation: Differentiation::symb_dpsi_ds0: 0.868588963806504*s1*log(s2)
+DEAL:Double:Logarithm base 10:Symbolic computation: Differentiation::symb_dpsi_ds1: 0.434294481903252*s1**2/s2
+DEAL:Double:Logarithm base 10:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 0.868588963806504*log(s2)
+DEAL:Double:Logarithm base 10:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: 0.868588963806504*s1/s2
+DEAL:Double:Logarithm base 10:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: 0.868588963806504*s1/s2
+DEAL:Double:Logarithm base 10:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: -0.434294481903252*s1**2/s2**2
+DEAL:Double:Logarithm base 10:Symbolic computation: Substitution::subs_psi: 2.70927
+DEAL:Double:Logarithm base 10:Symbolic computation: Substitution::subs_dpsi_ds0: 1.80618
+DEAL:Double:Logarithm base 10:Symbolic computation: Substitution::subs_dpsi_ds1: 1.95433
+DEAL:Double:Logarithm base 10:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: 0.602060
+DEAL:Double:Logarithm base 10:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: 1.30288
+DEAL:Double:Logarithm base 10:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: 1.30288
+DEAL:Double:Logarithm base 10:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: -0.977163
+DEAL:Double:Sin:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Double:Sin:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Double:Sin:Symbolic computation: Function initialisation::symb_psi: sin(s2/s1)
+DEAL:Double:Sin:Symbolic computation: Differentiation::symb_dpsi_ds0: -s2*cos(s2/s1)/s1**2
+DEAL:Double:Sin:Symbolic computation: Differentiation::symb_dpsi_ds1: cos(s2/s1)/s1
+DEAL:Double:Sin:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: -s2**2*sin(s2/s1)/s1**4 + 2*s2*cos(s2/s1)/s1**3
+DEAL:Double:Sin:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -cos(s2/s1)/s1**2 + s2*sin(s2/s1)/s1**3
+DEAL:Double:Sin:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -cos(s2/s1)/s1**2 + s2*sin(s2/s1)/s1**3
+DEAL:Double:Sin:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: -sin(s2/s1)/s1**2
+DEAL:Double:Sin:Symbolic computation: Substitution::subs_psi: 0.618370
+DEAL:Double:Sin:Symbolic computation: Substitution::subs_dpsi_ds0: -0.174642
+DEAL:Double:Sin:Symbolic computation: Substitution::subs_dpsi_ds1: 0.261962
+DEAL:Double:Sin:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: 0.0858910
+DEAL:Double:Sin:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: -0.0415156
+DEAL:Double:Sin:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: -0.0415156
+DEAL:Double:Sin:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: -0.0687078
+DEAL:Double:Cos:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Double:Cos:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Double:Cos:Symbolic computation: Function initialisation::symb_psi: cos(s2/s1)
+DEAL:Double:Cos:Symbolic computation: Differentiation::symb_dpsi_ds0: s2*sin(s2/s1)/s1**2
+DEAL:Double:Cos:Symbolic computation: Differentiation::symb_dpsi_ds1: -sin(s2/s1)/s1
+DEAL:Double:Cos:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: -s2**2*cos(s2/s1)/s1**4 - 2*s2*sin(s2/s1)/s1**3
+DEAL:Double:Cos:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: sin(s2/s1)/s1**2 + s2*cos(s2/s1)/s1**3
+DEAL:Double:Cos:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: sin(s2/s1)/s1**2 + s2*cos(s2/s1)/s1**3
+DEAL:Double:Cos:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: -cos(s2/s1)/s1**2
+DEAL:Double:Cos:Symbolic computation: Substitution::subs_psi: 0.785887
+DEAL:Double:Cos:Symbolic computation: Substitution::subs_dpsi_ds0: 0.137416
+DEAL:Double:Cos:Symbolic computation: Substitution::subs_dpsi_ds1: -0.206123
+DEAL:Double:Cos:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: -0.130420
+DEAL:Double:Cos:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: 0.126922
+DEAL:Double:Cos:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: 0.126922
+DEAL:Double:Cos:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: -0.0873208
+DEAL:Double:Tan:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Double:Tan:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Double:Tan:Symbolic computation: Function initialisation::symb_psi: tan(s2/s1)
+DEAL:Double:Tan:Symbolic computation: Differentiation::symb_dpsi_ds0: -s2*(1 + tan(s2/s1)**2)/s1**2
+DEAL:Double:Tan:Symbolic computation: Differentiation::symb_dpsi_ds1: (1 + tan(s2/s1)**2)/s1
+DEAL:Double:Tan:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 2*s2*(1 + tan(s2/s1)**2)/s1**3 + 2*s2**2*tan(s2/s1)*(1 + tan(s2/s1)**2)/s1**4
+DEAL:Double:Tan:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -(1 + tan(s2/s1)**2)/s1**2 - 2*s2*tan(s2/s1)*(1 + tan(s2/s1)**2)/s1**3
+DEAL:Double:Tan:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -(1 + tan(s2/s1)**2)/s1**2 - 2*s2*tan(s2/s1)*(1 + tan(s2/s1)**2)/s1**3
+DEAL:Double:Tan:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: 2*tan(s2/s1)*(1 + tan(s2/s1)**2)/s1**2
+DEAL:Double:Tan:Symbolic computation: Substitution::subs_psi: 0.786843
+DEAL:Double:Tan:Symbolic computation: Substitution::subs_dpsi_ds0: -0.359805
+DEAL:Double:Tan:Symbolic computation: Substitution::subs_dpsi_ds1: 0.539707
+DEAL:Double:Tan:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: 0.365696
+DEAL:Double:Tan:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: -0.368642
+DEAL:Double:Tan:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: -0.368642
+DEAL:Double:Tan:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: 0.283110
+DEAL:Double:ASin:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Double:ASin:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Double:ASin:Symbolic computation: Function initialisation::symb_psi: asin(1.0/(s1*s2))
+DEAL:Double:ASin:Symbolic computation: Differentiation::symb_dpsi_ds0: -1.0/(s1**2*s2*sqrt(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Double:ASin:Symbolic computation: Differentiation::symb_dpsi_ds1: -1.0/(s1*s2**2*sqrt(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Double:ASin:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 1.0*1/(s1**5*s2**3*(1 - 1.0*1/(s1**2*s2**2))**(3/2)) + 2.0*1/(s1**3*s2*sqrt(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Double:ASin:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: 1.0*1/(s1**4*s2**4*(1 - 1.0*1/(s1**2*s2**2))**(3/2)) + 1.0*1/(s1**2*s2**2*sqrt(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Double:ASin:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: 1.0*1/(s1**4*s2**4*(1 - 1.0*1/(s1**2*s2**2))**(3/2)) + 1.0*1/(s1**2*s2**2*sqrt(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Double:ASin:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: 1.0*1/(s1**3*s2**5*(1 - 1.0*1/(s1**2*s2**2))**(3/2)) + 2.0*1/(s1*s2**3*sqrt(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Double:ASin:Symbolic computation: Substitution::subs_psi: 0.167448
+DEAL:Double:ASin:Symbolic computation: Substitution::subs_dpsi_ds0: -0.0563436
+DEAL:Double:ASin:Symbolic computation: Substitution::subs_dpsi_ds1: -0.0845154
+DEAL:Double:ASin:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: 0.0380990
+DEAL:Double:ASin:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: 0.0289767
+DEAL:Double:ASin:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: 0.0289767
+DEAL:Double:ASin:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: 0.0857228
+DEAL:Double:ACos:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Double:ACos:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Double:ACos:Symbolic computation: Function initialisation::symb_psi: acos(1.0/(s1*s2))
+DEAL:Double:ACos:Symbolic computation: Differentiation::symb_dpsi_ds0: 1.0/(s1**2*s2*sqrt(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Double:ACos:Symbolic computation: Differentiation::symb_dpsi_ds1: 1.0/(s1*s2**2*sqrt(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Double:ACos:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: -1.0*1/(s1**5*s2**3*(1 - 1.0*1/(s1**2*s2**2))**(3/2)) - 2.0*1/(s1**3*s2*sqrt(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Double:ACos:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -1.0*1/(s1**4*s2**4*(1 - 1.0*1/(s1**2*s2**2))**(3/2)) - 1.0*1/(s1**2*s2**2*sqrt(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Double:ACos:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -1.0*1/(s1**4*s2**4*(1 - 1.0*1/(s1**2*s2**2))**(3/2)) - 1.0*1/(s1**2*s2**2*sqrt(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Double:ACos:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: -1.0*1/(s1**3*s2**5*(1 - 1.0*1/(s1**2*s2**2))**(3/2)) - 2.0*1/(s1*s2**3*sqrt(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Double:ACos:Symbolic computation: Substitution::subs_psi: 1.40335
+DEAL:Double:ACos:Symbolic computation: Substitution::subs_dpsi_ds0: 0.0563436
+DEAL:Double:ACos:Symbolic computation: Substitution::subs_dpsi_ds1: 0.0845154
+DEAL:Double:ACos:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: -0.0380990
+DEAL:Double:ACos:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: -0.0289767
+DEAL:Double:ACos:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: -0.0289767
+DEAL:Double:ACos:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: -0.0857228
+DEAL:Double:ATan:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Double:ATan:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Double:ATan:Symbolic computation: Function initialisation::symb_psi: atan(1.0/(s1*s2))
+DEAL:Double:ATan:Symbolic computation: Differentiation::symb_dpsi_ds0: -1.0/(s1**2*s2*(1 + 1.0*1/(s1**2*s2**2)))
+DEAL:Double:ATan:Symbolic computation: Differentiation::symb_dpsi_ds1: -1.0/(s1*s2**2*(1 + 1.0*1/(s1**2*s2**2)))
+DEAL:Double:ATan:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: -2.0*1/(s1**5*s2**3*(1 + 1.0*1/(s1**2*s2**2))**2) + 2.0*1/(s1**3*s2*(1 + 1.0*1/(s1**2*s2**2)))
+DEAL:Double:ATan:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -2.0*1/(s1**4*s2**4*(1 + 1.0*1/(s1**2*s2**2))**2) + 1.0*1/(s1**2*s2**2*(1 + 1.0*1/(s1**2*s2**2)))
+DEAL:Double:ATan:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -2.0*1/(s1**4*s2**4*(1 + 1.0*1/(s1**2*s2**2))**2) + 1.0*1/(s1**2*s2**2*(1 + 1.0*1/(s1**2*s2**2)))
+DEAL:Double:ATan:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: -2.0*1/(s1**3*s2**5*(1 + 1.0*1/(s1**2*s2**2))**2) + 2.0*1/(s1*s2**3*(1 + 1.0*1/(s1**2*s2**2)))
+DEAL:Double:ATan:Symbolic computation: Substitution::subs_psi: 0.165149
+DEAL:Double:ATan:Symbolic computation: Substitution::subs_dpsi_ds0: -0.0540541
+DEAL:Double:ATan:Symbolic computation: Substitution::subs_dpsi_ds1: -0.0810811
+DEAL:Double:ATan:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: 0.0350621
+DEAL:Double:ATan:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: 0.0255661
+DEAL:Double:ATan:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: 0.0255661
+DEAL:Double:ATan:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: 0.0788897
+DEAL:Double:ATan2:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Double:ATan2:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Double:ATan2:Symbolic computation: Function initialisation::symb_psi: 3.0*atan2(s2, s1)
+DEAL:Double:ATan2:Symbolic computation: Differentiation::symb_dpsi_ds0: -3.0*s2/(s1**2 + s2**2)
+DEAL:Double:ATan2:Symbolic computation: Differentiation::symb_dpsi_ds1: 3.0*s1/(s1**2 + s2**2)
+DEAL:Double:ATan2:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 6.0*s1*s2/(s1**2 + s2**2)**2
+DEAL:Double:ATan2:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: 6.0*s2**2/(s1**2 + s2**2)**2 - 3.0*(s1**2 + s2**2)**(-1)
+DEAL:Double:ATan2:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -6.0*s1**2/(s1**2 + s2**2)**2 + 3.0*(s1**2 + s2**2)**(-1)
+DEAL:Double:ATan2:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: -6.0*s1*s2/(s1**2 + s2**2)**2
+DEAL:Double:ATan2:Symbolic computation: Substitution::subs_psi: 1.76401
+DEAL:Double:ATan2:Symbolic computation: Substitution::subs_dpsi_ds0: -0.461538
+DEAL:Double:ATan2:Symbolic computation: Substitution::subs_dpsi_ds1: 0.692308
+DEAL:Double:ATan2:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: 0.213018
+DEAL:Double:ATan2:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: -0.0887574
+DEAL:Double:ATan2:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: -0.0887574
+DEAL:Double:ATan2:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: -0.213018
+DEAL:Double:Sinh:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Double:Sinh:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Double:Sinh:Symbolic computation: Function initialisation::symb_psi: sinh(s2/s1)
+DEAL:Double:Sinh:Symbolic computation: Differentiation::symb_dpsi_ds0: -s2*cosh(s2/s1)/s1**2
+DEAL:Double:Sinh:Symbolic computation: Differentiation::symb_dpsi_ds1: cosh(s2/s1)/s1
+DEAL:Double:Sinh:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: s2**2*sinh(s2/s1)/s1**4 + 2*s2*cosh(s2/s1)/s1**3
+DEAL:Double:Sinh:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -cosh(s2/s1)/s1**2 - s2*sinh(s2/s1)/s1**3
+DEAL:Double:Sinh:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -cosh(s2/s1)/s1**2 - s2*sinh(s2/s1)/s1**3
+DEAL:Double:Sinh:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: sinh(s2/s1)/s1**2
+DEAL:Double:Sinh:Symbolic computation: Substitution::subs_psi: 0.717158
+DEAL:Double:Sinh:Symbolic computation: Substitution::subs_dpsi_ds0: -0.273461
+DEAL:Double:Sinh:Symbolic computation: Substitution::subs_dpsi_ds1: 0.410192
+DEAL:Double:Sinh:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: 0.217723
+DEAL:Double:Sinh:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: -0.189853
+DEAL:Double:Sinh:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: -0.189853
+DEAL:Double:Sinh:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: 0.0796843
+DEAL:Double:Cosh:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Double:Cosh:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Double:Cosh:Symbolic computation: Function initialisation::symb_psi: cosh(s2/s1)
+DEAL:Double:Cosh:Symbolic computation: Differentiation::symb_dpsi_ds0: -s2*sinh(s2/s1)/s1**2
+DEAL:Double:Cosh:Symbolic computation: Differentiation::symb_dpsi_ds1: sinh(s2/s1)/s1
+DEAL:Double:Cosh:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: s2**2*cosh(s2/s1)/s1**4 + 2*s2*sinh(s2/s1)/s1**3
+DEAL:Double:Cosh:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -sinh(s2/s1)/s1**2 - s2*cosh(s2/s1)/s1**3
+DEAL:Double:Cosh:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -sinh(s2/s1)/s1**2 - s2*cosh(s2/s1)/s1**3
+DEAL:Double:Cosh:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: cosh(s2/s1)/s1**2
+DEAL:Double:Cosh:Symbolic computation: Substitution::subs_psi: 1.23058
+DEAL:Double:Cosh:Symbolic computation: Substitution::subs_dpsi_ds0: -0.159369
+DEAL:Double:Cosh:Symbolic computation: Substitution::subs_dpsi_ds1: 0.239053
+DEAL:Double:Cosh:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: 0.167015
+DEAL:Double:Cosh:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: -0.170838
+DEAL:Double:Cosh:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: -0.170838
+DEAL:Double:Cosh:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: 0.136731
+DEAL:Double:Tanh:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Double:Tanh:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Double:Tanh:Symbolic computation: Function initialisation::symb_psi: tanh(s2/s1)
+DEAL:Double:Tanh:Symbolic computation: Differentiation::symb_dpsi_ds0: -s2*(1 - tanh(s2/s1)**2)/s1**2
+DEAL:Double:Tanh:Symbolic computation: Differentiation::symb_dpsi_ds1: (1 - tanh(s2/s1)**2)/s1
+DEAL:Double:Tanh:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 2*s2*(1 - tanh(s2/s1)**2)/s1**3 - 2*s2**2*tanh(s2/s1)*(1 - tanh(s2/s1)**2)/s1**4
+DEAL:Double:Tanh:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -(1 - tanh(s2/s1)**2)/s1**2 + 2*s2*tanh(s2/s1)*(1 - tanh(s2/s1)**2)/s1**3
+DEAL:Double:Tanh:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -(1 - tanh(s2/s1)**2)/s1**2 + 2*s2*tanh(s2/s1)*(1 - tanh(s2/s1)**2)/s1**3
+DEAL:Double:Tanh:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: -2*tanh(s2/s1)*(1 - tanh(s2/s1)**2)/s1**2
+DEAL:Double:Tanh:Symbolic computation: Substitution::subs_psi: 0.582783
+DEAL:Double:Tanh:Symbolic computation: Substitution::subs_dpsi_ds0: -0.146748
+DEAL:Double:Tanh:Symbolic computation: Substitution::subs_dpsi_ds1: 0.220121
+DEAL:Double:Tanh:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: 0.0598219
+DEAL:Double:Tanh:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: -0.0163591
+DEAL:Double:Tanh:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: -0.0163591
+DEAL:Double:Tanh:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: -0.0855220
+DEAL:Double:ASinh:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Double:ASinh:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Double:ASinh:Symbolic computation: Function initialisation::symb_psi: asinh(1.0/(s1*s2))
+DEAL:Double:ASinh:Symbolic computation: Differentiation::symb_dpsi_ds0: -1.0/(s1**2*s2*sqrt(1 + 1.0*1/(s1**2*s2**2)))
+DEAL:Double:ASinh:Symbolic computation: Differentiation::symb_dpsi_ds1: -1.0/(s1*s2**2*sqrt(1 + 1.0*1/(s1**2*s2**2)))
+DEAL:Double:ASinh:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: -1.0*1/(s1**5*s2**3*(1 + 1.0*1/(s1**2*s2**2))**(3/2)) + 2.0*1/(s1**3*s2*sqrt(1 + 1.0*1/(s1**2*s2**2)))
+DEAL:Double:ASinh:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -1.0*1/(s1**4*s2**4*(1 + 1.0*1/(s1**2*s2**2))**(3/2)) + 1.0*1/(s1**2*s2**2*sqrt(1 + 1.0*1/(s1**2*s2**2)))
+DEAL:Double:ASinh:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -1.0*1/(s1**4*s2**4*(1 + 1.0*1/(s1**2*s2**2))**(3/2)) + 1.0*1/(s1**2*s2**2*sqrt(1 + 1.0*1/(s1**2*s2**2)))
+DEAL:Double:ASinh:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: -1.0*1/(s1**3*s2**5*(1 + 1.0*1/(s1**2*s2**2))**(3/2)) + 2.0*1/(s1*s2**3*sqrt(1 + 1.0*1/(s1**2*s2**2)))
+DEAL:Double:ASinh:Symbolic computation: Substitution::subs_psi: 0.165905
+DEAL:Double:ASinh:Symbolic computation: Substitution::subs_dpsi_ds0: -0.0547997
+DEAL:Double:ASinh:Symbolic computation: Substitution::subs_dpsi_ds1: -0.0821995
+DEAL:Double:ASinh:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: 0.0360394
+DEAL:Double:ASinh:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: 0.0266593
+DEAL:Double:ASinh:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: 0.0266593
+DEAL:Double:ASinh:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: 0.0810887
+DEAL:Double:ACosh:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Double:ACosh:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Double:ACosh:Symbolic computation: Function initialisation::symb_psi: acosh(s1*s2)
+DEAL:Double:ACosh:Symbolic computation: Differentiation::symb_dpsi_ds0: s2/sqrt(-1 + s1**2*s2**2)
+DEAL:Double:ACosh:Symbolic computation: Differentiation::symb_dpsi_ds1: s1/sqrt(-1 + s1**2*s2**2)
+DEAL:Double:ACosh:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: -s1*s2**3/(-1 + s1**2*s2**2)**(3/2)
+DEAL:Double:ACosh:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -s1**2*s2**2/(-1 + s1**2*s2**2)**(3/2) + (-1 + s1**2*s2**2)**(-1/2)
+DEAL:Double:ACosh:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -s1**2*s2**2/(-1 + s1**2*s2**2)**(3/2) + (-1 + s1**2*s2**2)**(-1/2)
+DEAL:Double:ACosh:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: -s1**3*s2/(-1 + s1**2*s2**2)**(3/2)
+DEAL:Double:ACosh:Symbolic computation: Substitution::subs_psi: 2.47789
+DEAL:Double:ACosh:Symbolic computation: Substitution::subs_dpsi_ds0: 0.338062
+DEAL:Double:ACosh:Symbolic computation: Substitution::subs_dpsi_ds1: 0.507093
+DEAL:Double:ACosh:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: -0.115907
+DEAL:Double:ACosh:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: -0.00482945
+DEAL:Double:ACosh:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: -0.00482945
+DEAL:Double:ACosh:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: -0.260790
+DEAL:Double:ATanh:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Double:ATanh:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Double:ATanh:Symbolic computation: Function initialisation::symb_psi: atanh(1.0/(s1*s2))
+DEAL:Double:ATanh:Symbolic computation: Differentiation::symb_dpsi_ds0: -1.0/(s1**2*s2*(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Double:ATanh:Symbolic computation: Differentiation::symb_dpsi_ds1: -1.0/(s1*s2**2*(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Double:ATanh:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 2.0*1/(s1**5*s2**3*(1 - 1.0*1/(s1**2*s2**2))**2) + 2.0*1/(s1**3*s2*(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Double:ATanh:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: 2.0*1/(s1**4*s2**4*(1 - 1.0*1/(s1**2*s2**2))**2) + 1.0*1/(s1**2*s2**2*(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Double:ATanh:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: 2.0*1/(s1**4*s2**4*(1 - 1.0*1/(s1**2*s2**2))**2) + 1.0*1/(s1**2*s2**2*(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Double:ATanh:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: 2.0*1/(s1**3*s2**5*(1 - 1.0*1/(s1**2*s2**2))**2) + 2.0*1/(s1*s2**3*(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Double:ATanh:Symbolic computation: Substitution::subs_psi: 0.168236
+DEAL:Double:ATanh:Symbolic computation: Substitution::subs_dpsi_ds0: -0.0571429
+DEAL:Double:ATanh:Symbolic computation: Substitution::subs_dpsi_ds1: -0.0857143
+DEAL:Double:ATanh:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: 0.0391837
+DEAL:Double:ATanh:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: 0.0302041
+DEAL:Double:ATanh:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: 0.0302041
+DEAL:Double:ATanh:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: 0.0881633
+DEAL:Double:Erf:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Double:Erf:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Double:Erf:Symbolic computation: Function initialisation::symb_psi: s1**2*erf(s2)
+DEAL:Double:Erf:Symbolic computation: Differentiation::symb_dpsi_ds0: 2*s1*erf(s2)
+DEAL:Double:Erf:Symbolic computation: Differentiation::symb_dpsi_ds1: 2*exp(-s2**2)*s1**2/sqrt(pi)
+DEAL:Double:Erf:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 2*erf(s2)
+DEAL:Double:Erf:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: 4*exp(-s2**2)*s1/sqrt(pi)
+DEAL:Double:Erf:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: 4*exp(-s2**2)*s1/sqrt(pi)
+DEAL:Double:Erf:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: -4*exp(-s2**2)*s1**2*s2/sqrt(pi)
+DEAL:Double:Erf:Symbolic computation: Substitution::subs_psi: 8.95790
+DEAL:Double:Erf:Symbolic computation: Substitution::subs_dpsi_ds0: 5.97193
+DEAL:Double:Erf:Symbolic computation: Substitution::subs_dpsi_ds1: 0.186003
+DEAL:Double:Erf:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: 1.99064
+DEAL:Double:Erf:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: 0.124002
+DEAL:Double:Erf:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: 0.124002
+DEAL:Double:Erf:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: -0.744011
+DEAL:Double:Erfc:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Double:Erfc:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Double:Erfc:Symbolic computation: Function initialisation::symb_psi: s1**2*erfc(s2)
+DEAL:Double:Erfc:Symbolic computation: Differentiation::symb_dpsi_ds0: 2*s1*erfc(s2)
+DEAL:Double:Erfc:Symbolic computation: Differentiation::symb_dpsi_ds1: -2*exp(-s2**2)*s1**2/sqrt(pi)
+DEAL:Double:Erfc:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 2*erfc(s2)
+DEAL:Double:Erfc:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -4*exp(-s2**2)*s1/sqrt(pi)
+DEAL:Double:Erfc:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -4*exp(-s2**2)*s1/sqrt(pi)
+DEAL:Double:Erfc:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: 4*exp(-s2**2)*s1**2*s2/sqrt(pi)
+DEAL:Double:Erfc:Symbolic computation: Substitution::subs_psi: 0.0420996
+DEAL:Double:Erfc:Symbolic computation: Substitution::subs_dpsi_ds0: 0.0280664
+DEAL:Double:Erfc:Symbolic computation: Substitution::subs_dpsi_ds1: -0.186003
+DEAL:Double:Erfc:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: 0.00935547
+DEAL:Double:Erfc:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: -0.124002
+DEAL:Double:Erfc:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: -0.124002
+DEAL:Double:Erfc:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: 0.744011
+DEAL:Double::OK
+DEAL::OK
diff --git a/tests/symengine/batch_optimizer_01_3b.cc b/tests/symengine/batch_optimizer_01_3b.cc
new file mode 100644 (file)
index 0000000..2e4b7da
--- /dev/null
@@ -0,0 +1,41 @@
+// ---------------------------------------------------------------------
+//
+// Copyright (C) 2020 by the deal.II authors
+//
+// This file is part of the deal.II library.
+//
+// The deal.II library is free software; you can use it, redistribute
+// it, and/or modify it under the terms of the GNU Lesser General
+// Public License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+// The full text of the license can be found in the file LICENSE at
+// the top level of the deal.II distribution.
+//
+// ---------------------------------------------------------------------
+
+
+// Test that all of the low-level math operations function as expected
+// and that their values and derivatives can be computed using the
+// optimizer.
+// For this test the optimizer is in mode "llvm", i.e. using optimisation
+// via the LLVM JIT compiler.
+// This test is based on function_verification_01.cc
+
+#include "../tests.h"
+
+#include "sd_common_tests/batch_optimizer_01.h"
+
+
+int
+main()
+{
+  initlog();
+
+  const enum SD::OptimizerType     opt_method = SD::OptimizerType::llvm;
+  const enum SD::OptimizationFlags opt_flags =
+    SD::OptimizationFlags::optimize_all;
+
+  run_tests<opt_method, opt_flags>();
+
+  deallog << "OK" << std::endl;
+}
diff --git a/tests/symengine/batch_optimizer_01_3b.with_symengine_with_llvm=true.output b/tests/symengine/batch_optimizer_01_3b.with_symengine_with_llvm=true.output
new file mode 100644 (file)
index 0000000..dd74db6
--- /dev/null
@@ -0,0 +1,804 @@
+
+DEAL:Float:Add:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Float:Add:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Float:Add:Symbolic computation: Function initialisation::symb_psi: (s1 + s2)**2
+DEAL:Float:Add:Symbolic computation: Differentiation::symb_dpsi_ds0: 2*(s1 + s2)
+DEAL:Float:Add:Symbolic computation: Differentiation::symb_dpsi_ds1: 2*(s1 + s2)
+DEAL:Float:Add:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 2
+DEAL:Float:Add:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: 2
+DEAL:Float:Add:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: 2
+DEAL:Float:Add:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: 2
+DEAL:Float:Add:Symbolic computation: Substitution::subs_psi: 25.0000
+DEAL:Float:Add:Symbolic computation: Substitution::subs_dpsi_ds0: 10.0000
+DEAL:Float:Add:Symbolic computation: Substitution::subs_dpsi_ds1: 10.0000
+DEAL:Float:Add:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: 2.00000
+DEAL:Float:Add:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: 2.00000
+DEAL:Float:Add:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: 2.00000
+DEAL:Float:Add:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: 2.00000
+DEAL:Float:Subtract:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Float:Subtract:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Float:Subtract:Symbolic computation: Function initialisation::symb_psi: (s1 - s2)**2
+DEAL:Float:Subtract:Symbolic computation: Differentiation::symb_dpsi_ds0: 2*(s1 - s2)
+DEAL:Float:Subtract:Symbolic computation: Differentiation::symb_dpsi_ds1: -2*(s1 - s2)
+DEAL:Float:Subtract:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 2
+DEAL:Float:Subtract:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -2
+DEAL:Float:Subtract:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -2
+DEAL:Float:Subtract:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: 2
+DEAL:Float:Subtract:Symbolic computation: Substitution::subs_psi: 1.00000
+DEAL:Float:Subtract:Symbolic computation: Substitution::subs_dpsi_ds0: 2.00000
+DEAL:Float:Subtract:Symbolic computation: Substitution::subs_dpsi_ds1: -2.00000
+DEAL:Float:Subtract:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: 2.00000
+DEAL:Float:Subtract:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: -2.00000
+DEAL:Float:Subtract:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: -2.00000
+DEAL:Float:Subtract:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: 2.00000
+DEAL:Float:Multiply:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Float:Multiply:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Float:Multiply:Symbolic computation: Function initialisation::symb_psi: s1**2*s2**2
+DEAL:Float:Multiply:Symbolic computation: Differentiation::symb_dpsi_ds0: 2*s1*s2**2
+DEAL:Float:Multiply:Symbolic computation: Differentiation::symb_dpsi_ds1: 2*s1**2*s2
+DEAL:Float:Multiply:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 2*s2**2
+DEAL:Float:Multiply:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: 4*s1*s2
+DEAL:Float:Multiply:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: 4*s1*s2
+DEAL:Float:Multiply:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: 2*s1**2
+DEAL:Float:Multiply:Symbolic computation: Substitution::subs_psi: 36.0000
+DEAL:Float:Multiply:Symbolic computation: Substitution::subs_dpsi_ds0: 24.0000
+DEAL:Float:Multiply:Symbolic computation: Substitution::subs_dpsi_ds1: 36.0000
+DEAL:Float:Multiply:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: 8.00000
+DEAL:Float:Multiply:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: 24.0000
+DEAL:Float:Multiply:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: 24.0000
+DEAL:Float:Multiply:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: 18.0000
+DEAL:Float:Divide:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Float:Divide:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Float:Divide:Symbolic computation: Function initialisation::symb_psi: s1**2/s2**2
+DEAL:Float:Divide:Symbolic computation: Differentiation::symb_dpsi_ds0: 2*s1/s2**2
+DEAL:Float:Divide:Symbolic computation: Differentiation::symb_dpsi_ds1: -2*s1**2/s2**3
+DEAL:Float:Divide:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 2/s2**2
+DEAL:Float:Divide:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -4*s1/s2**3
+DEAL:Float:Divide:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -4*s1/s2**3
+DEAL:Float:Divide:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: 6*s1**2/s2**4
+DEAL:Float:Divide:Symbolic computation: Substitution::subs_psi: 2.25000
+DEAL:Float:Divide:Symbolic computation: Substitution::subs_dpsi_ds0: 1.50000
+DEAL:Float:Divide:Symbolic computation: Substitution::subs_dpsi_ds1: -2.25000
+DEAL:Float:Divide:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: 0.500000
+DEAL:Float:Divide:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: -1.50000
+DEAL:Float:Divide:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: -1.50000
+DEAL:Float:Divide:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: 3.37500
+DEAL:Float:Power:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Float:Power:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Float:Power:Symbolic computation: Function initialisation::symb_psi: 2.0*s1**s2
+DEAL:Float:Power:Symbolic computation: Differentiation::symb_dpsi_ds0: 2.0*s1**(-1 + s2)*s2
+DEAL:Float:Power:Symbolic computation: Differentiation::symb_dpsi_ds1: 2.0*s1**s2*log(s1)
+DEAL:Float:Power:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 2.0*s1**(-2 + s2)*s2*(-1 + s2)
+DEAL:Float:Power:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: 2.0*s1**(-1 + s2)*s2*log(s1) + 2.0*s1**(-1 + s2)
+DEAL:Float:Power:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: 2.0*s1**(-1 + s2)*s2*log(s1) + 2.0*s1**(-1 + s2)
+DEAL:Float:Power:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: 2.0*s1**s2*log(s1)**2
+DEAL:Float:Power:Symbolic computation: Substitution::subs_psi: 18.0000
+DEAL:Float:Power:Symbolic computation: Substitution::subs_dpsi_ds0: 12.0000
+DEAL:Float:Power:Symbolic computation: Substitution::subs_dpsi_ds1: 19.7750
+DEAL:Float:Power:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: 4.00000
+DEAL:Float:Power:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: 19.1833
+DEAL:Float:Power:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: 19.1833
+DEAL:Float:Power:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: 21.7251
+DEAL:Float:Sqrt:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Float:Sqrt:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Float:Sqrt:Symbolic computation: Function initialisation::symb_psi: 2.0*sqrt(s1*s2)
+DEAL:Float:Sqrt:Symbolic computation: Differentiation::symb_dpsi_ds0: 1.0*s2/sqrt(s1*s2)
+DEAL:Float:Sqrt:Symbolic computation: Differentiation::symb_dpsi_ds1: 1.0*s1/sqrt(s1*s2)
+DEAL:Float:Sqrt:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: -0.5*s2**2/(s1*s2)**(3/2)
+DEAL:Float:Sqrt:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -0.5*s1*s2/(s1*s2)**(3/2) + 1.0*(s1*s2)**(-1/2)
+DEAL:Float:Sqrt:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -0.5*s1*s2/(s1*s2)**(3/2) + 1.0*(s1*s2)**(-1/2)
+DEAL:Float:Sqrt:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: -0.5*s1**2/(s1*s2)**(3/2)
+DEAL:Float:Sqrt:Symbolic computation: Substitution::subs_psi: 4.89898
+DEAL:Float:Sqrt:Symbolic computation: Substitution::subs_dpsi_ds0: 0.816497
+DEAL:Float:Sqrt:Symbolic computation: Substitution::subs_dpsi_ds1: 1.22474
+DEAL:Float:Sqrt:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: -0.136083
+DEAL:Float:Sqrt:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: 0.204124
+DEAL:Float:Sqrt:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: 0.204124
+DEAL:Float:Sqrt:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: -0.306186
+DEAL:Float:Exponential:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Float:Exponential:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Float:Exponential:Symbolic computation: Function initialisation::symb_psi: exp(s2)*s1**2
+DEAL:Float:Exponential:Symbolic computation: Differentiation::symb_dpsi_ds0: 2*exp(s2)*s1
+DEAL:Float:Exponential:Symbolic computation: Differentiation::symb_dpsi_ds1: exp(s2)*s1**2
+DEAL:Float:Exponential:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 2*exp(s2)
+DEAL:Float:Exponential:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: 2*exp(s2)*s1
+DEAL:Float:Exponential:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: 2*exp(s2)*s1
+DEAL:Float:Exponential:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: exp(s2)*s1**2
+DEAL:Float:Exponential:Symbolic computation: Substitution::subs_psi: 66.5015
+DEAL:Float:Exponential:Symbolic computation: Substitution::subs_dpsi_ds0: 44.3343
+DEAL:Float:Exponential:Symbolic computation: Substitution::subs_dpsi_ds1: 66.5015
+DEAL:Float:Exponential:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: 14.7781
+DEAL:Float:Exponential:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: 44.3343
+DEAL:Float:Exponential:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: 44.3343
+DEAL:Float:Exponential:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: 66.5015
+DEAL:Float:Logarithm:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Float:Logarithm:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Float:Logarithm:Symbolic computation: Function initialisation::symb_psi: s1**2*log(s2)
+DEAL:Float:Logarithm:Symbolic computation: Differentiation::symb_dpsi_ds0: 2*s1*log(s2)
+DEAL:Float:Logarithm:Symbolic computation: Differentiation::symb_dpsi_ds1: s1**2/s2
+DEAL:Float:Logarithm:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 2*log(s2)
+DEAL:Float:Logarithm:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: 2*s1/s2
+DEAL:Float:Logarithm:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: 2*s1/s2
+DEAL:Float:Logarithm:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: -s1**2/s2**2
+DEAL:Float:Logarithm:Symbolic computation: Substitution::subs_psi: 6.23832
+DEAL:Float:Logarithm:Symbolic computation: Substitution::subs_dpsi_ds0: 4.15888
+DEAL:Float:Logarithm:Symbolic computation: Substitution::subs_dpsi_ds1: 4.50000
+DEAL:Float:Logarithm:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: 1.38629
+DEAL:Float:Logarithm:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: 3.00000
+DEAL:Float:Logarithm:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: 3.00000
+DEAL:Float:Logarithm:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: -2.25000
+DEAL:Float:Logarithm with Base:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Float:Logarithm with Base:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Float:Logarithm with Base:Symbolic computation: Function initialisation::symb_psi: log(s2)/log(s1)
+DEAL:Float:Logarithm with Base:Symbolic computation: Differentiation::symb_dpsi_ds0: -log(s2)/(s1*log(s1)**2)
+DEAL:Float:Logarithm with Base:Symbolic computation: Differentiation::symb_dpsi_ds1: 1/(s2*log(s1))
+DEAL:Float:Logarithm with Base:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 2*log(s2)/(s1**2*log(s1)**3) + log(s2)/(s1**2*log(s1)**2)
+DEAL:Float:Logarithm with Base:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -1/(s1*s2*log(s1)**2)
+DEAL:Float:Logarithm with Base:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -1/(s1*s2*log(s1)**2)
+DEAL:Float:Logarithm with Base:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: -1/(s2**2*log(s1))
+DEAL:Float:Logarithm with Base:Symbolic computation: Substitution::subs_psi: 0.630930
+DEAL:Float:Logarithm with Base:Symbolic computation: Substitution::subs_dpsi_ds0: -0.191432
+DEAL:Float:Logarithm with Base:Symbolic computation: Substitution::subs_dpsi_ds1: 0.455120
+DEAL:Float:Logarithm with Base:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: 0.179977
+DEAL:Float:Logarithm with Base:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: -0.138089
+DEAL:Float:Logarithm with Base:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: -0.138089
+DEAL:Float:Logarithm with Base:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: -0.227560
+DEAL:Float:Logarithm base 10:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Float:Logarithm base 10:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Float:Logarithm base 10:Symbolic computation: Function initialisation::symb_psi: 0.434294481903252*s1**2*log(s2)
+DEAL:Float:Logarithm base 10:Symbolic computation: Differentiation::symb_dpsi_ds0: 0.868588963806504*s1*log(s2)
+DEAL:Float:Logarithm base 10:Symbolic computation: Differentiation::symb_dpsi_ds1: 0.434294481903252*s1**2/s2
+DEAL:Float:Logarithm base 10:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 0.868588963806504*log(s2)
+DEAL:Float:Logarithm base 10:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: 0.868588963806504*s1/s2
+DEAL:Float:Logarithm base 10:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: 0.868588963806504*s1/s2
+DEAL:Float:Logarithm base 10:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: -0.434294481903252*s1**2/s2**2
+DEAL:Float:Logarithm base 10:Symbolic computation: Substitution::subs_psi: 2.70927
+DEAL:Float:Logarithm base 10:Symbolic computation: Substitution::subs_dpsi_ds0: 1.80618
+DEAL:Float:Logarithm base 10:Symbolic computation: Substitution::subs_dpsi_ds1: 1.95433
+DEAL:Float:Logarithm base 10:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: 0.602060
+DEAL:Float:Logarithm base 10:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: 1.30288
+DEAL:Float:Logarithm base 10:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: 1.30288
+DEAL:Float:Logarithm base 10:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: -0.977163
+DEAL:Float:Sin:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Float:Sin:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Float:Sin:Symbolic computation: Function initialisation::symb_psi: sin(s2/s1)
+DEAL:Float:Sin:Symbolic computation: Differentiation::symb_dpsi_ds0: -s2*cos(s2/s1)/s1**2
+DEAL:Float:Sin:Symbolic computation: Differentiation::symb_dpsi_ds1: cos(s2/s1)/s1
+DEAL:Float:Sin:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: -s2**2*sin(s2/s1)/s1**4 + 2*s2*cos(s2/s1)/s1**3
+DEAL:Float:Sin:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -cos(s2/s1)/s1**2 + s2*sin(s2/s1)/s1**3
+DEAL:Float:Sin:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -cos(s2/s1)/s1**2 + s2*sin(s2/s1)/s1**3
+DEAL:Float:Sin:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: -sin(s2/s1)/s1**2
+DEAL:Float:Sin:Symbolic computation: Substitution::subs_psi: 0.618370
+DEAL:Float:Sin:Symbolic computation: Substitution::subs_dpsi_ds0: -0.174642
+DEAL:Float:Sin:Symbolic computation: Substitution::subs_dpsi_ds1: 0.261962
+DEAL:Float:Sin:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: 0.0858910
+DEAL:Float:Sin:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: -0.0415156
+DEAL:Float:Sin:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: -0.0415156
+DEAL:Float:Sin:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: -0.0687078
+DEAL:Float:Cos:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Float:Cos:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Float:Cos:Symbolic computation: Function initialisation::symb_psi: cos(s2/s1)
+DEAL:Float:Cos:Symbolic computation: Differentiation::symb_dpsi_ds0: s2*sin(s2/s1)/s1**2
+DEAL:Float:Cos:Symbolic computation: Differentiation::symb_dpsi_ds1: -sin(s2/s1)/s1
+DEAL:Float:Cos:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: -s2**2*cos(s2/s1)/s1**4 - 2*s2*sin(s2/s1)/s1**3
+DEAL:Float:Cos:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: sin(s2/s1)/s1**2 + s2*cos(s2/s1)/s1**3
+DEAL:Float:Cos:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: sin(s2/s1)/s1**2 + s2*cos(s2/s1)/s1**3
+DEAL:Float:Cos:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: -cos(s2/s1)/s1**2
+DEAL:Float:Cos:Symbolic computation: Substitution::subs_psi: 0.785887
+DEAL:Float:Cos:Symbolic computation: Substitution::subs_dpsi_ds0: 0.137416
+DEAL:Float:Cos:Symbolic computation: Substitution::subs_dpsi_ds1: -0.206123
+DEAL:Float:Cos:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: -0.130420
+DEAL:Float:Cos:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: 0.126922
+DEAL:Float:Cos:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: 0.126922
+DEAL:Float:Cos:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: -0.0873208
+DEAL:Float:Tan:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Float:Tan:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Float:Tan:Symbolic computation: Function initialisation::symb_psi: tan(s2/s1)
+DEAL:Float:Tan:Symbolic computation: Differentiation::symb_dpsi_ds0: -s2*(1 + tan(s2/s1)**2)/s1**2
+DEAL:Float:Tan:Symbolic computation: Differentiation::symb_dpsi_ds1: (1 + tan(s2/s1)**2)/s1
+DEAL:Float:Tan:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 2*s2*(1 + tan(s2/s1)**2)/s1**3 + 2*s2**2*tan(s2/s1)*(1 + tan(s2/s1)**2)/s1**4
+DEAL:Float:Tan:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -(1 + tan(s2/s1)**2)/s1**2 - 2*s2*tan(s2/s1)*(1 + tan(s2/s1)**2)/s1**3
+DEAL:Float:Tan:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -(1 + tan(s2/s1)**2)/s1**2 - 2*s2*tan(s2/s1)*(1 + tan(s2/s1)**2)/s1**3
+DEAL:Float:Tan:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: 2*tan(s2/s1)*(1 + tan(s2/s1)**2)/s1**2
+DEAL:Float:Tan:Symbolic computation: Substitution::subs_psi: 0.786843
+DEAL:Float:Tan:Symbolic computation: Substitution::subs_dpsi_ds0: -0.359805
+DEAL:Float:Tan:Symbolic computation: Substitution::subs_dpsi_ds1: 0.539707
+DEAL:Float:Tan:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: 0.365696
+DEAL:Float:Tan:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: -0.368642
+DEAL:Float:Tan:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: -0.368642
+DEAL:Float:Tan:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: 0.283110
+DEAL:Float:ASin:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Float:ASin:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Float:ASin:Symbolic computation: Function initialisation::symb_psi: asin(1.0/(s1*s2))
+DEAL:Float:ASin:Symbolic computation: Differentiation::symb_dpsi_ds0: -1.0/(s1**2*s2*sqrt(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Float:ASin:Symbolic computation: Differentiation::symb_dpsi_ds1: -1.0/(s1*s2**2*sqrt(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Float:ASin:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 1.0*1/(s1**5*s2**3*(1 - 1.0*1/(s1**2*s2**2))**(3/2)) + 2.0*1/(s1**3*s2*sqrt(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Float:ASin:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: 1.0*1/(s1**4*s2**4*(1 - 1.0*1/(s1**2*s2**2))**(3/2)) + 1.0*1/(s1**2*s2**2*sqrt(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Float:ASin:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: 1.0*1/(s1**4*s2**4*(1 - 1.0*1/(s1**2*s2**2))**(3/2)) + 1.0*1/(s1**2*s2**2*sqrt(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Float:ASin:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: 1.0*1/(s1**3*s2**5*(1 - 1.0*1/(s1**2*s2**2))**(3/2)) + 2.0*1/(s1*s2**3*sqrt(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Float:ASin:Symbolic computation: Substitution::subs_psi: 0.167448
+DEAL:Float:ASin:Symbolic computation: Substitution::subs_dpsi_ds0: -0.0563436
+DEAL:Float:ASin:Symbolic computation: Substitution::subs_dpsi_ds1: -0.0845154
+DEAL:Float:ASin:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: 0.0380990
+DEAL:Float:ASin:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: 0.0289767
+DEAL:Float:ASin:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: 0.0289767
+DEAL:Float:ASin:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: 0.0857228
+DEAL:Float:ACos:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Float:ACos:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Float:ACos:Symbolic computation: Function initialisation::symb_psi: acos(1.0/(s1*s2))
+DEAL:Float:ACos:Symbolic computation: Differentiation::symb_dpsi_ds0: 1.0/(s1**2*s2*sqrt(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Float:ACos:Symbolic computation: Differentiation::symb_dpsi_ds1: 1.0/(s1*s2**2*sqrt(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Float:ACos:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: -1.0*1/(s1**5*s2**3*(1 - 1.0*1/(s1**2*s2**2))**(3/2)) - 2.0*1/(s1**3*s2*sqrt(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Float:ACos:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -1.0*1/(s1**4*s2**4*(1 - 1.0*1/(s1**2*s2**2))**(3/2)) - 1.0*1/(s1**2*s2**2*sqrt(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Float:ACos:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -1.0*1/(s1**4*s2**4*(1 - 1.0*1/(s1**2*s2**2))**(3/2)) - 1.0*1/(s1**2*s2**2*sqrt(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Float:ACos:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: -1.0*1/(s1**3*s2**5*(1 - 1.0*1/(s1**2*s2**2))**(3/2)) - 2.0*1/(s1*s2**3*sqrt(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Float:ACos:Symbolic computation: Substitution::subs_psi: 1.40335
+DEAL:Float:ACos:Symbolic computation: Substitution::subs_dpsi_ds0: 0.0563436
+DEAL:Float:ACos:Symbolic computation: Substitution::subs_dpsi_ds1: 0.0845154
+DEAL:Float:ACos:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: -0.0380990
+DEAL:Float:ACos:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: -0.0289767
+DEAL:Float:ACos:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: -0.0289767
+DEAL:Float:ACos:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: -0.0857228
+DEAL:Float:ATan:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Float:ATan:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Float:ATan:Symbolic computation: Function initialisation::symb_psi: atan(1.0/(s1*s2))
+DEAL:Float:ATan:Symbolic computation: Differentiation::symb_dpsi_ds0: -1.0/(s1**2*s2*(1 + 1.0*1/(s1**2*s2**2)))
+DEAL:Float:ATan:Symbolic computation: Differentiation::symb_dpsi_ds1: -1.0/(s1*s2**2*(1 + 1.0*1/(s1**2*s2**2)))
+DEAL:Float:ATan:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: -2.0*1/(s1**5*s2**3*(1 + 1.0*1/(s1**2*s2**2))**2) + 2.0*1/(s1**3*s2*(1 + 1.0*1/(s1**2*s2**2)))
+DEAL:Float:ATan:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -2.0*1/(s1**4*s2**4*(1 + 1.0*1/(s1**2*s2**2))**2) + 1.0*1/(s1**2*s2**2*(1 + 1.0*1/(s1**2*s2**2)))
+DEAL:Float:ATan:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -2.0*1/(s1**4*s2**4*(1 + 1.0*1/(s1**2*s2**2))**2) + 1.0*1/(s1**2*s2**2*(1 + 1.0*1/(s1**2*s2**2)))
+DEAL:Float:ATan:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: -2.0*1/(s1**3*s2**5*(1 + 1.0*1/(s1**2*s2**2))**2) + 2.0*1/(s1*s2**3*(1 + 1.0*1/(s1**2*s2**2)))
+DEAL:Float:ATan:Symbolic computation: Substitution::subs_psi: 0.165149
+DEAL:Float:ATan:Symbolic computation: Substitution::subs_dpsi_ds0: -0.0540541
+DEAL:Float:ATan:Symbolic computation: Substitution::subs_dpsi_ds1: -0.0810811
+DEAL:Float:ATan:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: 0.0350621
+DEAL:Float:ATan:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: 0.0255661
+DEAL:Float:ATan:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: 0.0255661
+DEAL:Float:ATan:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: 0.0788897
+DEAL:Float:ATan2:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Float:ATan2:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Float:ATan2:Symbolic computation: Function initialisation::symb_psi: 3.0*atan2(s2, s1)
+DEAL:Float:ATan2:Symbolic computation: Differentiation::symb_dpsi_ds0: -3.0*s2/(s1**2 + s2**2)
+DEAL:Float:ATan2:Symbolic computation: Differentiation::symb_dpsi_ds1: 3.0*s1/(s1**2 + s2**2)
+DEAL:Float:ATan2:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 6.0*s1*s2/(s1**2 + s2**2)**2
+DEAL:Float:ATan2:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: 6.0*s2**2/(s1**2 + s2**2)**2 - 3.0*(s1**2 + s2**2)**(-1)
+DEAL:Float:ATan2:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -6.0*s1**2/(s1**2 + s2**2)**2 + 3.0*(s1**2 + s2**2)**(-1)
+DEAL:Float:ATan2:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: -6.0*s1*s2/(s1**2 + s2**2)**2
+DEAL:Float:ATan2:Symbolic computation: Substitution::subs_psi: 1.76401
+DEAL:Float:ATan2:Symbolic computation: Substitution::subs_dpsi_ds0: -0.461538
+DEAL:Float:ATan2:Symbolic computation: Substitution::subs_dpsi_ds1: 0.692308
+DEAL:Float:ATan2:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: 0.213018
+DEAL:Float:ATan2:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: -0.0887574
+DEAL:Float:ATan2:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: -0.0887574
+DEAL:Float:ATan2:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: -0.213018
+DEAL:Float:Sinh:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Float:Sinh:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Float:Sinh:Symbolic computation: Function initialisation::symb_psi: sinh(s2/s1)
+DEAL:Float:Sinh:Symbolic computation: Differentiation::symb_dpsi_ds0: -s2*cosh(s2/s1)/s1**2
+DEAL:Float:Sinh:Symbolic computation: Differentiation::symb_dpsi_ds1: cosh(s2/s1)/s1
+DEAL:Float:Sinh:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: s2**2*sinh(s2/s1)/s1**4 + 2*s2*cosh(s2/s1)/s1**3
+DEAL:Float:Sinh:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -cosh(s2/s1)/s1**2 - s2*sinh(s2/s1)/s1**3
+DEAL:Float:Sinh:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -cosh(s2/s1)/s1**2 - s2*sinh(s2/s1)/s1**3
+DEAL:Float:Sinh:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: sinh(s2/s1)/s1**2
+DEAL:Float:Sinh:Symbolic computation: Substitution::subs_psi: 0.717158
+DEAL:Float:Sinh:Symbolic computation: Substitution::subs_dpsi_ds0: -0.273461
+DEAL:Float:Sinh:Symbolic computation: Substitution::subs_dpsi_ds1: 0.410192
+DEAL:Float:Sinh:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: 0.217723
+DEAL:Float:Sinh:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: -0.189853
+DEAL:Float:Sinh:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: -0.189853
+DEAL:Float:Sinh:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: 0.0796843
+DEAL:Float:Cosh:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Float:Cosh:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Float:Cosh:Symbolic computation: Function initialisation::symb_psi: cosh(s2/s1)
+DEAL:Float:Cosh:Symbolic computation: Differentiation::symb_dpsi_ds0: -s2*sinh(s2/s1)/s1**2
+DEAL:Float:Cosh:Symbolic computation: Differentiation::symb_dpsi_ds1: sinh(s2/s1)/s1
+DEAL:Float:Cosh:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: s2**2*cosh(s2/s1)/s1**4 + 2*s2*sinh(s2/s1)/s1**3
+DEAL:Float:Cosh:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -sinh(s2/s1)/s1**2 - s2*cosh(s2/s1)/s1**3
+DEAL:Float:Cosh:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -sinh(s2/s1)/s1**2 - s2*cosh(s2/s1)/s1**3
+DEAL:Float:Cosh:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: cosh(s2/s1)/s1**2
+DEAL:Float:Cosh:Symbolic computation: Substitution::subs_psi: 1.23058
+DEAL:Float:Cosh:Symbolic computation: Substitution::subs_dpsi_ds0: -0.159369
+DEAL:Float:Cosh:Symbolic computation: Substitution::subs_dpsi_ds1: 0.239053
+DEAL:Float:Cosh:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: 0.167015
+DEAL:Float:Cosh:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: -0.170838
+DEAL:Float:Cosh:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: -0.170838
+DEAL:Float:Cosh:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: 0.136731
+DEAL:Float:Tanh:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Float:Tanh:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Float:Tanh:Symbolic computation: Function initialisation::symb_psi: tanh(s2/s1)
+DEAL:Float:Tanh:Symbolic computation: Differentiation::symb_dpsi_ds0: -s2*(1 - tanh(s2/s1)**2)/s1**2
+DEAL:Float:Tanh:Symbolic computation: Differentiation::symb_dpsi_ds1: (1 - tanh(s2/s1)**2)/s1
+DEAL:Float:Tanh:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 2*s2*(1 - tanh(s2/s1)**2)/s1**3 - 2*s2**2*tanh(s2/s1)*(1 - tanh(s2/s1)**2)/s1**4
+DEAL:Float:Tanh:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -(1 - tanh(s2/s1)**2)/s1**2 + 2*s2*tanh(s2/s1)*(1 - tanh(s2/s1)**2)/s1**3
+DEAL:Float:Tanh:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -(1 - tanh(s2/s1)**2)/s1**2 + 2*s2*tanh(s2/s1)*(1 - tanh(s2/s1)**2)/s1**3
+DEAL:Float:Tanh:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: -2*tanh(s2/s1)*(1 - tanh(s2/s1)**2)/s1**2
+DEAL:Float:Tanh:Symbolic computation: Substitution::subs_psi: 0.582783
+DEAL:Float:Tanh:Symbolic computation: Substitution::subs_dpsi_ds0: -0.146748
+DEAL:Float:Tanh:Symbolic computation: Substitution::subs_dpsi_ds1: 0.220121
+DEAL:Float:Tanh:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: 0.0598219
+DEAL:Float:Tanh:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: -0.0163591
+DEAL:Float:Tanh:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: -0.0163591
+DEAL:Float:Tanh:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: -0.0855220
+DEAL:Float:ASinh:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Float:ASinh:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Float:ASinh:Symbolic computation: Function initialisation::symb_psi: asinh(1.0/(s1*s2))
+DEAL:Float:ASinh:Symbolic computation: Differentiation::symb_dpsi_ds0: -1.0/(s1**2*s2*sqrt(1 + 1.0*1/(s1**2*s2**2)))
+DEAL:Float:ASinh:Symbolic computation: Differentiation::symb_dpsi_ds1: -1.0/(s1*s2**2*sqrt(1 + 1.0*1/(s1**2*s2**2)))
+DEAL:Float:ASinh:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: -1.0*1/(s1**5*s2**3*(1 + 1.0*1/(s1**2*s2**2))**(3/2)) + 2.0*1/(s1**3*s2*sqrt(1 + 1.0*1/(s1**2*s2**2)))
+DEAL:Float:ASinh:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -1.0*1/(s1**4*s2**4*(1 + 1.0*1/(s1**2*s2**2))**(3/2)) + 1.0*1/(s1**2*s2**2*sqrt(1 + 1.0*1/(s1**2*s2**2)))
+DEAL:Float:ASinh:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -1.0*1/(s1**4*s2**4*(1 + 1.0*1/(s1**2*s2**2))**(3/2)) + 1.0*1/(s1**2*s2**2*sqrt(1 + 1.0*1/(s1**2*s2**2)))
+DEAL:Float:ASinh:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: -1.0*1/(s1**3*s2**5*(1 + 1.0*1/(s1**2*s2**2))**(3/2)) + 2.0*1/(s1*s2**3*sqrt(1 + 1.0*1/(s1**2*s2**2)))
+DEAL:Float:ASinh:Symbolic computation: Substitution::subs_psi: 0.165905
+DEAL:Float:ASinh:Symbolic computation: Substitution::subs_dpsi_ds0: -0.0547997
+DEAL:Float:ASinh:Symbolic computation: Substitution::subs_dpsi_ds1: -0.0821995
+DEAL:Float:ASinh:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: 0.0360394
+DEAL:Float:ASinh:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: 0.0266593
+DEAL:Float:ASinh:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: 0.0266593
+DEAL:Float:ASinh:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: 0.0810887
+DEAL:Float:ACosh:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Float:ACosh:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Float:ACosh:Symbolic computation: Function initialisation::symb_psi: acosh(s1*s2)
+DEAL:Float:ACosh:Symbolic computation: Differentiation::symb_dpsi_ds0: s2/sqrt(-1 + s1**2*s2**2)
+DEAL:Float:ACosh:Symbolic computation: Differentiation::symb_dpsi_ds1: s1/sqrt(-1 + s1**2*s2**2)
+DEAL:Float:ACosh:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: -s1*s2**3/(-1 + s1**2*s2**2)**(3/2)
+DEAL:Float:ACosh:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -s1**2*s2**2/(-1 + s1**2*s2**2)**(3/2) + (-1 + s1**2*s2**2)**(-1/2)
+DEAL:Float:ACosh:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -s1**2*s2**2/(-1 + s1**2*s2**2)**(3/2) + (-1 + s1**2*s2**2)**(-1/2)
+DEAL:Float:ACosh:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: -s1**3*s2/(-1 + s1**2*s2**2)**(3/2)
+DEAL:Float:ACosh:Symbolic computation: Substitution::subs_psi: 2.47789
+DEAL:Float:ACosh:Symbolic computation: Substitution::subs_dpsi_ds0: 0.338062
+DEAL:Float:ACosh:Symbolic computation: Substitution::subs_dpsi_ds1: 0.507093
+DEAL:Float:ACosh:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: -0.115907
+DEAL:Float:ACosh:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: -0.00482945
+DEAL:Float:ACosh:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: -0.00482945
+DEAL:Float:ACosh:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: -0.260790
+DEAL:Float:ATanh:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Float:ATanh:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Float:ATanh:Symbolic computation: Function initialisation::symb_psi: atanh(1.0/(s1*s2))
+DEAL:Float:ATanh:Symbolic computation: Differentiation::symb_dpsi_ds0: -1.0/(s1**2*s2*(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Float:ATanh:Symbolic computation: Differentiation::symb_dpsi_ds1: -1.0/(s1*s2**2*(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Float:ATanh:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 2.0*1/(s1**5*s2**3*(1 - 1.0*1/(s1**2*s2**2))**2) + 2.0*1/(s1**3*s2*(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Float:ATanh:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: 2.0*1/(s1**4*s2**4*(1 - 1.0*1/(s1**2*s2**2))**2) + 1.0*1/(s1**2*s2**2*(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Float:ATanh:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: 2.0*1/(s1**4*s2**4*(1 - 1.0*1/(s1**2*s2**2))**2) + 1.0*1/(s1**2*s2**2*(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Float:ATanh:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: 2.0*1/(s1**3*s2**5*(1 - 1.0*1/(s1**2*s2**2))**2) + 2.0*1/(s1*s2**3*(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Float:ATanh:Symbolic computation: Substitution::subs_psi: 0.168236
+DEAL:Float:ATanh:Symbolic computation: Substitution::subs_dpsi_ds0: -0.0571429
+DEAL:Float:ATanh:Symbolic computation: Substitution::subs_dpsi_ds1: -0.0857143
+DEAL:Float:ATanh:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: 0.0391837
+DEAL:Float:ATanh:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: 0.0302041
+DEAL:Float:ATanh:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: 0.0302041
+DEAL:Float:ATanh:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: 0.0881633
+DEAL:Float:Erf:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Float:Erf:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Float:Erf:Symbolic computation: Function initialisation::symb_psi: s1**2*erf(s2)
+DEAL:Float:Erf:Symbolic computation: Differentiation::symb_dpsi_ds0: 2*s1*erf(s2)
+DEAL:Float:Erf:Symbolic computation: Differentiation::symb_dpsi_ds1: 2*exp(-s2**2)*s1**2/sqrt(pi)
+DEAL:Float:Erf:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 2*erf(s2)
+DEAL:Float:Erf:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: 4*exp(-s2**2)*s1/sqrt(pi)
+DEAL:Float:Erf:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: 4*exp(-s2**2)*s1/sqrt(pi)
+DEAL:Float:Erf:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: -4*exp(-s2**2)*s1**2*s2/sqrt(pi)
+DEAL:Float:Erf:Symbolic computation: Substitution::subs_psi: 8.95790
+DEAL:Float:Erf:Symbolic computation: Substitution::subs_dpsi_ds0: 5.97193
+DEAL:Float:Erf:Symbolic computation: Substitution::subs_dpsi_ds1: 0.186003
+DEAL:Float:Erf:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: 1.99064
+DEAL:Float:Erf:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: 0.124002
+DEAL:Float:Erf:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: 0.124002
+DEAL:Float:Erf:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: -0.744011
+DEAL:Float:Erfc:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Float:Erfc:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Float:Erfc:Symbolic computation: Function initialisation::symb_psi: s1**2*erfc(s2)
+DEAL:Float:Erfc:Symbolic computation: Differentiation::symb_dpsi_ds0: 2*s1*erfc(s2)
+DEAL:Float:Erfc:Symbolic computation: Differentiation::symb_dpsi_ds1: -2*exp(-s2**2)*s1**2/sqrt(pi)
+DEAL:Float:Erfc:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 2*erfc(s2)
+DEAL:Float:Erfc:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -4*exp(-s2**2)*s1/sqrt(pi)
+DEAL:Float:Erfc:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -4*exp(-s2**2)*s1/sqrt(pi)
+DEAL:Float:Erfc:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: 4*exp(-s2**2)*s1**2*s2/sqrt(pi)
+DEAL:Float:Erfc:Symbolic computation: Substitution::subs_psi: 0.0420996
+DEAL:Float:Erfc:Symbolic computation: Substitution::subs_dpsi_ds0: 0.0280664
+DEAL:Float:Erfc:Symbolic computation: Substitution::subs_dpsi_ds1: -0.186003
+DEAL:Float:Erfc:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: 0.00935547
+DEAL:Float:Erfc:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: -0.124002
+DEAL:Float:Erfc:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: -0.124002
+DEAL:Float:Erfc:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: 0.744011
+DEAL:Float::OK
+DEAL:Double:Add:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Double:Add:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Double:Add:Symbolic computation: Function initialisation::symb_psi: (s1 + s2)**2
+DEAL:Double:Add:Symbolic computation: Differentiation::symb_dpsi_ds0: 2*(s1 + s2)
+DEAL:Double:Add:Symbolic computation: Differentiation::symb_dpsi_ds1: 2*(s1 + s2)
+DEAL:Double:Add:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 2
+DEAL:Double:Add:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: 2
+DEAL:Double:Add:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: 2
+DEAL:Double:Add:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: 2
+DEAL:Double:Add:Symbolic computation: Substitution::subs_psi: 25.0000
+DEAL:Double:Add:Symbolic computation: Substitution::subs_dpsi_ds0: 10.0000
+DEAL:Double:Add:Symbolic computation: Substitution::subs_dpsi_ds1: 10.0000
+DEAL:Double:Add:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: 2.00000
+DEAL:Double:Add:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: 2.00000
+DEAL:Double:Add:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: 2.00000
+DEAL:Double:Add:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: 2.00000
+DEAL:Double:Subtract:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Double:Subtract:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Double:Subtract:Symbolic computation: Function initialisation::symb_psi: (s1 - s2)**2
+DEAL:Double:Subtract:Symbolic computation: Differentiation::symb_dpsi_ds0: 2*(s1 - s2)
+DEAL:Double:Subtract:Symbolic computation: Differentiation::symb_dpsi_ds1: -2*(s1 - s2)
+DEAL:Double:Subtract:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 2
+DEAL:Double:Subtract:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -2
+DEAL:Double:Subtract:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -2
+DEAL:Double:Subtract:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: 2
+DEAL:Double:Subtract:Symbolic computation: Substitution::subs_psi: 1.00000
+DEAL:Double:Subtract:Symbolic computation: Substitution::subs_dpsi_ds0: 2.00000
+DEAL:Double:Subtract:Symbolic computation: Substitution::subs_dpsi_ds1: -2.00000
+DEAL:Double:Subtract:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: 2.00000
+DEAL:Double:Subtract:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: -2.00000
+DEAL:Double:Subtract:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: -2.00000
+DEAL:Double:Subtract:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: 2.00000
+DEAL:Double:Multiply:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Double:Multiply:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Double:Multiply:Symbolic computation: Function initialisation::symb_psi: s1**2*s2**2
+DEAL:Double:Multiply:Symbolic computation: Differentiation::symb_dpsi_ds0: 2*s1*s2**2
+DEAL:Double:Multiply:Symbolic computation: Differentiation::symb_dpsi_ds1: 2*s1**2*s2
+DEAL:Double:Multiply:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 2*s2**2
+DEAL:Double:Multiply:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: 4*s1*s2
+DEAL:Double:Multiply:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: 4*s1*s2
+DEAL:Double:Multiply:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: 2*s1**2
+DEAL:Double:Multiply:Symbolic computation: Substitution::subs_psi: 36.0000
+DEAL:Double:Multiply:Symbolic computation: Substitution::subs_dpsi_ds0: 24.0000
+DEAL:Double:Multiply:Symbolic computation: Substitution::subs_dpsi_ds1: 36.0000
+DEAL:Double:Multiply:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: 8.00000
+DEAL:Double:Multiply:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: 24.0000
+DEAL:Double:Multiply:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: 24.0000
+DEAL:Double:Multiply:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: 18.0000
+DEAL:Double:Divide:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Double:Divide:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Double:Divide:Symbolic computation: Function initialisation::symb_psi: s1**2/s2**2
+DEAL:Double:Divide:Symbolic computation: Differentiation::symb_dpsi_ds0: 2*s1/s2**2
+DEAL:Double:Divide:Symbolic computation: Differentiation::symb_dpsi_ds1: -2*s1**2/s2**3
+DEAL:Double:Divide:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 2/s2**2
+DEAL:Double:Divide:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -4*s1/s2**3
+DEAL:Double:Divide:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -4*s1/s2**3
+DEAL:Double:Divide:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: 6*s1**2/s2**4
+DEAL:Double:Divide:Symbolic computation: Substitution::subs_psi: 2.25000
+DEAL:Double:Divide:Symbolic computation: Substitution::subs_dpsi_ds0: 1.50000
+DEAL:Double:Divide:Symbolic computation: Substitution::subs_dpsi_ds1: -2.25000
+DEAL:Double:Divide:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: 0.500000
+DEAL:Double:Divide:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: -1.50000
+DEAL:Double:Divide:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: -1.50000
+DEAL:Double:Divide:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: 3.37500
+DEAL:Double:Power:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Double:Power:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Double:Power:Symbolic computation: Function initialisation::symb_psi: 2.0*s1**s2
+DEAL:Double:Power:Symbolic computation: Differentiation::symb_dpsi_ds0: 2.0*s1**(-1 + s2)*s2
+DEAL:Double:Power:Symbolic computation: Differentiation::symb_dpsi_ds1: 2.0*s1**s2*log(s1)
+DEAL:Double:Power:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 2.0*s1**(-2 + s2)*s2*(-1 + s2)
+DEAL:Double:Power:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: 2.0*s1**(-1 + s2)*s2*log(s1) + 2.0*s1**(-1 + s2)
+DEAL:Double:Power:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: 2.0*s1**(-1 + s2)*s2*log(s1) + 2.0*s1**(-1 + s2)
+DEAL:Double:Power:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: 2.0*s1**s2*log(s1)**2
+DEAL:Double:Power:Symbolic computation: Substitution::subs_psi: 18.0000
+DEAL:Double:Power:Symbolic computation: Substitution::subs_dpsi_ds0: 12.0000
+DEAL:Double:Power:Symbolic computation: Substitution::subs_dpsi_ds1: 19.7750
+DEAL:Double:Power:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: 4.00000
+DEAL:Double:Power:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: 19.1833
+DEAL:Double:Power:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: 19.1833
+DEAL:Double:Power:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: 21.7251
+DEAL:Double:Sqrt:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Double:Sqrt:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Double:Sqrt:Symbolic computation: Function initialisation::symb_psi: 2.0*sqrt(s1*s2)
+DEAL:Double:Sqrt:Symbolic computation: Differentiation::symb_dpsi_ds0: 1.0*s2/sqrt(s1*s2)
+DEAL:Double:Sqrt:Symbolic computation: Differentiation::symb_dpsi_ds1: 1.0*s1/sqrt(s1*s2)
+DEAL:Double:Sqrt:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: -0.5*s2**2/(s1*s2)**(3/2)
+DEAL:Double:Sqrt:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -0.5*s1*s2/(s1*s2)**(3/2) + 1.0*(s1*s2)**(-1/2)
+DEAL:Double:Sqrt:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -0.5*s1*s2/(s1*s2)**(3/2) + 1.0*(s1*s2)**(-1/2)
+DEAL:Double:Sqrt:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: -0.5*s1**2/(s1*s2)**(3/2)
+DEAL:Double:Sqrt:Symbolic computation: Substitution::subs_psi: 4.89898
+DEAL:Double:Sqrt:Symbolic computation: Substitution::subs_dpsi_ds0: 0.816497
+DEAL:Double:Sqrt:Symbolic computation: Substitution::subs_dpsi_ds1: 1.22474
+DEAL:Double:Sqrt:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: -0.136083
+DEAL:Double:Sqrt:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: 0.204124
+DEAL:Double:Sqrt:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: 0.204124
+DEAL:Double:Sqrt:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: -0.306186
+DEAL:Double:Exponential:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Double:Exponential:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Double:Exponential:Symbolic computation: Function initialisation::symb_psi: exp(s2)*s1**2
+DEAL:Double:Exponential:Symbolic computation: Differentiation::symb_dpsi_ds0: 2*exp(s2)*s1
+DEAL:Double:Exponential:Symbolic computation: Differentiation::symb_dpsi_ds1: exp(s2)*s1**2
+DEAL:Double:Exponential:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 2*exp(s2)
+DEAL:Double:Exponential:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: 2*exp(s2)*s1
+DEAL:Double:Exponential:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: 2*exp(s2)*s1
+DEAL:Double:Exponential:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: exp(s2)*s1**2
+DEAL:Double:Exponential:Symbolic computation: Substitution::subs_psi: 66.5015
+DEAL:Double:Exponential:Symbolic computation: Substitution::subs_dpsi_ds0: 44.3343
+DEAL:Double:Exponential:Symbolic computation: Substitution::subs_dpsi_ds1: 66.5015
+DEAL:Double:Exponential:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: 14.7781
+DEAL:Double:Exponential:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: 44.3343
+DEAL:Double:Exponential:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: 44.3343
+DEAL:Double:Exponential:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: 66.5015
+DEAL:Double:Logarithm:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Double:Logarithm:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Double:Logarithm:Symbolic computation: Function initialisation::symb_psi: s1**2*log(s2)
+DEAL:Double:Logarithm:Symbolic computation: Differentiation::symb_dpsi_ds0: 2*s1*log(s2)
+DEAL:Double:Logarithm:Symbolic computation: Differentiation::symb_dpsi_ds1: s1**2/s2
+DEAL:Double:Logarithm:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 2*log(s2)
+DEAL:Double:Logarithm:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: 2*s1/s2
+DEAL:Double:Logarithm:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: 2*s1/s2
+DEAL:Double:Logarithm:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: -s1**2/s2**2
+DEAL:Double:Logarithm:Symbolic computation: Substitution::subs_psi: 6.23832
+DEAL:Double:Logarithm:Symbolic computation: Substitution::subs_dpsi_ds0: 4.15888
+DEAL:Double:Logarithm:Symbolic computation: Substitution::subs_dpsi_ds1: 4.50000
+DEAL:Double:Logarithm:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: 1.38629
+DEAL:Double:Logarithm:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: 3.00000
+DEAL:Double:Logarithm:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: 3.00000
+DEAL:Double:Logarithm:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: -2.25000
+DEAL:Double:Logarithm with Base:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Double:Logarithm with Base:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Double:Logarithm with Base:Symbolic computation: Function initialisation::symb_psi: log(s2)/log(s1)
+DEAL:Double:Logarithm with Base:Symbolic computation: Differentiation::symb_dpsi_ds0: -log(s2)/(s1*log(s1)**2)
+DEAL:Double:Logarithm with Base:Symbolic computation: Differentiation::symb_dpsi_ds1: 1/(s2*log(s1))
+DEAL:Double:Logarithm with Base:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 2*log(s2)/(s1**2*log(s1)**3) + log(s2)/(s1**2*log(s1)**2)
+DEAL:Double:Logarithm with Base:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -1/(s1*s2*log(s1)**2)
+DEAL:Double:Logarithm with Base:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -1/(s1*s2*log(s1)**2)
+DEAL:Double:Logarithm with Base:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: -1/(s2**2*log(s1))
+DEAL:Double:Logarithm with Base:Symbolic computation: Substitution::subs_psi: 0.630930
+DEAL:Double:Logarithm with Base:Symbolic computation: Substitution::subs_dpsi_ds0: -0.191432
+DEAL:Double:Logarithm with Base:Symbolic computation: Substitution::subs_dpsi_ds1: 0.455120
+DEAL:Double:Logarithm with Base:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: 0.179977
+DEAL:Double:Logarithm with Base:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: -0.138089
+DEAL:Double:Logarithm with Base:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: -0.138089
+DEAL:Double:Logarithm with Base:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: -0.227560
+DEAL:Double:Logarithm base 10:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Double:Logarithm base 10:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Double:Logarithm base 10:Symbolic computation: Function initialisation::symb_psi: 0.434294481903252*s1**2*log(s2)
+DEAL:Double:Logarithm base 10:Symbolic computation: Differentiation::symb_dpsi_ds0: 0.868588963806504*s1*log(s2)
+DEAL:Double:Logarithm base 10:Symbolic computation: Differentiation::symb_dpsi_ds1: 0.434294481903252*s1**2/s2
+DEAL:Double:Logarithm base 10:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 0.868588963806504*log(s2)
+DEAL:Double:Logarithm base 10:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: 0.868588963806504*s1/s2
+DEAL:Double:Logarithm base 10:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: 0.868588963806504*s1/s2
+DEAL:Double:Logarithm base 10:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: -0.434294481903252*s1**2/s2**2
+DEAL:Double:Logarithm base 10:Symbolic computation: Substitution::subs_psi: 2.70927
+DEAL:Double:Logarithm base 10:Symbolic computation: Substitution::subs_dpsi_ds0: 1.80618
+DEAL:Double:Logarithm base 10:Symbolic computation: Substitution::subs_dpsi_ds1: 1.95433
+DEAL:Double:Logarithm base 10:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: 0.602060
+DEAL:Double:Logarithm base 10:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: 1.30288
+DEAL:Double:Logarithm base 10:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: 1.30288
+DEAL:Double:Logarithm base 10:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: -0.977163
+DEAL:Double:Sin:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Double:Sin:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Double:Sin:Symbolic computation: Function initialisation::symb_psi: sin(s2/s1)
+DEAL:Double:Sin:Symbolic computation: Differentiation::symb_dpsi_ds0: -s2*cos(s2/s1)/s1**2
+DEAL:Double:Sin:Symbolic computation: Differentiation::symb_dpsi_ds1: cos(s2/s1)/s1
+DEAL:Double:Sin:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: -s2**2*sin(s2/s1)/s1**4 + 2*s2*cos(s2/s1)/s1**3
+DEAL:Double:Sin:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -cos(s2/s1)/s1**2 + s2*sin(s2/s1)/s1**3
+DEAL:Double:Sin:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -cos(s2/s1)/s1**2 + s2*sin(s2/s1)/s1**3
+DEAL:Double:Sin:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: -sin(s2/s1)/s1**2
+DEAL:Double:Sin:Symbolic computation: Substitution::subs_psi: 0.618370
+DEAL:Double:Sin:Symbolic computation: Substitution::subs_dpsi_ds0: -0.174642
+DEAL:Double:Sin:Symbolic computation: Substitution::subs_dpsi_ds1: 0.261962
+DEAL:Double:Sin:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: 0.0858910
+DEAL:Double:Sin:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: -0.0415156
+DEAL:Double:Sin:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: -0.0415156
+DEAL:Double:Sin:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: -0.0687078
+DEAL:Double:Cos:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Double:Cos:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Double:Cos:Symbolic computation: Function initialisation::symb_psi: cos(s2/s1)
+DEAL:Double:Cos:Symbolic computation: Differentiation::symb_dpsi_ds0: s2*sin(s2/s1)/s1**2
+DEAL:Double:Cos:Symbolic computation: Differentiation::symb_dpsi_ds1: -sin(s2/s1)/s1
+DEAL:Double:Cos:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: -s2**2*cos(s2/s1)/s1**4 - 2*s2*sin(s2/s1)/s1**3
+DEAL:Double:Cos:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: sin(s2/s1)/s1**2 + s2*cos(s2/s1)/s1**3
+DEAL:Double:Cos:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: sin(s2/s1)/s1**2 + s2*cos(s2/s1)/s1**3
+DEAL:Double:Cos:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: -cos(s2/s1)/s1**2
+DEAL:Double:Cos:Symbolic computation: Substitution::subs_psi: 0.785887
+DEAL:Double:Cos:Symbolic computation: Substitution::subs_dpsi_ds0: 0.137416
+DEAL:Double:Cos:Symbolic computation: Substitution::subs_dpsi_ds1: -0.206123
+DEAL:Double:Cos:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: -0.130420
+DEAL:Double:Cos:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: 0.126922
+DEAL:Double:Cos:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: 0.126922
+DEAL:Double:Cos:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: -0.0873208
+DEAL:Double:Tan:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Double:Tan:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Double:Tan:Symbolic computation: Function initialisation::symb_psi: tan(s2/s1)
+DEAL:Double:Tan:Symbolic computation: Differentiation::symb_dpsi_ds0: -s2*(1 + tan(s2/s1)**2)/s1**2
+DEAL:Double:Tan:Symbolic computation: Differentiation::symb_dpsi_ds1: (1 + tan(s2/s1)**2)/s1
+DEAL:Double:Tan:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 2*s2*(1 + tan(s2/s1)**2)/s1**3 + 2*s2**2*tan(s2/s1)*(1 + tan(s2/s1)**2)/s1**4
+DEAL:Double:Tan:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -(1 + tan(s2/s1)**2)/s1**2 - 2*s2*tan(s2/s1)*(1 + tan(s2/s1)**2)/s1**3
+DEAL:Double:Tan:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -(1 + tan(s2/s1)**2)/s1**2 - 2*s2*tan(s2/s1)*(1 + tan(s2/s1)**2)/s1**3
+DEAL:Double:Tan:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: 2*tan(s2/s1)*(1 + tan(s2/s1)**2)/s1**2
+DEAL:Double:Tan:Symbolic computation: Substitution::subs_psi: 0.786843
+DEAL:Double:Tan:Symbolic computation: Substitution::subs_dpsi_ds0: -0.359805
+DEAL:Double:Tan:Symbolic computation: Substitution::subs_dpsi_ds1: 0.539707
+DEAL:Double:Tan:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: 0.365696
+DEAL:Double:Tan:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: -0.368642
+DEAL:Double:Tan:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: -0.368642
+DEAL:Double:Tan:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: 0.283110
+DEAL:Double:ASin:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Double:ASin:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Double:ASin:Symbolic computation: Function initialisation::symb_psi: asin(1.0/(s1*s2))
+DEAL:Double:ASin:Symbolic computation: Differentiation::symb_dpsi_ds0: -1.0/(s1**2*s2*sqrt(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Double:ASin:Symbolic computation: Differentiation::symb_dpsi_ds1: -1.0/(s1*s2**2*sqrt(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Double:ASin:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 1.0*1/(s1**5*s2**3*(1 - 1.0*1/(s1**2*s2**2))**(3/2)) + 2.0*1/(s1**3*s2*sqrt(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Double:ASin:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: 1.0*1/(s1**4*s2**4*(1 - 1.0*1/(s1**2*s2**2))**(3/2)) + 1.0*1/(s1**2*s2**2*sqrt(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Double:ASin:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: 1.0*1/(s1**4*s2**4*(1 - 1.0*1/(s1**2*s2**2))**(3/2)) + 1.0*1/(s1**2*s2**2*sqrt(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Double:ASin:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: 1.0*1/(s1**3*s2**5*(1 - 1.0*1/(s1**2*s2**2))**(3/2)) + 2.0*1/(s1*s2**3*sqrt(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Double:ASin:Symbolic computation: Substitution::subs_psi: 0.167448
+DEAL:Double:ASin:Symbolic computation: Substitution::subs_dpsi_ds0: -0.0563436
+DEAL:Double:ASin:Symbolic computation: Substitution::subs_dpsi_ds1: -0.0845154
+DEAL:Double:ASin:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: 0.0380990
+DEAL:Double:ASin:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: 0.0289767
+DEAL:Double:ASin:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: 0.0289767
+DEAL:Double:ASin:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: 0.0857228
+DEAL:Double:ACos:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Double:ACos:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Double:ACos:Symbolic computation: Function initialisation::symb_psi: acos(1.0/(s1*s2))
+DEAL:Double:ACos:Symbolic computation: Differentiation::symb_dpsi_ds0: 1.0/(s1**2*s2*sqrt(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Double:ACos:Symbolic computation: Differentiation::symb_dpsi_ds1: 1.0/(s1*s2**2*sqrt(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Double:ACos:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: -1.0*1/(s1**5*s2**3*(1 - 1.0*1/(s1**2*s2**2))**(3/2)) - 2.0*1/(s1**3*s2*sqrt(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Double:ACos:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -1.0*1/(s1**4*s2**4*(1 - 1.0*1/(s1**2*s2**2))**(3/2)) - 1.0*1/(s1**2*s2**2*sqrt(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Double:ACos:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -1.0*1/(s1**4*s2**4*(1 - 1.0*1/(s1**2*s2**2))**(3/2)) - 1.0*1/(s1**2*s2**2*sqrt(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Double:ACos:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: -1.0*1/(s1**3*s2**5*(1 - 1.0*1/(s1**2*s2**2))**(3/2)) - 2.0*1/(s1*s2**3*sqrt(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Double:ACos:Symbolic computation: Substitution::subs_psi: 1.40335
+DEAL:Double:ACos:Symbolic computation: Substitution::subs_dpsi_ds0: 0.0563436
+DEAL:Double:ACos:Symbolic computation: Substitution::subs_dpsi_ds1: 0.0845154
+DEAL:Double:ACos:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: -0.0380990
+DEAL:Double:ACos:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: -0.0289767
+DEAL:Double:ACos:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: -0.0289767
+DEAL:Double:ACos:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: -0.0857228
+DEAL:Double:ATan:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Double:ATan:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Double:ATan:Symbolic computation: Function initialisation::symb_psi: atan(1.0/(s1*s2))
+DEAL:Double:ATan:Symbolic computation: Differentiation::symb_dpsi_ds0: -1.0/(s1**2*s2*(1 + 1.0*1/(s1**2*s2**2)))
+DEAL:Double:ATan:Symbolic computation: Differentiation::symb_dpsi_ds1: -1.0/(s1*s2**2*(1 + 1.0*1/(s1**2*s2**2)))
+DEAL:Double:ATan:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: -2.0*1/(s1**5*s2**3*(1 + 1.0*1/(s1**2*s2**2))**2) + 2.0*1/(s1**3*s2*(1 + 1.0*1/(s1**2*s2**2)))
+DEAL:Double:ATan:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -2.0*1/(s1**4*s2**4*(1 + 1.0*1/(s1**2*s2**2))**2) + 1.0*1/(s1**2*s2**2*(1 + 1.0*1/(s1**2*s2**2)))
+DEAL:Double:ATan:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -2.0*1/(s1**4*s2**4*(1 + 1.0*1/(s1**2*s2**2))**2) + 1.0*1/(s1**2*s2**2*(1 + 1.0*1/(s1**2*s2**2)))
+DEAL:Double:ATan:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: -2.0*1/(s1**3*s2**5*(1 + 1.0*1/(s1**2*s2**2))**2) + 2.0*1/(s1*s2**3*(1 + 1.0*1/(s1**2*s2**2)))
+DEAL:Double:ATan:Symbolic computation: Substitution::subs_psi: 0.165149
+DEAL:Double:ATan:Symbolic computation: Substitution::subs_dpsi_ds0: -0.0540541
+DEAL:Double:ATan:Symbolic computation: Substitution::subs_dpsi_ds1: -0.0810811
+DEAL:Double:ATan:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: 0.0350621
+DEAL:Double:ATan:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: 0.0255661
+DEAL:Double:ATan:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: 0.0255661
+DEAL:Double:ATan:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: 0.0788897
+DEAL:Double:ATan2:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Double:ATan2:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Double:ATan2:Symbolic computation: Function initialisation::symb_psi: 3.0*atan2(s2, s1)
+DEAL:Double:ATan2:Symbolic computation: Differentiation::symb_dpsi_ds0: -3.0*s2/(s1**2 + s2**2)
+DEAL:Double:ATan2:Symbolic computation: Differentiation::symb_dpsi_ds1: 3.0*s1/(s1**2 + s2**2)
+DEAL:Double:ATan2:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 6.0*s1*s2/(s1**2 + s2**2)**2
+DEAL:Double:ATan2:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: 6.0*s2**2/(s1**2 + s2**2)**2 - 3.0*(s1**2 + s2**2)**(-1)
+DEAL:Double:ATan2:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -6.0*s1**2/(s1**2 + s2**2)**2 + 3.0*(s1**2 + s2**2)**(-1)
+DEAL:Double:ATan2:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: -6.0*s1*s2/(s1**2 + s2**2)**2
+DEAL:Double:ATan2:Symbolic computation: Substitution::subs_psi: 1.76401
+DEAL:Double:ATan2:Symbolic computation: Substitution::subs_dpsi_ds0: -0.461538
+DEAL:Double:ATan2:Symbolic computation: Substitution::subs_dpsi_ds1: 0.692308
+DEAL:Double:ATan2:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: 0.213018
+DEAL:Double:ATan2:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: -0.0887574
+DEAL:Double:ATan2:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: -0.0887574
+DEAL:Double:ATan2:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: -0.213018
+DEAL:Double:Sinh:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Double:Sinh:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Double:Sinh:Symbolic computation: Function initialisation::symb_psi: sinh(s2/s1)
+DEAL:Double:Sinh:Symbolic computation: Differentiation::symb_dpsi_ds0: -s2*cosh(s2/s1)/s1**2
+DEAL:Double:Sinh:Symbolic computation: Differentiation::symb_dpsi_ds1: cosh(s2/s1)/s1
+DEAL:Double:Sinh:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: s2**2*sinh(s2/s1)/s1**4 + 2*s2*cosh(s2/s1)/s1**3
+DEAL:Double:Sinh:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -cosh(s2/s1)/s1**2 - s2*sinh(s2/s1)/s1**3
+DEAL:Double:Sinh:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -cosh(s2/s1)/s1**2 - s2*sinh(s2/s1)/s1**3
+DEAL:Double:Sinh:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: sinh(s2/s1)/s1**2
+DEAL:Double:Sinh:Symbolic computation: Substitution::subs_psi: 0.717158
+DEAL:Double:Sinh:Symbolic computation: Substitution::subs_dpsi_ds0: -0.273461
+DEAL:Double:Sinh:Symbolic computation: Substitution::subs_dpsi_ds1: 0.410192
+DEAL:Double:Sinh:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: 0.217723
+DEAL:Double:Sinh:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: -0.189853
+DEAL:Double:Sinh:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: -0.189853
+DEAL:Double:Sinh:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: 0.0796843
+DEAL:Double:Cosh:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Double:Cosh:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Double:Cosh:Symbolic computation: Function initialisation::symb_psi: cosh(s2/s1)
+DEAL:Double:Cosh:Symbolic computation: Differentiation::symb_dpsi_ds0: -s2*sinh(s2/s1)/s1**2
+DEAL:Double:Cosh:Symbolic computation: Differentiation::symb_dpsi_ds1: sinh(s2/s1)/s1
+DEAL:Double:Cosh:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: s2**2*cosh(s2/s1)/s1**4 + 2*s2*sinh(s2/s1)/s1**3
+DEAL:Double:Cosh:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -sinh(s2/s1)/s1**2 - s2*cosh(s2/s1)/s1**3
+DEAL:Double:Cosh:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -sinh(s2/s1)/s1**2 - s2*cosh(s2/s1)/s1**3
+DEAL:Double:Cosh:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: cosh(s2/s1)/s1**2
+DEAL:Double:Cosh:Symbolic computation: Substitution::subs_psi: 1.23058
+DEAL:Double:Cosh:Symbolic computation: Substitution::subs_dpsi_ds0: -0.159369
+DEAL:Double:Cosh:Symbolic computation: Substitution::subs_dpsi_ds1: 0.239053
+DEAL:Double:Cosh:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: 0.167015
+DEAL:Double:Cosh:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: -0.170838
+DEAL:Double:Cosh:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: -0.170838
+DEAL:Double:Cosh:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: 0.136731
+DEAL:Double:Tanh:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Double:Tanh:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Double:Tanh:Symbolic computation: Function initialisation::symb_psi: tanh(s2/s1)
+DEAL:Double:Tanh:Symbolic computation: Differentiation::symb_dpsi_ds0: -s2*(1 - tanh(s2/s1)**2)/s1**2
+DEAL:Double:Tanh:Symbolic computation: Differentiation::symb_dpsi_ds1: (1 - tanh(s2/s1)**2)/s1
+DEAL:Double:Tanh:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 2*s2*(1 - tanh(s2/s1)**2)/s1**3 - 2*s2**2*tanh(s2/s1)*(1 - tanh(s2/s1)**2)/s1**4
+DEAL:Double:Tanh:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -(1 - tanh(s2/s1)**2)/s1**2 + 2*s2*tanh(s2/s1)*(1 - tanh(s2/s1)**2)/s1**3
+DEAL:Double:Tanh:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -(1 - tanh(s2/s1)**2)/s1**2 + 2*s2*tanh(s2/s1)*(1 - tanh(s2/s1)**2)/s1**3
+DEAL:Double:Tanh:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: -2*tanh(s2/s1)*(1 - tanh(s2/s1)**2)/s1**2
+DEAL:Double:Tanh:Symbolic computation: Substitution::subs_psi: 0.582783
+DEAL:Double:Tanh:Symbolic computation: Substitution::subs_dpsi_ds0: -0.146748
+DEAL:Double:Tanh:Symbolic computation: Substitution::subs_dpsi_ds1: 0.220121
+DEAL:Double:Tanh:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: 0.0598219
+DEAL:Double:Tanh:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: -0.0163591
+DEAL:Double:Tanh:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: -0.0163591
+DEAL:Double:Tanh:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: -0.0855220
+DEAL:Double:ASinh:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Double:ASinh:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Double:ASinh:Symbolic computation: Function initialisation::symb_psi: asinh(1.0/(s1*s2))
+DEAL:Double:ASinh:Symbolic computation: Differentiation::symb_dpsi_ds0: -1.0/(s1**2*s2*sqrt(1 + 1.0*1/(s1**2*s2**2)))
+DEAL:Double:ASinh:Symbolic computation: Differentiation::symb_dpsi_ds1: -1.0/(s1*s2**2*sqrt(1 + 1.0*1/(s1**2*s2**2)))
+DEAL:Double:ASinh:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: -1.0*1/(s1**5*s2**3*(1 + 1.0*1/(s1**2*s2**2))**(3/2)) + 2.0*1/(s1**3*s2*sqrt(1 + 1.0*1/(s1**2*s2**2)))
+DEAL:Double:ASinh:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -1.0*1/(s1**4*s2**4*(1 + 1.0*1/(s1**2*s2**2))**(3/2)) + 1.0*1/(s1**2*s2**2*sqrt(1 + 1.0*1/(s1**2*s2**2)))
+DEAL:Double:ASinh:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -1.0*1/(s1**4*s2**4*(1 + 1.0*1/(s1**2*s2**2))**(3/2)) + 1.0*1/(s1**2*s2**2*sqrt(1 + 1.0*1/(s1**2*s2**2)))
+DEAL:Double:ASinh:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: -1.0*1/(s1**3*s2**5*(1 + 1.0*1/(s1**2*s2**2))**(3/2)) + 2.0*1/(s1*s2**3*sqrt(1 + 1.0*1/(s1**2*s2**2)))
+DEAL:Double:ASinh:Symbolic computation: Substitution::subs_psi: 0.165905
+DEAL:Double:ASinh:Symbolic computation: Substitution::subs_dpsi_ds0: -0.0547997
+DEAL:Double:ASinh:Symbolic computation: Substitution::subs_dpsi_ds1: -0.0821995
+DEAL:Double:ASinh:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: 0.0360394
+DEAL:Double:ASinh:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: 0.0266593
+DEAL:Double:ASinh:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: 0.0266593
+DEAL:Double:ASinh:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: 0.0810887
+DEAL:Double:ACosh:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Double:ACosh:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Double:ACosh:Symbolic computation: Function initialisation::symb_psi: acosh(s1*s2)
+DEAL:Double:ACosh:Symbolic computation: Differentiation::symb_dpsi_ds0: s2/sqrt(-1 + s1**2*s2**2)
+DEAL:Double:ACosh:Symbolic computation: Differentiation::symb_dpsi_ds1: s1/sqrt(-1 + s1**2*s2**2)
+DEAL:Double:ACosh:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: -s1*s2**3/(-1 + s1**2*s2**2)**(3/2)
+DEAL:Double:ACosh:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -s1**2*s2**2/(-1 + s1**2*s2**2)**(3/2) + (-1 + s1**2*s2**2)**(-1/2)
+DEAL:Double:ACosh:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -s1**2*s2**2/(-1 + s1**2*s2**2)**(3/2) + (-1 + s1**2*s2**2)**(-1/2)
+DEAL:Double:ACosh:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: -s1**3*s2/(-1 + s1**2*s2**2)**(3/2)
+DEAL:Double:ACosh:Symbolic computation: Substitution::subs_psi: 2.47789
+DEAL:Double:ACosh:Symbolic computation: Substitution::subs_dpsi_ds0: 0.338062
+DEAL:Double:ACosh:Symbolic computation: Substitution::subs_dpsi_ds1: 0.507093
+DEAL:Double:ACosh:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: -0.115907
+DEAL:Double:ACosh:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: -0.00482945
+DEAL:Double:ACosh:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: -0.00482945
+DEAL:Double:ACosh:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: -0.260790
+DEAL:Double:ATanh:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Double:ATanh:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Double:ATanh:Symbolic computation: Function initialisation::symb_psi: atanh(1.0/(s1*s2))
+DEAL:Double:ATanh:Symbolic computation: Differentiation::symb_dpsi_ds0: -1.0/(s1**2*s2*(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Double:ATanh:Symbolic computation: Differentiation::symb_dpsi_ds1: -1.0/(s1*s2**2*(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Double:ATanh:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 2.0*1/(s1**5*s2**3*(1 - 1.0*1/(s1**2*s2**2))**2) + 2.0*1/(s1**3*s2*(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Double:ATanh:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: 2.0*1/(s1**4*s2**4*(1 - 1.0*1/(s1**2*s2**2))**2) + 1.0*1/(s1**2*s2**2*(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Double:ATanh:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: 2.0*1/(s1**4*s2**4*(1 - 1.0*1/(s1**2*s2**2))**2) + 1.0*1/(s1**2*s2**2*(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Double:ATanh:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: 2.0*1/(s1**3*s2**5*(1 - 1.0*1/(s1**2*s2**2))**2) + 2.0*1/(s1*s2**3*(1 - 1.0*1/(s1**2*s2**2)))
+DEAL:Double:ATanh:Symbolic computation: Substitution::subs_psi: 0.168236
+DEAL:Double:ATanh:Symbolic computation: Substitution::subs_dpsi_ds0: -0.0571429
+DEAL:Double:ATanh:Symbolic computation: Substitution::subs_dpsi_ds1: -0.0857143
+DEAL:Double:ATanh:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: 0.0391837
+DEAL:Double:ATanh:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: 0.0302041
+DEAL:Double:ATanh:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: 0.0302041
+DEAL:Double:ATanh:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: 0.0881633
+DEAL:Double:Erf:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Double:Erf:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Double:Erf:Symbolic computation: Function initialisation::symb_psi: s1**2*erf(s2)
+DEAL:Double:Erf:Symbolic computation: Differentiation::symb_dpsi_ds0: 2*s1*erf(s2)
+DEAL:Double:Erf:Symbolic computation: Differentiation::symb_dpsi_ds1: 2*exp(-s2**2)*s1**2/sqrt(pi)
+DEAL:Double:Erf:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 2*erf(s2)
+DEAL:Double:Erf:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: 4*exp(-s2**2)*s1/sqrt(pi)
+DEAL:Double:Erf:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: 4*exp(-s2**2)*s1/sqrt(pi)
+DEAL:Double:Erf:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: -4*exp(-s2**2)*s1**2*s2/sqrt(pi)
+DEAL:Double:Erf:Symbolic computation: Substitution::subs_psi: 8.95790
+DEAL:Double:Erf:Symbolic computation: Substitution::subs_dpsi_ds0: 5.97193
+DEAL:Double:Erf:Symbolic computation: Substitution::subs_dpsi_ds1: 0.186003
+DEAL:Double:Erf:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: 1.99064
+DEAL:Double:Erf:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: 0.124002
+DEAL:Double:Erf:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: 0.124002
+DEAL:Double:Erf:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: -0.744011
+DEAL:Double:Erfc:Symbolic computation: Function initialisation::symb_s0: s1
+DEAL:Double:Erfc:Symbolic computation: Function initialisation::symb_s1: s2
+DEAL:Double:Erfc:Symbolic computation: Function initialisation::symb_psi: s1**2*erfc(s2)
+DEAL:Double:Erfc:Symbolic computation: Differentiation::symb_dpsi_ds0: 2*s1*erfc(s2)
+DEAL:Double:Erfc:Symbolic computation: Differentiation::symb_dpsi_ds1: -2*exp(-s2**2)*s1**2/sqrt(pi)
+DEAL:Double:Erfc:Symbolic computation: Differentiation::symb_d2psi_ds0_ds0: 2*erfc(s2)
+DEAL:Double:Erfc:Symbolic computation: Differentiation::symb_d2psi_ds1_ds0: -4*exp(-s2**2)*s1/sqrt(pi)
+DEAL:Double:Erfc:Symbolic computation: Differentiation::symb_d2psi_ds0_ds1: -4*exp(-s2**2)*s1/sqrt(pi)
+DEAL:Double:Erfc:Symbolic computation: Differentiation::symb_d2psi_ds1_ds1: 4*exp(-s2**2)*s1**2*s2/sqrt(pi)
+DEAL:Double:Erfc:Symbolic computation: Substitution::subs_psi: 0.0420996
+DEAL:Double:Erfc:Symbolic computation: Substitution::subs_dpsi_ds0: 0.0280664
+DEAL:Double:Erfc:Symbolic computation: Substitution::subs_dpsi_ds1: -0.186003
+DEAL:Double:Erfc:Symbolic computation: Substitution::subs_d2psi_ds0_ds0: 0.00935547
+DEAL:Double:Erfc:Symbolic computation: Substitution::subs_d2psi_ds1_ds0: -0.124002
+DEAL:Double:Erfc:Symbolic computation: Substitution::subs_d2psi_ds0_ds1: -0.124002
+DEAL:Double:Erfc:Symbolic computation: Substitution::subs_d2psi_ds1_ds1: 0.744011
+DEAL:Double::OK
+DEAL::OK
diff --git a/tests/symengine/batch_optimizer_02_1a.cc b/tests/symengine/batch_optimizer_02_1a.cc
new file mode 100644 (file)
index 0000000..3d8a083
--- /dev/null
@@ -0,0 +1,45 @@
+// ---------------------------------------------------------------------
+//
+// Copyright (C) 2020 by the deal.II authors
+//
+// This file is part of the deal.II library.
+//
+// The deal.II library is free software; you can use it, redistribute
+// it, and/or modify it under the terms of the GNU Lesser General
+// Public License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+// The full text of the license can be found in the file LICENSE at
+// the top level of the deal.II distribution.
+//
+// ---------------------------------------------------------------------
+
+
+// Check that the wrapper for symengine numbers can be integrated into the
+// tensor class and works as expected.
+// This test is the same as symengine_wrapper_03.cc, except that we invoke the
+// batch optimizer  before symbolic evaluation takes place.
+//
+// Here we use only dictionary substitution, and invoke no symbolic
+// optimizations.
+
+#include "../tests.h"
+
+#include "sd_common_tests/batch_optimizer_02.h"
+
+int
+main()
+{
+  initlog();
+
+  // Show the difference between a SymEngine "value" and
+  // an evaluated, floating point number
+  // deallog << std::setprecision(3);
+
+  const enum SD::OptimizerType     opt_method = SD::OptimizerType::dictionary;
+  const enum SD::OptimizationFlags opt_flags =
+    SD::OptimizationFlags::optimize_default;
+
+  const int dim    = 2;
+  const int n_runs = 1000;
+  run_tests<dim, opt_method, opt_flags>(n_runs);
+}
diff --git a/tests/symengine/batch_optimizer_02_1a.output b/tests/symengine/batch_optimizer_02_1a.output
new file mode 100644 (file)
index 0000000..0565ef7
--- /dev/null
@@ -0,0 +1,22 @@
+
+DEAL:Scalar:Float::symb_s: 1.5 + 1.5*y/log(x) + 2.0*x**y + sin(0.666666666666667*x*y**2)
+DEAL:Scalar:Float::symb_ds_dx: 2.0*x**(-1 + y)*y + 0.666666666666667*y**2*cos(0.666666666666667*x*y**2) - 1.5*y/(x*log(x)**2)
+DEAL:Scalar:Float:Substitution::substitute:   s: 11.2896853345375  ds_dx: 2.44062401525716
+DEAL:Scalar:Float:Substitution::evaluation:   s: 11.2897  ds_dx: 2.44062
+DEAL:Scalar:Float:Optimisation + substitution::evaluation:   s: 11.2897  ds_dx: 2.44062
+DEAL:Scalar:Double::symb_s: 1.5 + 1.5*y/log(x) + 2.0*x**y + sin(0.666666666666667*x*y**2)
+DEAL:Scalar:Double::symb_ds_dx: 2.0*x**(-1 + y)*y + 0.666666666666667*y**2*cos(0.666666666666667*x*y**2) - 1.5*y/(x*log(x)**2)
+DEAL:Scalar:Double:Substitution::substitute:   s: 11.2896853345375  ds_dx: 2.44062401525716
+DEAL:Scalar:Double:Substitution::evaluation:   s: 11.2897  ds_dx: 2.44062
+DEAL:Scalar:Double:Optimisation + substitution::evaluation:   s: 11.2897  ds_dx: 2.44062
+DEAL:Tensor:Float::symb_s: 1.5 + 1.5*(1.0*y_00*y_11 - 1.0*y_01*y_10)*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10)) + sin(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01))
+DEAL:Tensor:Float::symb_ds_dy: 0.0 - 1.5*y_11 + 1.5*y_11*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_00*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_11 0.0 + 1.5*y_10 - 1.5*y_10*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_01*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) - 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_10 0.0 + 1.5*y_01 - 1.5*y_01*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_01*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) - 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_01 0.0 - 1.5*y_00 + 1.5*y_00*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_11*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_00
+DEAL:Tensor:Float:Substitution::substitute:   s: 733.14522057327  ds_dx: 1803.37506684305  ds_dy: 4021.22089917923 -2721.50016323639 -2073.1341017929 2076.40974260677  ds_dz: 1.67424568153838 1.97850294809826 1.97850294809826 2.6968452216256
+DEAL:Tensor:Float:Substitution::evaluation:   s: 733.145  ds_dx: 1803.38  ds_dy: 4021.22 -2721.50 -2073.13 2076.41  ds_dz: 1.67425 1.97850 1.97850 2.69685
+DEAL:Tensor:Float:Optimisation + substitution::evaluation:   s: 733.145  ds_dx: 1803.38  ds_dy: 4021.22 -2721.50 -2073.13 2076.41  ds_dz: 1.67425 1.97850 1.97850 2.69685
+DEAL:Tensor:Double::symb_s: 1.5 + 1.5*(1.0*y_00*y_11 - 1.0*y_01*y_10)*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10)) + sin(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01))
+DEAL:Tensor:Double::symb_ds_dy: 0.0 - 1.5*y_11 + 1.5*y_11*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_00*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_11 0.0 + 1.5*y_10 - 1.5*y_10*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_01*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) - 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_10 0.0 + 1.5*y_01 - 1.5*y_01*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_01*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) - 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_01 0.0 - 1.5*y_00 + 1.5*y_00*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_11*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_00
+DEAL:Tensor:Double:Substitution::substitute:   s: 733.145160811002  ds_dx: 1803.37488238402  ds_dy: 4021.22068318209 -2721.5000393195 -2073.13387957114 2076.40954281835  ds_dz: 1.67425190103199 1.97851016739326 1.97851016739326 2.69685737072857
+DEAL:Tensor:Double:Substitution::evaluation:   s: 733.145  ds_dx: 1803.37  ds_dy: 4021.22 -2721.50 -2073.13 2076.41  ds_dz: 1.67425 1.97851 1.97851 2.69686
+DEAL:Tensor:Double:Optimisation + substitution::evaluation:   s: 733.145  ds_dx: 1803.37  ds_dy: 4021.22 -2721.50 -2073.13 2076.41  ds_dz: 1.67425 1.97851 1.97851 2.69686
+DEAL::OK
diff --git a/tests/symengine/batch_optimizer_02_1b.cc b/tests/symengine/batch_optimizer_02_1b.cc
new file mode 100644 (file)
index 0000000..eb8ee58
--- /dev/null
@@ -0,0 +1,45 @@
+// ---------------------------------------------------------------------
+//
+// Copyright (C) 2020 by the deal.II authors
+//
+// This file is part of the deal.II library.
+//
+// The deal.II library is free software; you can use it, redistribute
+// it, and/or modify it under the terms of the GNU Lesser General
+// Public License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+// The full text of the license can be found in the file LICENSE at
+// the top level of the deal.II distribution.
+//
+// ---------------------------------------------------------------------
+
+
+// Check that the wrapper for symengine numbers can be integrated into the
+// tensor class and works as expected.
+// This test is the same as symengine_wrapper_03.cc, except that we invoke the
+// batch optimizer  before symbolic evaluation takes place.
+//
+// Here we use only dictionary substitution, but invoke all symbolic
+// optimizations.
+
+#include "../tests.h"
+
+#include "sd_common_tests/batch_optimizer_02.h"
+
+int
+main()
+{
+  initlog();
+
+  // Show the difference between a SymEngine "value" and
+  // an evaluated, floating point number
+  // deallog << std::setprecision(3);
+
+  const enum SD::OptimizerType     opt_method = SD::OptimizerType::dictionary;
+  const enum SD::OptimizationFlags opt_flags =
+    SD::OptimizationFlags::optimize_all;
+
+  const int dim    = 2;
+  const int n_runs = 1000;
+  run_tests<dim, opt_method, opt_flags>(n_runs);
+}
diff --git a/tests/symengine/batch_optimizer_02_1b.output b/tests/symengine/batch_optimizer_02_1b.output
new file mode 100644 (file)
index 0000000..5bc93a6
--- /dev/null
@@ -0,0 +1,22 @@
+
+DEAL:Scalar:Float::symb_s: 1.5 + 1.5*y/log(x) + 2.0*x**y + sin(0.666666666666667*x*y**2)
+DEAL:Scalar:Float::symb_ds_dx: 2.0*x**(-1 + y)*y + 0.666666666666667*y**2*cos(0.666666666666667*x*y**2) - 1.5*y/(x*log(x)**2)
+DEAL:Scalar:Float:Substitution::substitute:   s: 11.2896853345375  ds_dx: 2.44062401525716
+DEAL:Scalar:Float:Substitution::evaluation:   s: 11.2897  ds_dx: 2.44062
+DEAL:Scalar:Float:Optimisation + substitution::evaluation:   s: 11.2897  ds_dx: 2.44062
+DEAL:Scalar:Double::symb_s: 1.5 + 1.5*y/log(x) + 2.0*x**y + sin(0.666666666666667*x*y**2)
+DEAL:Scalar:Double::symb_ds_dx: 2.0*x**(-1 + y)*y + 0.666666666666667*y**2*cos(0.666666666666667*x*y**2) - 1.5*y/(x*log(x)**2)
+DEAL:Scalar:Double:Substitution::substitute:   s: 11.2896853345375  ds_dx: 2.44062401525716
+DEAL:Scalar:Double:Substitution::evaluation:   s: 11.2897  ds_dx: 2.44062
+DEAL:Scalar:Double:Optimisation + substitution::evaluation:   s: 11.2897  ds_dx: 2.44062
+DEAL:Tensor:Float::symb_s: 1.5 + 1.5*(1.0*y_00*y_11 - 1.0*y_01*y_10)*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10)) + sin(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01))
+DEAL:Tensor:Float::symb_ds_dy: 0.0 - 1.5*y_11 + 1.5*y_11*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_00*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_11 0.0 + 1.5*y_10 - 1.5*y_10*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_01*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) - 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_10 0.0 + 1.5*y_01 - 1.5*y_01*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_01*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) - 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_01 0.0 - 1.5*y_00 + 1.5*y_00*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_11*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_00
+DEAL:Tensor:Float:Substitution::substitute:   s: 733.14522057327  ds_dx: 1803.37506684305  ds_dy: 4021.22089917923 -2721.50016323639 -2073.1341017929 2076.40974260677  ds_dz: 1.67424568153838 1.97850294809826 1.97850294809826 2.6968452216256
+DEAL:Tensor:Float:Substitution::evaluation:   s: 733.145  ds_dx: 1803.38  ds_dy: 4021.22 -2721.50 -2073.13 2076.41  ds_dz: 1.67425 1.97850 1.97850 2.69685
+DEAL:Tensor:Float:Optimisation + substitution::evaluation:   s: 733.145  ds_dx: 1803.38  ds_dy: 4021.22 -2721.50 -2073.13 2076.41  ds_dz: 1.67425 1.97851 1.97851 2.69685
+DEAL:Tensor:Double::symb_s: 1.5 + 1.5*(1.0*y_00*y_11 - 1.0*y_01*y_10)*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10)) + sin(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01))
+DEAL:Tensor:Double::symb_ds_dy: 0.0 - 1.5*y_11 + 1.5*y_11*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_00*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_11 0.0 + 1.5*y_10 - 1.5*y_10*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_01*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) - 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_10 0.0 + 1.5*y_01 - 1.5*y_01*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_01*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) - 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_01 0.0 - 1.5*y_00 + 1.5*y_00*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_11*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_00
+DEAL:Tensor:Double:Substitution::substitute:   s: 733.145160811002  ds_dx: 1803.37488238402  ds_dy: 4021.22068318209 -2721.5000393195 -2073.13387957114 2076.40954281835  ds_dz: 1.67425190103196 1.97851016739323 1.97851016739323 2.69685737072851
+DEAL:Tensor:Double:Substitution::evaluation:   s: 733.145  ds_dx: 1803.37  ds_dy: 4021.22 -2721.50 -2073.13 2076.41  ds_dz: 1.67425 1.97851 1.97851 2.69686
+DEAL:Tensor:Double:Optimisation + substitution::evaluation:   s: 733.145  ds_dx: 1803.37  ds_dy: 4021.22 -2721.50 -2073.13 2076.41  ds_dz: 1.67425 1.97851 1.97851 2.69686
+DEAL::OK
diff --git a/tests/symengine/batch_optimizer_02_2a.cc b/tests/symengine/batch_optimizer_02_2a.cc
new file mode 100644 (file)
index 0000000..d5a0f31
--- /dev/null
@@ -0,0 +1,44 @@
+// ---------------------------------------------------------------------
+//
+// Copyright (C) 2020 by the deal.II authors
+//
+// This file is part of the deal.II library.
+//
+// The deal.II library is free software; you can use it, redistribute
+// it, and/or modify it under the terms of the GNU Lesser General
+// Public License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+// The full text of the license can be found in the file LICENSE at
+// the top level of the deal.II distribution.
+//
+// ---------------------------------------------------------------------
+
+
+// Check that the wrapper for symengine numbers can be integrated into the
+// tensor class and works as expected.
+// This test is the same as symengine_wrapper_03.cc, except that we invoke the
+// batch optimizer  before symbolic evaluation takes place.
+//
+// Here we use only lambda substitution,and invoke no symbolic optimizations.
+
+#include "../tests.h"
+
+#include "sd_common_tests/batch_optimizer_02.h"
+
+int
+main()
+{
+  initlog();
+
+  // Show the difference between a SymEngine "value" and
+  // an evaluated, floating point number
+  // deallog << std::setprecision(3);
+
+  const enum SD::OptimizerType     opt_method = SD::OptimizerType::lambda;
+  const enum SD::OptimizationFlags opt_flags =
+    SD::OptimizationFlags::optimize_default;
+
+  const int dim    = 2;
+  const int n_runs = 1000;
+  run_tests<dim, opt_method, opt_flags>(n_runs);
+}
diff --git a/tests/symengine/batch_optimizer_02_2a.output b/tests/symengine/batch_optimizer_02_2a.output
new file mode 100644 (file)
index 0000000..0565ef7
--- /dev/null
@@ -0,0 +1,22 @@
+
+DEAL:Scalar:Float::symb_s: 1.5 + 1.5*y/log(x) + 2.0*x**y + sin(0.666666666666667*x*y**2)
+DEAL:Scalar:Float::symb_ds_dx: 2.0*x**(-1 + y)*y + 0.666666666666667*y**2*cos(0.666666666666667*x*y**2) - 1.5*y/(x*log(x)**2)
+DEAL:Scalar:Float:Substitution::substitute:   s: 11.2896853345375  ds_dx: 2.44062401525716
+DEAL:Scalar:Float:Substitution::evaluation:   s: 11.2897  ds_dx: 2.44062
+DEAL:Scalar:Float:Optimisation + substitution::evaluation:   s: 11.2897  ds_dx: 2.44062
+DEAL:Scalar:Double::symb_s: 1.5 + 1.5*y/log(x) + 2.0*x**y + sin(0.666666666666667*x*y**2)
+DEAL:Scalar:Double::symb_ds_dx: 2.0*x**(-1 + y)*y + 0.666666666666667*y**2*cos(0.666666666666667*x*y**2) - 1.5*y/(x*log(x)**2)
+DEAL:Scalar:Double:Substitution::substitute:   s: 11.2896853345375  ds_dx: 2.44062401525716
+DEAL:Scalar:Double:Substitution::evaluation:   s: 11.2897  ds_dx: 2.44062
+DEAL:Scalar:Double:Optimisation + substitution::evaluation:   s: 11.2897  ds_dx: 2.44062
+DEAL:Tensor:Float::symb_s: 1.5 + 1.5*(1.0*y_00*y_11 - 1.0*y_01*y_10)*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10)) + sin(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01))
+DEAL:Tensor:Float::symb_ds_dy: 0.0 - 1.5*y_11 + 1.5*y_11*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_00*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_11 0.0 + 1.5*y_10 - 1.5*y_10*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_01*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) - 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_10 0.0 + 1.5*y_01 - 1.5*y_01*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_01*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) - 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_01 0.0 - 1.5*y_00 + 1.5*y_00*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_11*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_00
+DEAL:Tensor:Float:Substitution::substitute:   s: 733.14522057327  ds_dx: 1803.37506684305  ds_dy: 4021.22089917923 -2721.50016323639 -2073.1341017929 2076.40974260677  ds_dz: 1.67424568153838 1.97850294809826 1.97850294809826 2.6968452216256
+DEAL:Tensor:Float:Substitution::evaluation:   s: 733.145  ds_dx: 1803.38  ds_dy: 4021.22 -2721.50 -2073.13 2076.41  ds_dz: 1.67425 1.97850 1.97850 2.69685
+DEAL:Tensor:Float:Optimisation + substitution::evaluation:   s: 733.145  ds_dx: 1803.38  ds_dy: 4021.22 -2721.50 -2073.13 2076.41  ds_dz: 1.67425 1.97850 1.97850 2.69685
+DEAL:Tensor:Double::symb_s: 1.5 + 1.5*(1.0*y_00*y_11 - 1.0*y_01*y_10)*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10)) + sin(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01))
+DEAL:Tensor:Double::symb_ds_dy: 0.0 - 1.5*y_11 + 1.5*y_11*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_00*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_11 0.0 + 1.5*y_10 - 1.5*y_10*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_01*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) - 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_10 0.0 + 1.5*y_01 - 1.5*y_01*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_01*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) - 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_01 0.0 - 1.5*y_00 + 1.5*y_00*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_11*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_00
+DEAL:Tensor:Double:Substitution::substitute:   s: 733.145160811002  ds_dx: 1803.37488238402  ds_dy: 4021.22068318209 -2721.5000393195 -2073.13387957114 2076.40954281835  ds_dz: 1.67425190103199 1.97851016739326 1.97851016739326 2.69685737072857
+DEAL:Tensor:Double:Substitution::evaluation:   s: 733.145  ds_dx: 1803.37  ds_dy: 4021.22 -2721.50 -2073.13 2076.41  ds_dz: 1.67425 1.97851 1.97851 2.69686
+DEAL:Tensor:Double:Optimisation + substitution::evaluation:   s: 733.145  ds_dx: 1803.37  ds_dy: 4021.22 -2721.50 -2073.13 2076.41  ds_dz: 1.67425 1.97851 1.97851 2.69686
+DEAL::OK
diff --git a/tests/symengine/batch_optimizer_02_2b.cc b/tests/symengine/batch_optimizer_02_2b.cc
new file mode 100644 (file)
index 0000000..41c06ff
--- /dev/null
@@ -0,0 +1,44 @@
+// ---------------------------------------------------------------------
+//
+// Copyright (C) 2020 by the deal.II authors
+//
+// This file is part of the deal.II library.
+//
+// The deal.II library is free software; you can use it, redistribute
+// it, and/or modify it under the terms of the GNU Lesser General
+// Public License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+// The full text of the license can be found in the file LICENSE at
+// the top level of the deal.II distribution.
+//
+// ---------------------------------------------------------------------
+
+
+// Check that the wrapper for symengine numbers can be integrated into the
+// tensor class and works as expected.
+// This test is the same as symengine_wrapper_03.cc, except that we invoke the
+// batch optimizer  before symbolic evaluation takes place.
+//
+// Here we use only lambda substitution, but invoke all symbolic optimizations.
+
+#include "../tests.h"
+
+#include "sd_common_tests/batch_optimizer_02.h"
+
+int
+main()
+{
+  initlog();
+
+  // Show the difference between a SymEngine "value" and
+  // an evaluated, floating point number
+  // deallog << std::setprecision(3);
+
+  const enum SD::OptimizerType     opt_method = SD::OptimizerType::lambda;
+  const enum SD::OptimizationFlags opt_flags =
+    SD::OptimizationFlags::optimize_all;
+
+  const int dim    = 2;
+  const int n_runs = 1000;
+  run_tests<dim, opt_method, opt_flags>(n_runs);
+}
diff --git a/tests/symengine/batch_optimizer_02_2b.output b/tests/symengine/batch_optimizer_02_2b.output
new file mode 100644 (file)
index 0000000..0565ef7
--- /dev/null
@@ -0,0 +1,22 @@
+
+DEAL:Scalar:Float::symb_s: 1.5 + 1.5*y/log(x) + 2.0*x**y + sin(0.666666666666667*x*y**2)
+DEAL:Scalar:Float::symb_ds_dx: 2.0*x**(-1 + y)*y + 0.666666666666667*y**2*cos(0.666666666666667*x*y**2) - 1.5*y/(x*log(x)**2)
+DEAL:Scalar:Float:Substitution::substitute:   s: 11.2896853345375  ds_dx: 2.44062401525716
+DEAL:Scalar:Float:Substitution::evaluation:   s: 11.2897  ds_dx: 2.44062
+DEAL:Scalar:Float:Optimisation + substitution::evaluation:   s: 11.2897  ds_dx: 2.44062
+DEAL:Scalar:Double::symb_s: 1.5 + 1.5*y/log(x) + 2.0*x**y + sin(0.666666666666667*x*y**2)
+DEAL:Scalar:Double::symb_ds_dx: 2.0*x**(-1 + y)*y + 0.666666666666667*y**2*cos(0.666666666666667*x*y**2) - 1.5*y/(x*log(x)**2)
+DEAL:Scalar:Double:Substitution::substitute:   s: 11.2896853345375  ds_dx: 2.44062401525716
+DEAL:Scalar:Double:Substitution::evaluation:   s: 11.2897  ds_dx: 2.44062
+DEAL:Scalar:Double:Optimisation + substitution::evaluation:   s: 11.2897  ds_dx: 2.44062
+DEAL:Tensor:Float::symb_s: 1.5 + 1.5*(1.0*y_00*y_11 - 1.0*y_01*y_10)*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10)) + sin(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01))
+DEAL:Tensor:Float::symb_ds_dy: 0.0 - 1.5*y_11 + 1.5*y_11*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_00*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_11 0.0 + 1.5*y_10 - 1.5*y_10*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_01*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) - 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_10 0.0 + 1.5*y_01 - 1.5*y_01*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_01*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) - 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_01 0.0 - 1.5*y_00 + 1.5*y_00*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_11*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_00
+DEAL:Tensor:Float:Substitution::substitute:   s: 733.14522057327  ds_dx: 1803.37506684305  ds_dy: 4021.22089917923 -2721.50016323639 -2073.1341017929 2076.40974260677  ds_dz: 1.67424568153838 1.97850294809826 1.97850294809826 2.6968452216256
+DEAL:Tensor:Float:Substitution::evaluation:   s: 733.145  ds_dx: 1803.38  ds_dy: 4021.22 -2721.50 -2073.13 2076.41  ds_dz: 1.67425 1.97850 1.97850 2.69685
+DEAL:Tensor:Float:Optimisation + substitution::evaluation:   s: 733.145  ds_dx: 1803.38  ds_dy: 4021.22 -2721.50 -2073.13 2076.41  ds_dz: 1.67425 1.97850 1.97850 2.69685
+DEAL:Tensor:Double::symb_s: 1.5 + 1.5*(1.0*y_00*y_11 - 1.0*y_01*y_10)*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10)) + sin(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01))
+DEAL:Tensor:Double::symb_ds_dy: 0.0 - 1.5*y_11 + 1.5*y_11*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_00*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_11 0.0 + 1.5*y_10 - 1.5*y_10*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_01*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) - 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_10 0.0 + 1.5*y_01 - 1.5*y_01*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_01*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) - 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_01 0.0 - 1.5*y_00 + 1.5*y_00*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_11*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_00
+DEAL:Tensor:Double:Substitution::substitute:   s: 733.145160811002  ds_dx: 1803.37488238402  ds_dy: 4021.22068318209 -2721.5000393195 -2073.13387957114 2076.40954281835  ds_dz: 1.67425190103199 1.97851016739326 1.97851016739326 2.69685737072857
+DEAL:Tensor:Double:Substitution::evaluation:   s: 733.145  ds_dx: 1803.37  ds_dy: 4021.22 -2721.50 -2073.13 2076.41  ds_dz: 1.67425 1.97851 1.97851 2.69686
+DEAL:Tensor:Double:Optimisation + substitution::evaluation:   s: 733.145  ds_dx: 1803.37  ds_dy: 4021.22 -2721.50 -2073.13 2076.41  ds_dz: 1.67425 1.97851 1.97851 2.69686
+DEAL::OK
diff --git a/tests/symengine/batch_optimizer_02_3a.cc b/tests/symengine/batch_optimizer_02_3a.cc
new file mode 100644 (file)
index 0000000..f10465d
--- /dev/null
@@ -0,0 +1,45 @@
+// ---------------------------------------------------------------------
+//
+// Copyright (C) 2020 by the deal.II authors
+//
+// This file is part of the deal.II library.
+//
+// The deal.II library is free software; you can use it, redistribute
+// it, and/or modify it under the terms of the GNU Lesser General
+// Public License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+// The full text of the license can be found in the file LICENSE at
+// the top level of the deal.II distribution.
+//
+// ---------------------------------------------------------------------
+
+
+// Check that the wrapper for symengine numbers can be integrated into the
+// tensor class and works as expected.
+// This test is the same as symengine_wrapper_03.cc, except that we invoke the
+// batch optimizer  before symbolic evaluation takes place.
+//
+// Here we invoke the LLVM optimizer before symbolic evaluation takes place,
+// and we invoke no additional symbolic optimizations as well.
+
+#include "../tests.h"
+
+#include "sd_common_tests/batch_optimizer_02.h"
+
+int
+main()
+{
+  initlog();
+
+  // Show the difference between a SymEngine "value" and
+  // an evaluated, floating point number
+  // deallog << std::setprecision(3);
+
+  const enum SD::OptimizerType     opt_method = SD::OptimizerType::llvm;
+  const enum SD::OptimizationFlags opt_flags =
+    SD::OptimizationFlags::optimize_default;
+
+  const int dim    = 2;
+  const int n_runs = 1000;
+  run_tests<dim, opt_method, opt_flags>(n_runs);
+}
diff --git a/tests/symengine/batch_optimizer_02_3a.with_symengine_with_llvm.output b/tests/symengine/batch_optimizer_02_3a.with_symengine_with_llvm.output
new file mode 100644 (file)
index 0000000..55e3b2e
--- /dev/null
@@ -0,0 +1,22 @@
+
+DEAL:Scalar:Float::symb_s: 1.5 + 1.5*y/log(x) + 2.0*x**y + sin(0.666666666666667*x*y**2)
+DEAL:Scalar:Float::symb_ds_dx: 2.0*x**(-1 + y)*y + 0.666666666666667*y**2*cos(0.666666666666667*x*y**2) - 1.5*y/(x*log(x)**2)
+DEAL:Scalar:Float:Substitution::substitute:   s: 11.2896853345375  ds_dx: 2.44062401525716
+DEAL:Scalar:Float:Substitution::evaluation:   s: 11.2897  ds_dx: 2.44062
+DEAL:Scalar:Float:Optimisation + substitution::evaluation:   s: 11.2897  ds_dx: 2.44062
+DEAL:Scalar:Double::symb_s: 1.5 + 1.5*y/log(x) + 2.0*x**y + sin(0.666666666666667*x*y**2)
+DEAL:Scalar:Double::symb_ds_dx: 2.0*x**(-1 + y)*y + 0.666666666666667*y**2*cos(0.666666666666667*x*y**2) - 1.5*y/(x*log(x)**2)
+DEAL:Scalar:Double:Substitution::substitute:   s: 11.2896853345375  ds_dx: 2.44062401525716
+DEAL:Scalar:Double:Substitution::evaluation:   s: 11.2897  ds_dx: 2.44062
+DEAL:Scalar:Double:Optimisation + substitution::evaluation:   s: 11.2897  ds_dx: 2.44062
+DEAL:Tensor:Float::symb_s: 1.5 + 1.5*(1.0*y_00*y_11 - 1.0*y_01*y_10)*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10)) + sin(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01))
+DEAL:Tensor:Float::symb_ds_dy: 0.0 - 1.5*y_11 + 1.5*y_11*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_00*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_11 0.0 + 1.5*y_10 - 1.5*y_10*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_01*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) - 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_10 0.0 + 1.5*y_01 - 1.5*y_01*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_01*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) - 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_01 0.0 - 1.5*y_00 + 1.5*y_00*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_11*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_00
+DEAL:Tensor:Float:Substitution::substitute:   s: 733.14522057327  ds_dx: 1803.37506684305  ds_dy: 4021.22089917923 -2721.50016323639 -2073.1341017929 2076.40974260677  ds_dz: 1.67424568153838 1.97850294809826 1.97850294809826 2.6968452216256
+DEAL:Tensor:Float:Substitution::evaluation:   s: 733.145  ds_dx: 1803.38  ds_dy: 4021.22 -2721.50 -2073.13 2076.41  ds_dz: 1.67425 1.97850 1.97850 2.69685
+DEAL:Tensor:Float:Optimisation + substitution::evaluation:   s: 733.146  ds_dx: 1803.38  ds_dy: 4021.22 -2721.50 -2073.14 2076.41  ds_dz: 1.67425 1.97851 1.97851 2.69685
+DEAL:Tensor:Double::symb_s: 1.5 + 1.5*(1.0*y_00*y_11 - 1.0*y_01*y_10)*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10)) + sin(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01))
+DEAL:Tensor:Double::symb_ds_dy: 0.0 - 1.5*y_11 + 1.5*y_11*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_00*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_11 0.0 + 1.5*y_10 - 1.5*y_10*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_01*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) - 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_10 0.0 + 1.5*y_01 - 1.5*y_01*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_01*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) - 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_01 0.0 - 1.5*y_00 + 1.5*y_00*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_11*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_00
+DEAL:Tensor:Double:Substitution::substitute:   s: 733.145160811002  ds_dx: 1803.37488238402  ds_dy: 4021.22068318209 -2721.5000393195 -2073.13387957114 2076.40954281835  ds_dz: 1.67425190103196 1.97851016739323 1.97851016739323 2.69685737072851
+DEAL:Tensor:Double:Substitution::evaluation:   s: 733.145  ds_dx: 1803.37  ds_dy: 4021.22 -2721.50 -2073.13 2076.41  ds_dz: 1.67425 1.97851 1.97851 2.69686
+DEAL:Tensor:Double:Optimisation + substitution::evaluation:   s: 733.145  ds_dx: 1803.37  ds_dy: 4021.22 -2721.50 -2073.13 2076.41  ds_dz: 1.67425 1.97851 1.97851 2.69686
+DEAL::OK
diff --git a/tests/symengine/batch_optimizer_02_3b.cc b/tests/symengine/batch_optimizer_02_3b.cc
new file mode 100644 (file)
index 0000000..ed8fa0c
--- /dev/null
@@ -0,0 +1,45 @@
+// ---------------------------------------------------------------------
+//
+// Copyright (C) 2020 by the deal.II authors
+//
+// This file is part of the deal.II library.
+//
+// The deal.II library is free software; you can use it, redistribute
+// it, and/or modify it under the terms of the GNU Lesser General
+// Public License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+// The full text of the license can be found in the file LICENSE at
+// the top level of the deal.II distribution.
+//
+// ---------------------------------------------------------------------
+
+
+// Check that the wrapper for symengine numbers can be integrated into the
+// tensor class and works as expected.
+// This test is the same as symengine_wrapper_03.cc, except that we invoke the
+// batch optimizer  before symbolic evaluation takes place.
+//
+// Here we invoke the LLVM optimizer before symbolic evaluation takes place,
+// as well as all additional symbolic optimizations.
+
+#include "../tests.h"
+
+#include "sd_common_tests/batch_optimizer_02.h"
+
+int
+main()
+{
+  initlog();
+
+  // Show the difference between a SymEngine "value" and
+  // an evaluated, floating point number
+  // deallog << std::setprecision(3);
+
+  const enum SD::OptimizerType     opt_method = SD::OptimizerType::llvm;
+  const enum SD::OptimizationFlags opt_flags =
+    SD::OptimizationFlags::optimize_all;
+
+  const int dim    = 2;
+  const int n_runs = 1000;
+  run_tests<dim, opt_method, opt_flags>(n_runs);
+}
diff --git a/tests/symengine/batch_optimizer_02_3b.with_symengine_with_llvm.output b/tests/symengine/batch_optimizer_02_3b.with_symengine_with_llvm.output
new file mode 100644 (file)
index 0000000..e924ef0
--- /dev/null
@@ -0,0 +1,22 @@
+
+DEAL:Scalar:Float::symb_s: 1.5 + 1.5*y/log(x) + 2.0*x**y + sin(0.666666666666667*x*y**2)
+DEAL:Scalar:Float::symb_ds_dx: 2.0*x**(-1 + y)*y + 0.666666666666667*y**2*cos(0.666666666666667*x*y**2) - 1.5*y/(x*log(x)**2)
+DEAL:Scalar:Float:Substitution::substitute:   s: 11.2896853345375  ds_dx: 2.44062401525716
+DEAL:Scalar:Float:Substitution::evaluation:   s: 11.2897  ds_dx: 2.44062
+DEAL:Scalar:Float:Optimisation + substitution::evaluation:   s: 11.2897  ds_dx: 2.44062
+DEAL:Scalar:Double::symb_s: 1.5 + 1.5*y/log(x) + 2.0*x**y + sin(0.666666666666667*x*y**2)
+DEAL:Scalar:Double::symb_ds_dx: 2.0*x**(-1 + y)*y + 0.666666666666667*y**2*cos(0.666666666666667*x*y**2) - 1.5*y/(x*log(x)**2)
+DEAL:Scalar:Double:Substitution::substitute:   s: 11.2896853345375  ds_dx: 2.44062401525716
+DEAL:Scalar:Double:Substitution::evaluation:   s: 11.2897  ds_dx: 2.44062
+DEAL:Scalar:Double:Optimisation + substitution::evaluation:   s: 11.2897  ds_dx: 2.44062
+DEAL:Tensor:Float::symb_s: 1.5 + 1.5*(1.0*y_00*y_11 - 1.0*y_01*y_10)*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10)) + sin(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01))
+DEAL:Tensor:Float::symb_ds_dy: 0.0 - 1.5*y_11 + 1.5*y_11*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_00*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_11 0.0 + 1.5*y_10 - 1.5*y_10*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_01*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) - 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_10 0.0 + 1.5*y_01 - 1.5*y_01*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_01*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) - 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_01 0.0 - 1.5*y_00 + 1.5*y_00*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_11*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_00
+DEAL:Tensor:Float:Substitution::substitute:   s: 733.14522057327  ds_dx: 1803.37506684305  ds_dy: 4021.22089917923 -2721.50016323639 -2073.1341017929 2076.40974260677  ds_dz: 1.67424568153838 1.97850294809826 1.97850294809826 2.6968452216256
+DEAL:Tensor:Float:Substitution::evaluation:   s: 733.145  ds_dx: 1803.38  ds_dy: 4021.22 -2721.50 -2073.13 2076.41  ds_dz: 1.67425 1.97850 1.97850 2.69685
+DEAL:Tensor:Float:Optimisation + substitution::evaluation:   s: 733.146  ds_dx: 1803.38  ds_dy: 4021.22 -2721.50 -2073.13 2076.41  ds_dz: 1.67425 1.97851 1.97851 2.69685
+DEAL:Tensor:Double::symb_s: 1.5 + 1.5*(1.0*y_00*y_11 - 1.0*y_01*y_10)*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10)) + sin(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01))
+DEAL:Tensor:Double::symb_ds_dy: 0.0 - 1.5*y_11 + 1.5*y_11*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_00*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_11 0.0 + 1.5*y_10 - 1.5*y_10*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_01*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) - 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_10 0.0 + 1.5*y_01 - 1.5*y_01*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_01*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) - 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_01 0.0 - 1.5*y_00 + 1.5*y_00*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_11*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_00
+DEAL:Tensor:Double:Substitution::substitute:   s: 733.145160811002  ds_dx: 1803.37488238402  ds_dy: 4021.22068318209 -2721.5000393195 -2073.13387957114 2076.40954281835  ds_dz: 1.67425190103196 1.97851016739323 1.97851016739323 2.69685737072851
+DEAL:Tensor:Double:Substitution::evaluation:   s: 733.145  ds_dx: 1803.37  ds_dy: 4021.22 -2721.50 -2073.13 2076.41  ds_dz: 1.67425 1.97851 1.97851 2.69686
+DEAL:Tensor:Double:Optimisation + substitution::evaluation:   s: 733.145  ds_dx: 1803.37  ds_dy: 4021.22 -2721.50 -2073.13 2076.41  ds_dz: 1.67425 1.97851 1.97851 2.69686
+DEAL::OK
diff --git a/tests/symengine/batch_optimizer_03_1a.cc b/tests/symengine/batch_optimizer_03_1a.cc
new file mode 100644 (file)
index 0000000..871c83e
--- /dev/null
@@ -0,0 +1,43 @@
+// ---------------------------------------------------------------------
+//
+// Copyright (C) 2020 by the deal.II authors
+//
+// This file is part of the deal.II library.
+//
+// The deal.II library is free software; you can use it, redistribute
+// it, and/or modify it under the terms of the GNU Lesser General
+// Public License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+// The full text of the license can be found in the file LICENSE at
+// the top level of the deal.II distribution.
+//
+// ---------------------------------------------------------------------
+
+
+// Check that one can perform substitution of symbolic derivatives that
+// are the result of explicit or implicit relationships between symbolic
+// variables.
+// See tests/symengine/basic_06.cc and tests/symengine/basic_07.cc for
+// a more simple example of differentiation of symbols with
+// explicit/implicit relationships.
+// We invoke the batch optimzer before symbolic evaluation takes place.
+//
+// Here we use only dictionary substitution, and invoke no symbolic
+// optimizations.
+
+#include "../tests.h"
+
+#include "sd_common_tests/batch_optimizer_03.h"
+
+int
+main()
+{
+  initlog();
+
+  const enum SD::OptimizerType     opt_method = SD::OptimizerType::dictionary;
+  const enum SD::OptimizationFlags opt_flags =
+    SD::OptimizationFlags::optimize_default;
+
+  const int dim = 2;
+  run_tests<dim, opt_method, opt_flags>();
+}
diff --git a/tests/symengine/batch_optimizer_03_1a.output b/tests/symengine/batch_optimizer_03_1a.output
new file mode 100644 (file)
index 0000000..15ae931
--- /dev/null
@@ -0,0 +1,86 @@
+
+DEAL:Standard::psi: 0.5*(-3 + C_00 + C_11)*mu_e + log(C_11*C_00 - C_01**2)*kappa_e
+DEAL:Standard::S[0][0]: 2.0*(0.5*mu_e + C_11*kappa_e/(C_11*C_00 - C_01**2))
+DEAL:Standard::S[0][1]: -2.0*C_01*kappa_e/(C_11*C_00 - C_01**2)
+DEAL:Standard::S[1][1]: 2.0*(0.5*mu_e + C_00*kappa_e/(C_11*C_00 - C_01**2))
+DEAL:Standard::HH[0][0][0][0]: -4.0*C_11**2*kappa_e/(C_11*C_00 - C_01**2)**2
+DEAL:Standard::HH[0][0][0][1]: 4.0*C_11*C_01*kappa_e/(C_11*C_00 - C_01**2)**2
+DEAL:Standard::HH[0][0][1][1]: 4.0*(kappa_e/(C_11*C_00 - C_01**2) - C_11*C_00*kappa_e/(C_11*C_00 - C_01**2)**2)
+DEAL:Standard::HH[0][1][0][0]: 4.0*C_11*C_01*kappa_e/(C_11*C_00 - C_01**2)**2
+DEAL:Standard::HH[0][1][0][1]: 1.0*(-2.0*kappa_e/(C_11*C_00 - C_01**2) - 4.0*C_01**2*kappa_e/(C_11*C_00 - C_01**2)**2)
+DEAL:Standard::HH[0][1][1][1]: 4.0*C_00*C_01*kappa_e/(C_11*C_00 - C_01**2)**2
+DEAL:Standard::HH[1][1][0][0]: 4.0*(kappa_e/(C_11*C_00 - C_01**2) - C_11*C_00*kappa_e/(C_11*C_00 - C_01**2)**2)
+DEAL:Standard::HH[1][1][0][1]: 4.0*C_00*C_01*kappa_e/(C_11*C_00 - C_01**2)**2
+DEAL:Standard::HH[1][1][1][1]: -4.0*C_00**2*kappa_e/(C_11*C_00 - C_01**2)**2
+DEAL:Standard::psi: 15.3629
+DEAL:Standard::S[0][0]: 13.0000
+DEAL:Standard::S[0][1]: 0.00000
+DEAL:Standard::S[1][1]: 13.0000
+DEAL:Standard::HH[0][0][0][0]: -10.0000
+DEAL:Standard::HH[0][0][0][1]: 0.00000
+DEAL:Standard::HH[0][0][1][1]: 0.00000
+DEAL:Standard::HH[0][1][0][0]: 0.00000
+DEAL:Standard::HH[0][1][0][1]: -5.00000
+DEAL:Standard::HH[0][1][1][1]: 0.00000
+DEAL:Standard::HH[1][1][0][0]: 0.00000
+DEAL:Standard::HH[1][1][0][1]: 0.00000
+DEAL:Standard::HH[1][1][1][1]: -10.0000
+DEAL::--------------------------------------------------
+DEAL:Explicit::psi (Q): kappa_v*log(C_00*Qi_00 + 2*C_01*Qi_01 + C_11*Qi_11) + 0.5*mu_v*(-3 + C_00*Qi_00 + 2*C_01*Qi_01 + C_11*Qi_11) + 0.5*(-3 + C_00 + C_11)*mu_e + log(C_11*C_00 - C_01**2)*kappa_e
+DEAL:Explicit::psi: 0.5*mu_v*(-3 + 2*C_00**2 + 4*C_01**2 + 2*C_11**2) + 0.5*(-3 + C_00 + C_11)*mu_e + log(C_11*C_00 - C_01**2)*kappa_e + log(2*C_00**2 + 4*C_01**2 + 2*C_11**2)*kappa_v
+DEAL:Explicit::S (Q)[0][0]: 2.0*(0.5*mu_e + 0.5*mu_v*Qi_00 + C_11*kappa_e/(C_11*C_00 - C_01**2) + Qi_00*kappa_v/(C_00*Qi_00 + 2*C_01*Qi_01 + C_11*Qi_11))
+DEAL:Explicit::S (Q)[0][1]: 1.0*(1.0*mu_v*Qi_01 - 2*C_01*kappa_e/(C_11*C_00 - C_01**2) + 2*Qi_01*kappa_v/(C_00*Qi_00 + 2*C_01*Qi_01 + C_11*Qi_11))
+DEAL:Explicit::S (Q)[1][1]: 2.0*(0.5*mu_e + 0.5*mu_v*Qi_11 + C_00*kappa_e/(C_11*C_00 - C_01**2) + Qi_11*kappa_v/(C_00*Qi_00 + 2*C_01*Qi_01 + C_11*Qi_11))
+DEAL:Explicit::S[0][0]: 2.0*(0.5*mu_e + 1.0*mu_v*C_00 + 2*C_00*kappa_v/(2*C_00**2 + 4*C_01**2 + 2*C_11**2) + C_11*kappa_e/(C_11*C_00 - C_01**2))
+DEAL:Explicit::S[0][1]: 1.0*(2.0*mu_v*C_01 - 2*C_01*kappa_e/(C_11*C_00 - C_01**2) + 4*C_01*kappa_v/(2*C_00**2 + 4*C_01**2 + 2*C_11**2))
+DEAL:Explicit::S[1][1]: 2.0*(0.5*mu_e + 1.0*mu_v*C_11 + C_00*kappa_e/(C_11*C_00 - C_01**2) + 2*C_11*kappa_v/(2*C_00**2 + 4*C_01**2 + 2*C_11**2))
+DEAL:Explicit::HH[0][0][0][0]: 4.0*(1.0*mu_v + 2*kappa_v/(2*C_00**2 + 4*C_01**2 + 2*C_11**2) - 8*C_00**2*kappa_v/(2*C_00**2 + 4*C_01**2 + 2*C_11**2)**2 - C_11**2*kappa_e/(C_11*C_00 - C_01**2)**2)
+DEAL:Explicit::HH[0][0][0][1]: 2.0*(-16*C_00*C_01*kappa_v/(2*C_00**2 + 4*C_01**2 + 2*C_11**2)**2 + 2*C_11*C_01*kappa_e/(C_11*C_00 - C_01**2)**2)
+DEAL:Explicit::HH[0][0][1][1]: 4.0*(kappa_e/(C_11*C_00 - C_01**2) - C_11*C_00*kappa_e/(C_11*C_00 - C_01**2)**2 - 8*C_11*C_00*kappa_v/(2*C_00**2 + 4*C_01**2 + 2*C_11**2)**2)
+DEAL:Explicit::HH[0][1][0][0]: 2.0*(-16*C_00*C_01*kappa_v/(2*C_00**2 + 4*C_01**2 + 2*C_11**2)**2 + 2*C_11*C_01*kappa_e/(C_11*C_00 - C_01**2)**2)
+DEAL:Explicit::HH[0][1][0][1]: 1.0*(2.0*mu_v - 2*kappa_e/(C_11*C_00 - C_01**2) + 4*kappa_v/(2*C_00**2 + 4*C_01**2 + 2*C_11**2) - 4*C_01**2*kappa_e/(C_11*C_00 - C_01**2)**2 - 32*C_01**2*kappa_v/(2*C_00**2 + 4*C_01**2 + 2*C_11**2)**2)
+DEAL:Explicit::HH[0][1][1][1]: 2.0*(2*C_00*C_01*kappa_e/(C_11*C_00 - C_01**2)**2 - 16*C_11*C_01*kappa_v/(2*C_00**2 + 4*C_01**2 + 2*C_11**2)**2)
+DEAL:Explicit::HH[1][1][0][0]: 4.0*(kappa_e/(C_11*C_00 - C_01**2) - C_11*C_00*kappa_e/(C_11*C_00 - C_01**2)**2 - 8*C_11*C_00*kappa_v/(2*C_00**2 + 4*C_01**2 + 2*C_11**2)**2)
+DEAL:Explicit::HH[1][1][0][1]: 2.0*(2*C_00*C_01*kappa_e/(C_11*C_00 - C_01**2)**2 - 16*C_11*C_01*kappa_v/(2*C_00**2 + 4*C_01**2 + 2*C_11**2)**2)
+DEAL:Explicit::HH[1][1][1][1]: 4.0*(1.0*mu_v + 2*kappa_v/(2*C_00**2 + 4*C_01**2 + 2*C_11**2) - C_00**2*kappa_e/(C_11*C_00 - C_01**2)**2 - 8*C_11**2*kappa_v/(2*C_00**2 + 4*C_01**2 + 2*C_11**2)**2)
+DEAL:Explicit::psi: 53.4081
+DEAL:Explicit::S[0][0]: 34.0000
+DEAL:Explicit::S[0][1]: 0.00000
+DEAL:Explicit::S[1][1]: 34.0000
+DEAL:Explicit::HH[0][0][0][0]: 10.0000
+DEAL:Explicit::HH[0][0][0][1]: 0.00000
+DEAL:Explicit::HH[0][0][1][1]: -1.00000
+DEAL:Explicit::HH[0][1][0][0]: 0.00000
+DEAL:Explicit::HH[0][1][0][1]: 5.50000
+DEAL:Explicit::HH[0][1][1][1]: 0.00000
+DEAL:Explicit::HH[1][1][0][0]: -1.00000
+DEAL:Explicit::HH[1][1][0][1]: 0.00000
+DEAL:Explicit::HH[1][1][1][1]: 10.0000
+DEAL::--------------------------------------------------
+DEAL:Implicit::psi: kappa_v*log(C_00*Qi_00 + 2*C_01*Qi_01 + C_11*Qi_11) + 0.5*mu_v*(-3 + C_00*Qi_00 + 2*C_01*Qi_01 + C_11*Qi_11) + 0.5*(-3 + C_00 + C_11)*mu_e + log(C_11*C_00 - C_01**2)*kappa_e
+DEAL:Implicit::S[0][0]: 2.0*(0.5*mu_e + 0.5*mu_v*Qi_00 + C_11*kappa_e/(C_11*C_00 - C_01**2) + Qi_00*kappa_v/(C_00*Qi_00 + 2*C_01*Qi_01 + C_11*Qi_11))
+DEAL:Implicit::S[0][1]: 1.0*(1.0*mu_v*Qi_01 - 2*C_01*kappa_e/(C_11*C_00 - C_01**2) + 2*Qi_01*kappa_v/(C_00*Qi_00 + 2*C_01*Qi_01 + C_11*Qi_11))
+DEAL:Implicit::S[1][1]: 2.0*(0.5*mu_e + 0.5*mu_v*Qi_11 + C_00*kappa_e/(C_11*C_00 - C_01**2) + Qi_11*kappa_v/(C_00*Qi_00 + 2*C_01*Qi_01 + C_11*Qi_11))
+DEAL:Implicit::HH[0][0][0][0]: 4.0*(0.5*mu_v*dQ_dC_i_0000 - C_11**2*kappa_e/(C_11*C_00 - C_01**2)**2 + dQ_dC_i_0000*kappa_v/(C_00*Qi_00 + 2*C_01*Qi_01 + C_11*Qi_11) - Qi_00*kappa_v*(Qi_00 + C_00*dQ_dC_i_0000 + 2*C_01*dQ_dC_i_0100 + C_11*dQ_dC_i_1100)/(C_00*Qi_00 + 2*C_01*Qi_01 + C_11*Qi_11)**2)
+DEAL:Implicit::HH[0][0][0][1]: 2.0*(0.0 + 2*C_11*C_01*kappa_e/(C_11*C_00 - C_01**2)**2 - 2*Qi_00*Qi_01*kappa_v/(C_00*Qi_00 + 2*C_01*Qi_01 + C_11*Qi_11)**2)
+DEAL:Implicit::HH[0][0][1][1]: 4.0*(0.5*mu_v*dQ_dC_i_0011 + kappa_e/(C_11*C_00 - C_01**2) + dQ_dC_i_0011*kappa_v/(C_00*Qi_00 + 2*C_01*Qi_01 + C_11*Qi_11) - C_11*C_00*kappa_e/(C_11*C_00 - C_01**2)**2 - Qi_00*kappa_v*(Qi_11 + C_00*dQ_dC_i_0011 + 2*C_01*dQ_dC_i_0111 + C_11*dQ_dC_i_1111)/(C_00*Qi_00 + 2*C_01*Qi_01 + C_11*Qi_11)**2)
+DEAL:Implicit::HH[0][1][0][0]: 2.0*(1.0*mu_v*dQ_dC_i_0100 + 2*dQ_dC_i_0100*kappa_v/(C_00*Qi_00 + 2*C_01*Qi_01 + C_11*Qi_11) + 2*C_11*C_01*kappa_e/(C_11*C_00 - C_01**2)**2 - 2*Qi_01*kappa_v*(Qi_00 + C_00*dQ_dC_i_0000 + 2*C_01*dQ_dC_i_0100 + C_11*dQ_dC_i_1100)/(C_00*Qi_00 + 2*C_01*Qi_01 + C_11*Qi_11)**2)
+DEAL:Implicit::HH[0][1][0][1]: 1.0*(0.0 - 2*kappa_e/(C_11*C_00 - C_01**2) - 4*C_01**2*kappa_e/(C_11*C_00 - C_01**2)**2 - 4*Qi_01**2*kappa_v/(C_00*Qi_00 + 2*C_01*Qi_01 + C_11*Qi_11)**2)
+DEAL:Implicit::HH[0][1][1][1]: 2.0*(1.0*mu_v*dQ_dC_i_0111 + 2*dQ_dC_i_0111*kappa_v/(C_00*Qi_00 + 2*C_01*Qi_01 + C_11*Qi_11) + 2*C_00*C_01*kappa_e/(C_11*C_00 - C_01**2)**2 - 2*Qi_01*kappa_v*(Qi_11 + C_00*dQ_dC_i_0011 + 2*C_01*dQ_dC_i_0111 + C_11*dQ_dC_i_1111)/(C_00*Qi_00 + 2*C_01*Qi_01 + C_11*Qi_11)**2)
+DEAL:Implicit::HH[1][1][0][0]: 4.0*(0.5*mu_v*dQ_dC_i_1100 + kappa_e/(C_11*C_00 - C_01**2) + dQ_dC_i_1100*kappa_v/(C_00*Qi_00 + 2*C_01*Qi_01 + C_11*Qi_11) - C_11*C_00*kappa_e/(C_11*C_00 - C_01**2)**2 - Qi_11*kappa_v*(Qi_00 + C_00*dQ_dC_i_0000 + 2*C_01*dQ_dC_i_0100 + C_11*dQ_dC_i_1100)/(C_00*Qi_00 + 2*C_01*Qi_01 + C_11*Qi_11)**2)
+DEAL:Implicit::HH[1][1][0][1]: 2.0*(0.0 + 2*C_00*C_01*kappa_e/(C_11*C_00 - C_01**2)**2 - 2*Qi_11*Qi_01*kappa_v/(C_00*Qi_00 + 2*C_01*Qi_01 + C_11*Qi_11)**2)
+DEAL:Implicit::HH[1][1][1][1]: 4.0*(0.5*mu_v*dQ_dC_i_1111 - C_00**2*kappa_e/(C_11*C_00 - C_01**2)**2 + dQ_dC_i_1111*kappa_v/(C_00*Qi_00 + 2*C_01*Qi_01 + C_11*Qi_11) - Qi_11*kappa_v*(Qi_11 + C_00*dQ_dC_i_0011 + 2*C_01*dQ_dC_i_0111 + C_11*dQ_dC_i_1111)/(C_00*Qi_00 + 2*C_01*Qi_01 + C_11*Qi_11)**2)
+DEAL:Implicit::psi: 26.4465
+DEAL:Implicit::S[0][0]: 21.5000
+DEAL:Implicit::S[0][1]: 0.00000
+DEAL:Implicit::S[1][1]: 21.5000
+DEAL:Implicit::HH[0][0][0][0]: 21.5000
+DEAL:Implicit::HH[0][0][0][1]: 0.00000
+DEAL:Implicit::HH[0][0][1][1]: -2.50000
+DEAL:Implicit::HH[0][1][0][0]: 0.00000
+DEAL:Implicit::HH[0][1][0][1]: -5.00000
+DEAL:Implicit::HH[0][1][1][1]: 0.00000
+DEAL:Implicit::HH[1][1][0][0]: -2.50000
+DEAL:Implicit::HH[1][1][0][1]: 0.00000
+DEAL:Implicit::HH[1][1][1][1]: 21.5000
+DEAL::OK
diff --git a/tests/symengine/batch_optimizer_03_1b.cc b/tests/symengine/batch_optimizer_03_1b.cc
new file mode 100644 (file)
index 0000000..b0ba030
--- /dev/null
@@ -0,0 +1,43 @@
+// ---------------------------------------------------------------------
+//
+// Copyright (C) 2020 by the deal.II authors
+//
+// This file is part of the deal.II library.
+//
+// The deal.II library is free software; you can use it, redistribute
+// it, and/or modify it under the terms of the GNU Lesser General
+// Public License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+// The full text of the license can be found in the file LICENSE at
+// the top level of the deal.II distribution.
+//
+// ---------------------------------------------------------------------
+
+
+// Check that one can perform substitution of symbolic derivatives that
+// are the result of explicit or implicit relationships between symbolic
+// variables.
+// See tests/symengine/basic_06.cc and tests/symengine/basic_07.cc for
+// a more simple example of differentiation of symbols with
+// explicit/implicit relationships.
+// We invoke the batch optimizer before symbolic evaluation takes place.
+//
+// Here we use only dictionary substitution, but invoke all symbolic
+// optimizations.
+
+#include "../tests.h"
+
+#include "sd_common_tests/batch_optimizer_03.h"
+
+int
+main()
+{
+  initlog();
+
+  const enum SD::OptimizerType     opt_method = SD::OptimizerType::dictionary;
+  const enum SD::OptimizationFlags opt_flags =
+    SD::OptimizationFlags::optimize_all;
+
+  const int dim = 2;
+  run_tests<dim, opt_method, opt_flags>();
+}
diff --git a/tests/symengine/batch_optimizer_03_1b.output b/tests/symengine/batch_optimizer_03_1b.output
new file mode 100644 (file)
index 0000000..15ae931
--- /dev/null
@@ -0,0 +1,86 @@
+
+DEAL:Standard::psi: 0.5*(-3 + C_00 + C_11)*mu_e + log(C_11*C_00 - C_01**2)*kappa_e
+DEAL:Standard::S[0][0]: 2.0*(0.5*mu_e + C_11*kappa_e/(C_11*C_00 - C_01**2))
+DEAL:Standard::S[0][1]: -2.0*C_01*kappa_e/(C_11*C_00 - C_01**2)
+DEAL:Standard::S[1][1]: 2.0*(0.5*mu_e + C_00*kappa_e/(C_11*C_00 - C_01**2))
+DEAL:Standard::HH[0][0][0][0]: -4.0*C_11**2*kappa_e/(C_11*C_00 - C_01**2)**2
+DEAL:Standard::HH[0][0][0][1]: 4.0*C_11*C_01*kappa_e/(C_11*C_00 - C_01**2)**2
+DEAL:Standard::HH[0][0][1][1]: 4.0*(kappa_e/(C_11*C_00 - C_01**2) - C_11*C_00*kappa_e/(C_11*C_00 - C_01**2)**2)
+DEAL:Standard::HH[0][1][0][0]: 4.0*C_11*C_01*kappa_e/(C_11*C_00 - C_01**2)**2
+DEAL:Standard::HH[0][1][0][1]: 1.0*(-2.0*kappa_e/(C_11*C_00 - C_01**2) - 4.0*C_01**2*kappa_e/(C_11*C_00 - C_01**2)**2)
+DEAL:Standard::HH[0][1][1][1]: 4.0*C_00*C_01*kappa_e/(C_11*C_00 - C_01**2)**2
+DEAL:Standard::HH[1][1][0][0]: 4.0*(kappa_e/(C_11*C_00 - C_01**2) - C_11*C_00*kappa_e/(C_11*C_00 - C_01**2)**2)
+DEAL:Standard::HH[1][1][0][1]: 4.0*C_00*C_01*kappa_e/(C_11*C_00 - C_01**2)**2
+DEAL:Standard::HH[1][1][1][1]: -4.0*C_00**2*kappa_e/(C_11*C_00 - C_01**2)**2
+DEAL:Standard::psi: 15.3629
+DEAL:Standard::S[0][0]: 13.0000
+DEAL:Standard::S[0][1]: 0.00000
+DEAL:Standard::S[1][1]: 13.0000
+DEAL:Standard::HH[0][0][0][0]: -10.0000
+DEAL:Standard::HH[0][0][0][1]: 0.00000
+DEAL:Standard::HH[0][0][1][1]: 0.00000
+DEAL:Standard::HH[0][1][0][0]: 0.00000
+DEAL:Standard::HH[0][1][0][1]: -5.00000
+DEAL:Standard::HH[0][1][1][1]: 0.00000
+DEAL:Standard::HH[1][1][0][0]: 0.00000
+DEAL:Standard::HH[1][1][0][1]: 0.00000
+DEAL:Standard::HH[1][1][1][1]: -10.0000
+DEAL::--------------------------------------------------
+DEAL:Explicit::psi (Q): kappa_v*log(C_00*Qi_00 + 2*C_01*Qi_01 + C_11*Qi_11) + 0.5*mu_v*(-3 + C_00*Qi_00 + 2*C_01*Qi_01 + C_11*Qi_11) + 0.5*(-3 + C_00 + C_11)*mu_e + log(C_11*C_00 - C_01**2)*kappa_e
+DEAL:Explicit::psi: 0.5*mu_v*(-3 + 2*C_00**2 + 4*C_01**2 + 2*C_11**2) + 0.5*(-3 + C_00 + C_11)*mu_e + log(C_11*C_00 - C_01**2)*kappa_e + log(2*C_00**2 + 4*C_01**2 + 2*C_11**2)*kappa_v
+DEAL:Explicit::S (Q)[0][0]: 2.0*(0.5*mu_e + 0.5*mu_v*Qi_00 + C_11*kappa_e/(C_11*C_00 - C_01**2) + Qi_00*kappa_v/(C_00*Qi_00 + 2*C_01*Qi_01 + C_11*Qi_11))
+DEAL:Explicit::S (Q)[0][1]: 1.0*(1.0*mu_v*Qi_01 - 2*C_01*kappa_e/(C_11*C_00 - C_01**2) + 2*Qi_01*kappa_v/(C_00*Qi_00 + 2*C_01*Qi_01 + C_11*Qi_11))
+DEAL:Explicit::S (Q)[1][1]: 2.0*(0.5*mu_e + 0.5*mu_v*Qi_11 + C_00*kappa_e/(C_11*C_00 - C_01**2) + Qi_11*kappa_v/(C_00*Qi_00 + 2*C_01*Qi_01 + C_11*Qi_11))
+DEAL:Explicit::S[0][0]: 2.0*(0.5*mu_e + 1.0*mu_v*C_00 + 2*C_00*kappa_v/(2*C_00**2 + 4*C_01**2 + 2*C_11**2) + C_11*kappa_e/(C_11*C_00 - C_01**2))
+DEAL:Explicit::S[0][1]: 1.0*(2.0*mu_v*C_01 - 2*C_01*kappa_e/(C_11*C_00 - C_01**2) + 4*C_01*kappa_v/(2*C_00**2 + 4*C_01**2 + 2*C_11**2))
+DEAL:Explicit::S[1][1]: 2.0*(0.5*mu_e + 1.0*mu_v*C_11 + C_00*kappa_e/(C_11*C_00 - C_01**2) + 2*C_11*kappa_v/(2*C_00**2 + 4*C_01**2 + 2*C_11**2))
+DEAL:Explicit::HH[0][0][0][0]: 4.0*(1.0*mu_v + 2*kappa_v/(2*C_00**2 + 4*C_01**2 + 2*C_11**2) - 8*C_00**2*kappa_v/(2*C_00**2 + 4*C_01**2 + 2*C_11**2)**2 - C_11**2*kappa_e/(C_11*C_00 - C_01**2)**2)
+DEAL:Explicit::HH[0][0][0][1]: 2.0*(-16*C_00*C_01*kappa_v/(2*C_00**2 + 4*C_01**2 + 2*C_11**2)**2 + 2*C_11*C_01*kappa_e/(C_11*C_00 - C_01**2)**2)
+DEAL:Explicit::HH[0][0][1][1]: 4.0*(kappa_e/(C_11*C_00 - C_01**2) - C_11*C_00*kappa_e/(C_11*C_00 - C_01**2)**2 - 8*C_11*C_00*kappa_v/(2*C_00**2 + 4*C_01**2 + 2*C_11**2)**2)
+DEAL:Explicit::HH[0][1][0][0]: 2.0*(-16*C_00*C_01*kappa_v/(2*C_00**2 + 4*C_01**2 + 2*C_11**2)**2 + 2*C_11*C_01*kappa_e/(C_11*C_00 - C_01**2)**2)
+DEAL:Explicit::HH[0][1][0][1]: 1.0*(2.0*mu_v - 2*kappa_e/(C_11*C_00 - C_01**2) + 4*kappa_v/(2*C_00**2 + 4*C_01**2 + 2*C_11**2) - 4*C_01**2*kappa_e/(C_11*C_00 - C_01**2)**2 - 32*C_01**2*kappa_v/(2*C_00**2 + 4*C_01**2 + 2*C_11**2)**2)
+DEAL:Explicit::HH[0][1][1][1]: 2.0*(2*C_00*C_01*kappa_e/(C_11*C_00 - C_01**2)**2 - 16*C_11*C_01*kappa_v/(2*C_00**2 + 4*C_01**2 + 2*C_11**2)**2)
+DEAL:Explicit::HH[1][1][0][0]: 4.0*(kappa_e/(C_11*C_00 - C_01**2) - C_11*C_00*kappa_e/(C_11*C_00 - C_01**2)**2 - 8*C_11*C_00*kappa_v/(2*C_00**2 + 4*C_01**2 + 2*C_11**2)**2)
+DEAL:Explicit::HH[1][1][0][1]: 2.0*(2*C_00*C_01*kappa_e/(C_11*C_00 - C_01**2)**2 - 16*C_11*C_01*kappa_v/(2*C_00**2 + 4*C_01**2 + 2*C_11**2)**2)
+DEAL:Explicit::HH[1][1][1][1]: 4.0*(1.0*mu_v + 2*kappa_v/(2*C_00**2 + 4*C_01**2 + 2*C_11**2) - C_00**2*kappa_e/(C_11*C_00 - C_01**2)**2 - 8*C_11**2*kappa_v/(2*C_00**2 + 4*C_01**2 + 2*C_11**2)**2)
+DEAL:Explicit::psi: 53.4081
+DEAL:Explicit::S[0][0]: 34.0000
+DEAL:Explicit::S[0][1]: 0.00000
+DEAL:Explicit::S[1][1]: 34.0000
+DEAL:Explicit::HH[0][0][0][0]: 10.0000
+DEAL:Explicit::HH[0][0][0][1]: 0.00000
+DEAL:Explicit::HH[0][0][1][1]: -1.00000
+DEAL:Explicit::HH[0][1][0][0]: 0.00000
+DEAL:Explicit::HH[0][1][0][1]: 5.50000
+DEAL:Explicit::HH[0][1][1][1]: 0.00000
+DEAL:Explicit::HH[1][1][0][0]: -1.00000
+DEAL:Explicit::HH[1][1][0][1]: 0.00000
+DEAL:Explicit::HH[1][1][1][1]: 10.0000
+DEAL::--------------------------------------------------
+DEAL:Implicit::psi: kappa_v*log(C_00*Qi_00 + 2*C_01*Qi_01 + C_11*Qi_11) + 0.5*mu_v*(-3 + C_00*Qi_00 + 2*C_01*Qi_01 + C_11*Qi_11) + 0.5*(-3 + C_00 + C_11)*mu_e + log(C_11*C_00 - C_01**2)*kappa_e
+DEAL:Implicit::S[0][0]: 2.0*(0.5*mu_e + 0.5*mu_v*Qi_00 + C_11*kappa_e/(C_11*C_00 - C_01**2) + Qi_00*kappa_v/(C_00*Qi_00 + 2*C_01*Qi_01 + C_11*Qi_11))
+DEAL:Implicit::S[0][1]: 1.0*(1.0*mu_v*Qi_01 - 2*C_01*kappa_e/(C_11*C_00 - C_01**2) + 2*Qi_01*kappa_v/(C_00*Qi_00 + 2*C_01*Qi_01 + C_11*Qi_11))
+DEAL:Implicit::S[1][1]: 2.0*(0.5*mu_e + 0.5*mu_v*Qi_11 + C_00*kappa_e/(C_11*C_00 - C_01**2) + Qi_11*kappa_v/(C_00*Qi_00 + 2*C_01*Qi_01 + C_11*Qi_11))
+DEAL:Implicit::HH[0][0][0][0]: 4.0*(0.5*mu_v*dQ_dC_i_0000 - C_11**2*kappa_e/(C_11*C_00 - C_01**2)**2 + dQ_dC_i_0000*kappa_v/(C_00*Qi_00 + 2*C_01*Qi_01 + C_11*Qi_11) - Qi_00*kappa_v*(Qi_00 + C_00*dQ_dC_i_0000 + 2*C_01*dQ_dC_i_0100 + C_11*dQ_dC_i_1100)/(C_00*Qi_00 + 2*C_01*Qi_01 + C_11*Qi_11)**2)
+DEAL:Implicit::HH[0][0][0][1]: 2.0*(0.0 + 2*C_11*C_01*kappa_e/(C_11*C_00 - C_01**2)**2 - 2*Qi_00*Qi_01*kappa_v/(C_00*Qi_00 + 2*C_01*Qi_01 + C_11*Qi_11)**2)
+DEAL:Implicit::HH[0][0][1][1]: 4.0*(0.5*mu_v*dQ_dC_i_0011 + kappa_e/(C_11*C_00 - C_01**2) + dQ_dC_i_0011*kappa_v/(C_00*Qi_00 + 2*C_01*Qi_01 + C_11*Qi_11) - C_11*C_00*kappa_e/(C_11*C_00 - C_01**2)**2 - Qi_00*kappa_v*(Qi_11 + C_00*dQ_dC_i_0011 + 2*C_01*dQ_dC_i_0111 + C_11*dQ_dC_i_1111)/(C_00*Qi_00 + 2*C_01*Qi_01 + C_11*Qi_11)**2)
+DEAL:Implicit::HH[0][1][0][0]: 2.0*(1.0*mu_v*dQ_dC_i_0100 + 2*dQ_dC_i_0100*kappa_v/(C_00*Qi_00 + 2*C_01*Qi_01 + C_11*Qi_11) + 2*C_11*C_01*kappa_e/(C_11*C_00 - C_01**2)**2 - 2*Qi_01*kappa_v*(Qi_00 + C_00*dQ_dC_i_0000 + 2*C_01*dQ_dC_i_0100 + C_11*dQ_dC_i_1100)/(C_00*Qi_00 + 2*C_01*Qi_01 + C_11*Qi_11)**2)
+DEAL:Implicit::HH[0][1][0][1]: 1.0*(0.0 - 2*kappa_e/(C_11*C_00 - C_01**2) - 4*C_01**2*kappa_e/(C_11*C_00 - C_01**2)**2 - 4*Qi_01**2*kappa_v/(C_00*Qi_00 + 2*C_01*Qi_01 + C_11*Qi_11)**2)
+DEAL:Implicit::HH[0][1][1][1]: 2.0*(1.0*mu_v*dQ_dC_i_0111 + 2*dQ_dC_i_0111*kappa_v/(C_00*Qi_00 + 2*C_01*Qi_01 + C_11*Qi_11) + 2*C_00*C_01*kappa_e/(C_11*C_00 - C_01**2)**2 - 2*Qi_01*kappa_v*(Qi_11 + C_00*dQ_dC_i_0011 + 2*C_01*dQ_dC_i_0111 + C_11*dQ_dC_i_1111)/(C_00*Qi_00 + 2*C_01*Qi_01 + C_11*Qi_11)**2)
+DEAL:Implicit::HH[1][1][0][0]: 4.0*(0.5*mu_v*dQ_dC_i_1100 + kappa_e/(C_11*C_00 - C_01**2) + dQ_dC_i_1100*kappa_v/(C_00*Qi_00 + 2*C_01*Qi_01 + C_11*Qi_11) - C_11*C_00*kappa_e/(C_11*C_00 - C_01**2)**2 - Qi_11*kappa_v*(Qi_00 + C_00*dQ_dC_i_0000 + 2*C_01*dQ_dC_i_0100 + C_11*dQ_dC_i_1100)/(C_00*Qi_00 + 2*C_01*Qi_01 + C_11*Qi_11)**2)
+DEAL:Implicit::HH[1][1][0][1]: 2.0*(0.0 + 2*C_00*C_01*kappa_e/(C_11*C_00 - C_01**2)**2 - 2*Qi_11*Qi_01*kappa_v/(C_00*Qi_00 + 2*C_01*Qi_01 + C_11*Qi_11)**2)
+DEAL:Implicit::HH[1][1][1][1]: 4.0*(0.5*mu_v*dQ_dC_i_1111 - C_00**2*kappa_e/(C_11*C_00 - C_01**2)**2 + dQ_dC_i_1111*kappa_v/(C_00*Qi_00 + 2*C_01*Qi_01 + C_11*Qi_11) - Qi_11*kappa_v*(Qi_11 + C_00*dQ_dC_i_0011 + 2*C_01*dQ_dC_i_0111 + C_11*dQ_dC_i_1111)/(C_00*Qi_00 + 2*C_01*Qi_01 + C_11*Qi_11)**2)
+DEAL:Implicit::psi: 26.4465
+DEAL:Implicit::S[0][0]: 21.5000
+DEAL:Implicit::S[0][1]: 0.00000
+DEAL:Implicit::S[1][1]: 21.5000
+DEAL:Implicit::HH[0][0][0][0]: 21.5000
+DEAL:Implicit::HH[0][0][0][1]: 0.00000
+DEAL:Implicit::HH[0][0][1][1]: -2.50000
+DEAL:Implicit::HH[0][1][0][0]: 0.00000
+DEAL:Implicit::HH[0][1][0][1]: -5.00000
+DEAL:Implicit::HH[0][1][1][1]: 0.00000
+DEAL:Implicit::HH[1][1][0][0]: -2.50000
+DEAL:Implicit::HH[1][1][0][1]: 0.00000
+DEAL:Implicit::HH[1][1][1][1]: 21.5000
+DEAL::OK
diff --git a/tests/symengine/batch_optimizer_03_2a.cc b/tests/symengine/batch_optimizer_03_2a.cc
new file mode 100644 (file)
index 0000000..1c88ebe
--- /dev/null
@@ -0,0 +1,42 @@
+// ---------------------------------------------------------------------
+//
+// Copyright (C) 2020 by the deal.II authors
+//
+// This file is part of the deal.II library.
+//
+// The deal.II library is free software; you can use it, redistribute
+// it, and/or modify it under the terms of the GNU Lesser General
+// Public License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+// The full text of the license can be found in the file LICENSE at
+// the top level of the deal.II distribution.
+//
+// ---------------------------------------------------------------------
+
+
+// Check that one can perform substitution of symbolic derivatives that
+// are the result of explicit or implicit relationships between symbolic
+// variables.
+// See tests/symengine/basic_06.cc and tests/symengine/basic_07.cc for
+// a more simple example of differentiation of symbols with
+// explicit/implicit relationships.
+// We invoke the batch optimizer before symbolic evaluation takes place.
+//
+// Here we use only lambda substitution,and invoke no symbolic optimizations.
+
+#include "../tests.h"
+
+#include "sd_common_tests/batch_optimizer_03.h"
+
+int
+main()
+{
+  initlog();
+
+  const enum SD::OptimizerType     opt_method = SD::OptimizerType::lambda;
+  const enum SD::OptimizationFlags opt_flags =
+    SD::OptimizationFlags::optimize_default;
+
+  const int dim = 2;
+  run_tests<dim, opt_method, opt_flags>();
+}
diff --git a/tests/symengine/batch_optimizer_03_2a.output b/tests/symengine/batch_optimizer_03_2a.output
new file mode 100644 (file)
index 0000000..15ae931
--- /dev/null
@@ -0,0 +1,86 @@
+
+DEAL:Standard::psi: 0.5*(-3 + C_00 + C_11)*mu_e + log(C_11*C_00 - C_01**2)*kappa_e
+DEAL:Standard::S[0][0]: 2.0*(0.5*mu_e + C_11*kappa_e/(C_11*C_00 - C_01**2))
+DEAL:Standard::S[0][1]: -2.0*C_01*kappa_e/(C_11*C_00 - C_01**2)
+DEAL:Standard::S[1][1]: 2.0*(0.5*mu_e + C_00*kappa_e/(C_11*C_00 - C_01**2))
+DEAL:Standard::HH[0][0][0][0]: -4.0*C_11**2*kappa_e/(C_11*C_00 - C_01**2)**2
+DEAL:Standard::HH[0][0][0][1]: 4.0*C_11*C_01*kappa_e/(C_11*C_00 - C_01**2)**2
+DEAL:Standard::HH[0][0][1][1]: 4.0*(kappa_e/(C_11*C_00 - C_01**2) - C_11*C_00*kappa_e/(C_11*C_00 - C_01**2)**2)
+DEAL:Standard::HH[0][1][0][0]: 4.0*C_11*C_01*kappa_e/(C_11*C_00 - C_01**2)**2
+DEAL:Standard::HH[0][1][0][1]: 1.0*(-2.0*kappa_e/(C_11*C_00 - C_01**2) - 4.0*C_01**2*kappa_e/(C_11*C_00 - C_01**2)**2)
+DEAL:Standard::HH[0][1][1][1]: 4.0*C_00*C_01*kappa_e/(C_11*C_00 - C_01**2)**2
+DEAL:Standard::HH[1][1][0][0]: 4.0*(kappa_e/(C_11*C_00 - C_01**2) - C_11*C_00*kappa_e/(C_11*C_00 - C_01**2)**2)
+DEAL:Standard::HH[1][1][0][1]: 4.0*C_00*C_01*kappa_e/(C_11*C_00 - C_01**2)**2
+DEAL:Standard::HH[1][1][1][1]: -4.0*C_00**2*kappa_e/(C_11*C_00 - C_01**2)**2
+DEAL:Standard::psi: 15.3629
+DEAL:Standard::S[0][0]: 13.0000
+DEAL:Standard::S[0][1]: 0.00000
+DEAL:Standard::S[1][1]: 13.0000
+DEAL:Standard::HH[0][0][0][0]: -10.0000
+DEAL:Standard::HH[0][0][0][1]: 0.00000
+DEAL:Standard::HH[0][0][1][1]: 0.00000
+DEAL:Standard::HH[0][1][0][0]: 0.00000
+DEAL:Standard::HH[0][1][0][1]: -5.00000
+DEAL:Standard::HH[0][1][1][1]: 0.00000
+DEAL:Standard::HH[1][1][0][0]: 0.00000
+DEAL:Standard::HH[1][1][0][1]: 0.00000
+DEAL:Standard::HH[1][1][1][1]: -10.0000
+DEAL::--------------------------------------------------
+DEAL:Explicit::psi (Q): kappa_v*log(C_00*Qi_00 + 2*C_01*Qi_01 + C_11*Qi_11) + 0.5*mu_v*(-3 + C_00*Qi_00 + 2*C_01*Qi_01 + C_11*Qi_11) + 0.5*(-3 + C_00 + C_11)*mu_e + log(C_11*C_00 - C_01**2)*kappa_e
+DEAL:Explicit::psi: 0.5*mu_v*(-3 + 2*C_00**2 + 4*C_01**2 + 2*C_11**2) + 0.5*(-3 + C_00 + C_11)*mu_e + log(C_11*C_00 - C_01**2)*kappa_e + log(2*C_00**2 + 4*C_01**2 + 2*C_11**2)*kappa_v
+DEAL:Explicit::S (Q)[0][0]: 2.0*(0.5*mu_e + 0.5*mu_v*Qi_00 + C_11*kappa_e/(C_11*C_00 - C_01**2) + Qi_00*kappa_v/(C_00*Qi_00 + 2*C_01*Qi_01 + C_11*Qi_11))
+DEAL:Explicit::S (Q)[0][1]: 1.0*(1.0*mu_v*Qi_01 - 2*C_01*kappa_e/(C_11*C_00 - C_01**2) + 2*Qi_01*kappa_v/(C_00*Qi_00 + 2*C_01*Qi_01 + C_11*Qi_11))
+DEAL:Explicit::S (Q)[1][1]: 2.0*(0.5*mu_e + 0.5*mu_v*Qi_11 + C_00*kappa_e/(C_11*C_00 - C_01**2) + Qi_11*kappa_v/(C_00*Qi_00 + 2*C_01*Qi_01 + C_11*Qi_11))
+DEAL:Explicit::S[0][0]: 2.0*(0.5*mu_e + 1.0*mu_v*C_00 + 2*C_00*kappa_v/(2*C_00**2 + 4*C_01**2 + 2*C_11**2) + C_11*kappa_e/(C_11*C_00 - C_01**2))
+DEAL:Explicit::S[0][1]: 1.0*(2.0*mu_v*C_01 - 2*C_01*kappa_e/(C_11*C_00 - C_01**2) + 4*C_01*kappa_v/(2*C_00**2 + 4*C_01**2 + 2*C_11**2))
+DEAL:Explicit::S[1][1]: 2.0*(0.5*mu_e + 1.0*mu_v*C_11 + C_00*kappa_e/(C_11*C_00 - C_01**2) + 2*C_11*kappa_v/(2*C_00**2 + 4*C_01**2 + 2*C_11**2))
+DEAL:Explicit::HH[0][0][0][0]: 4.0*(1.0*mu_v + 2*kappa_v/(2*C_00**2 + 4*C_01**2 + 2*C_11**2) - 8*C_00**2*kappa_v/(2*C_00**2 + 4*C_01**2 + 2*C_11**2)**2 - C_11**2*kappa_e/(C_11*C_00 - C_01**2)**2)
+DEAL:Explicit::HH[0][0][0][1]: 2.0*(-16*C_00*C_01*kappa_v/(2*C_00**2 + 4*C_01**2 + 2*C_11**2)**2 + 2*C_11*C_01*kappa_e/(C_11*C_00 - C_01**2)**2)
+DEAL:Explicit::HH[0][0][1][1]: 4.0*(kappa_e/(C_11*C_00 - C_01**2) - C_11*C_00*kappa_e/(C_11*C_00 - C_01**2)**2 - 8*C_11*C_00*kappa_v/(2*C_00**2 + 4*C_01**2 + 2*C_11**2)**2)
+DEAL:Explicit::HH[0][1][0][0]: 2.0*(-16*C_00*C_01*kappa_v/(2*C_00**2 + 4*C_01**2 + 2*C_11**2)**2 + 2*C_11*C_01*kappa_e/(C_11*C_00 - C_01**2)**2)
+DEAL:Explicit::HH[0][1][0][1]: 1.0*(2.0*mu_v - 2*kappa_e/(C_11*C_00 - C_01**2) + 4*kappa_v/(2*C_00**2 + 4*C_01**2 + 2*C_11**2) - 4*C_01**2*kappa_e/(C_11*C_00 - C_01**2)**2 - 32*C_01**2*kappa_v/(2*C_00**2 + 4*C_01**2 + 2*C_11**2)**2)
+DEAL:Explicit::HH[0][1][1][1]: 2.0*(2*C_00*C_01*kappa_e/(C_11*C_00 - C_01**2)**2 - 16*C_11*C_01*kappa_v/(2*C_00**2 + 4*C_01**2 + 2*C_11**2)**2)
+DEAL:Explicit::HH[1][1][0][0]: 4.0*(kappa_e/(C_11*C_00 - C_01**2) - C_11*C_00*kappa_e/(C_11*C_00 - C_01**2)**2 - 8*C_11*C_00*kappa_v/(2*C_00**2 + 4*C_01**2 + 2*C_11**2)**2)
+DEAL:Explicit::HH[1][1][0][1]: 2.0*(2*C_00*C_01*kappa_e/(C_11*C_00 - C_01**2)**2 - 16*C_11*C_01*kappa_v/(2*C_00**2 + 4*C_01**2 + 2*C_11**2)**2)
+DEAL:Explicit::HH[1][1][1][1]: 4.0*(1.0*mu_v + 2*kappa_v/(2*C_00**2 + 4*C_01**2 + 2*C_11**2) - C_00**2*kappa_e/(C_11*C_00 - C_01**2)**2 - 8*C_11**2*kappa_v/(2*C_00**2 + 4*C_01**2 + 2*C_11**2)**2)
+DEAL:Explicit::psi: 53.4081
+DEAL:Explicit::S[0][0]: 34.0000
+DEAL:Explicit::S[0][1]: 0.00000
+DEAL:Explicit::S[1][1]: 34.0000
+DEAL:Explicit::HH[0][0][0][0]: 10.0000
+DEAL:Explicit::HH[0][0][0][1]: 0.00000
+DEAL:Explicit::HH[0][0][1][1]: -1.00000
+DEAL:Explicit::HH[0][1][0][0]: 0.00000
+DEAL:Explicit::HH[0][1][0][1]: 5.50000
+DEAL:Explicit::HH[0][1][1][1]: 0.00000
+DEAL:Explicit::HH[1][1][0][0]: -1.00000
+DEAL:Explicit::HH[1][1][0][1]: 0.00000
+DEAL:Explicit::HH[1][1][1][1]: 10.0000
+DEAL::--------------------------------------------------
+DEAL:Implicit::psi: kappa_v*log(C_00*Qi_00 + 2*C_01*Qi_01 + C_11*Qi_11) + 0.5*mu_v*(-3 + C_00*Qi_00 + 2*C_01*Qi_01 + C_11*Qi_11) + 0.5*(-3 + C_00 + C_11)*mu_e + log(C_11*C_00 - C_01**2)*kappa_e
+DEAL:Implicit::S[0][0]: 2.0*(0.5*mu_e + 0.5*mu_v*Qi_00 + C_11*kappa_e/(C_11*C_00 - C_01**2) + Qi_00*kappa_v/(C_00*Qi_00 + 2*C_01*Qi_01 + C_11*Qi_11))
+DEAL:Implicit::S[0][1]: 1.0*(1.0*mu_v*Qi_01 - 2*C_01*kappa_e/(C_11*C_00 - C_01**2) + 2*Qi_01*kappa_v/(C_00*Qi_00 + 2*C_01*Qi_01 + C_11*Qi_11))
+DEAL:Implicit::S[1][1]: 2.0*(0.5*mu_e + 0.5*mu_v*Qi_11 + C_00*kappa_e/(C_11*C_00 - C_01**2) + Qi_11*kappa_v/(C_00*Qi_00 + 2*C_01*Qi_01 + C_11*Qi_11))
+DEAL:Implicit::HH[0][0][0][0]: 4.0*(0.5*mu_v*dQ_dC_i_0000 - C_11**2*kappa_e/(C_11*C_00 - C_01**2)**2 + dQ_dC_i_0000*kappa_v/(C_00*Qi_00 + 2*C_01*Qi_01 + C_11*Qi_11) - Qi_00*kappa_v*(Qi_00 + C_00*dQ_dC_i_0000 + 2*C_01*dQ_dC_i_0100 + C_11*dQ_dC_i_1100)/(C_00*Qi_00 + 2*C_01*Qi_01 + C_11*Qi_11)**2)
+DEAL:Implicit::HH[0][0][0][1]: 2.0*(0.0 + 2*C_11*C_01*kappa_e/(C_11*C_00 - C_01**2)**2 - 2*Qi_00*Qi_01*kappa_v/(C_00*Qi_00 + 2*C_01*Qi_01 + C_11*Qi_11)**2)
+DEAL:Implicit::HH[0][0][1][1]: 4.0*(0.5*mu_v*dQ_dC_i_0011 + kappa_e/(C_11*C_00 - C_01**2) + dQ_dC_i_0011*kappa_v/(C_00*Qi_00 + 2*C_01*Qi_01 + C_11*Qi_11) - C_11*C_00*kappa_e/(C_11*C_00 - C_01**2)**2 - Qi_00*kappa_v*(Qi_11 + C_00*dQ_dC_i_0011 + 2*C_01*dQ_dC_i_0111 + C_11*dQ_dC_i_1111)/(C_00*Qi_00 + 2*C_01*Qi_01 + C_11*Qi_11)**2)
+DEAL:Implicit::HH[0][1][0][0]: 2.0*(1.0*mu_v*dQ_dC_i_0100 + 2*dQ_dC_i_0100*kappa_v/(C_00*Qi_00 + 2*C_01*Qi_01 + C_11*Qi_11) + 2*C_11*C_01*kappa_e/(C_11*C_00 - C_01**2)**2 - 2*Qi_01*kappa_v*(Qi_00 + C_00*dQ_dC_i_0000 + 2*C_01*dQ_dC_i_0100 + C_11*dQ_dC_i_1100)/(C_00*Qi_00 + 2*C_01*Qi_01 + C_11*Qi_11)**2)
+DEAL:Implicit::HH[0][1][0][1]: 1.0*(0.0 - 2*kappa_e/(C_11*C_00 - C_01**2) - 4*C_01**2*kappa_e/(C_11*C_00 - C_01**2)**2 - 4*Qi_01**2*kappa_v/(C_00*Qi_00 + 2*C_01*Qi_01 + C_11*Qi_11)**2)
+DEAL:Implicit::HH[0][1][1][1]: 2.0*(1.0*mu_v*dQ_dC_i_0111 + 2*dQ_dC_i_0111*kappa_v/(C_00*Qi_00 + 2*C_01*Qi_01 + C_11*Qi_11) + 2*C_00*C_01*kappa_e/(C_11*C_00 - C_01**2)**2 - 2*Qi_01*kappa_v*(Qi_11 + C_00*dQ_dC_i_0011 + 2*C_01*dQ_dC_i_0111 + C_11*dQ_dC_i_1111)/(C_00*Qi_00 + 2*C_01*Qi_01 + C_11*Qi_11)**2)
+DEAL:Implicit::HH[1][1][0][0]: 4.0*(0.5*mu_v*dQ_dC_i_1100 + kappa_e/(C_11*C_00 - C_01**2) + dQ_dC_i_1100*kappa_v/(C_00*Qi_00 + 2*C_01*Qi_01 + C_11*Qi_11) - C_11*C_00*kappa_e/(C_11*C_00 - C_01**2)**2 - Qi_11*kappa_v*(Qi_00 + C_00*dQ_dC_i_0000 + 2*C_01*dQ_dC_i_0100 + C_11*dQ_dC_i_1100)/(C_00*Qi_00 + 2*C_01*Qi_01 + C_11*Qi_11)**2)
+DEAL:Implicit::HH[1][1][0][1]: 2.0*(0.0 + 2*C_00*C_01*kappa_e/(C_11*C_00 - C_01**2)**2 - 2*Qi_11*Qi_01*kappa_v/(C_00*Qi_00 + 2*C_01*Qi_01 + C_11*Qi_11)**2)
+DEAL:Implicit::HH[1][1][1][1]: 4.0*(0.5*mu_v*dQ_dC_i_1111 - C_00**2*kappa_e/(C_11*C_00 - C_01**2)**2 + dQ_dC_i_1111*kappa_v/(C_00*Qi_00 + 2*C_01*Qi_01 + C_11*Qi_11) - Qi_11*kappa_v*(Qi_11 + C_00*dQ_dC_i_0011 + 2*C_01*dQ_dC_i_0111 + C_11*dQ_dC_i_1111)/(C_00*Qi_00 + 2*C_01*Qi_01 + C_11*Qi_11)**2)
+DEAL:Implicit::psi: 26.4465
+DEAL:Implicit::S[0][0]: 21.5000
+DEAL:Implicit::S[0][1]: 0.00000
+DEAL:Implicit::S[1][1]: 21.5000
+DEAL:Implicit::HH[0][0][0][0]: 21.5000
+DEAL:Implicit::HH[0][0][0][1]: 0.00000
+DEAL:Implicit::HH[0][0][1][1]: -2.50000
+DEAL:Implicit::HH[0][1][0][0]: 0.00000
+DEAL:Implicit::HH[0][1][0][1]: -5.00000
+DEAL:Implicit::HH[0][1][1][1]: 0.00000
+DEAL:Implicit::HH[1][1][0][0]: -2.50000
+DEAL:Implicit::HH[1][1][0][1]: 0.00000
+DEAL:Implicit::HH[1][1][1][1]: 21.5000
+DEAL::OK
diff --git a/tests/symengine/batch_optimizer_03_2b.cc b/tests/symengine/batch_optimizer_03_2b.cc
new file mode 100644 (file)
index 0000000..97373e6
--- /dev/null
@@ -0,0 +1,42 @@
+// ---------------------------------------------------------------------
+//
+// Copyright (C) 2020 by the deal.II authors
+//
+// This file is part of the deal.II library.
+//
+// The deal.II library is free software; you can use it, redistribute
+// it, and/or modify it under the terms of the GNU Lesser General
+// Public License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+// The full text of the license can be found in the file LICENSE at
+// the top level of the deal.II distribution.
+//
+// ---------------------------------------------------------------------
+
+
+// Check that one can perform substitution of symbolic derivatives that
+// are the result of explicit or implicit relationships between symbolic
+// variables.
+// See tests/symengine/basic_06.cc and tests/symengine/basic_07.cc for
+// a more simple example of differentiation of symbols with
+// explicit/implicit relationships.
+// We invoke the batch optimizer before symbolic evaluation takes place.
+//
+// Here we use only lambda substitution, but invoke all symbolic optimizations.
+
+#include "../tests.h"
+
+#include "sd_common_tests/batch_optimizer_03.h"
+
+int
+main()
+{
+  initlog();
+
+  const enum SD::OptimizerType     opt_method = SD::OptimizerType::lambda;
+  const enum SD::OptimizationFlags opt_flags =
+    SD::OptimizationFlags::optimize_all;
+
+  const int dim = 2;
+  run_tests<dim, opt_method, opt_flags>();
+}
diff --git a/tests/symengine/batch_optimizer_03_2b.output b/tests/symengine/batch_optimizer_03_2b.output
new file mode 100644 (file)
index 0000000..15ae931
--- /dev/null
@@ -0,0 +1,86 @@
+
+DEAL:Standard::psi: 0.5*(-3 + C_00 + C_11)*mu_e + log(C_11*C_00 - C_01**2)*kappa_e
+DEAL:Standard::S[0][0]: 2.0*(0.5*mu_e + C_11*kappa_e/(C_11*C_00 - C_01**2))
+DEAL:Standard::S[0][1]: -2.0*C_01*kappa_e/(C_11*C_00 - C_01**2)
+DEAL:Standard::S[1][1]: 2.0*(0.5*mu_e + C_00*kappa_e/(C_11*C_00 - C_01**2))
+DEAL:Standard::HH[0][0][0][0]: -4.0*C_11**2*kappa_e/(C_11*C_00 - C_01**2)**2
+DEAL:Standard::HH[0][0][0][1]: 4.0*C_11*C_01*kappa_e/(C_11*C_00 - C_01**2)**2
+DEAL:Standard::HH[0][0][1][1]: 4.0*(kappa_e/(C_11*C_00 - C_01**2) - C_11*C_00*kappa_e/(C_11*C_00 - C_01**2)**2)
+DEAL:Standard::HH[0][1][0][0]: 4.0*C_11*C_01*kappa_e/(C_11*C_00 - C_01**2)**2
+DEAL:Standard::HH[0][1][0][1]: 1.0*(-2.0*kappa_e/(C_11*C_00 - C_01**2) - 4.0*C_01**2*kappa_e/(C_11*C_00 - C_01**2)**2)
+DEAL:Standard::HH[0][1][1][1]: 4.0*C_00*C_01*kappa_e/(C_11*C_00 - C_01**2)**2
+DEAL:Standard::HH[1][1][0][0]: 4.0*(kappa_e/(C_11*C_00 - C_01**2) - C_11*C_00*kappa_e/(C_11*C_00 - C_01**2)**2)
+DEAL:Standard::HH[1][1][0][1]: 4.0*C_00*C_01*kappa_e/(C_11*C_00 - C_01**2)**2
+DEAL:Standard::HH[1][1][1][1]: -4.0*C_00**2*kappa_e/(C_11*C_00 - C_01**2)**2
+DEAL:Standard::psi: 15.3629
+DEAL:Standard::S[0][0]: 13.0000
+DEAL:Standard::S[0][1]: 0.00000
+DEAL:Standard::S[1][1]: 13.0000
+DEAL:Standard::HH[0][0][0][0]: -10.0000
+DEAL:Standard::HH[0][0][0][1]: 0.00000
+DEAL:Standard::HH[0][0][1][1]: 0.00000
+DEAL:Standard::HH[0][1][0][0]: 0.00000
+DEAL:Standard::HH[0][1][0][1]: -5.00000
+DEAL:Standard::HH[0][1][1][1]: 0.00000
+DEAL:Standard::HH[1][1][0][0]: 0.00000
+DEAL:Standard::HH[1][1][0][1]: 0.00000
+DEAL:Standard::HH[1][1][1][1]: -10.0000
+DEAL::--------------------------------------------------
+DEAL:Explicit::psi (Q): kappa_v*log(C_00*Qi_00 + 2*C_01*Qi_01 + C_11*Qi_11) + 0.5*mu_v*(-3 + C_00*Qi_00 + 2*C_01*Qi_01 + C_11*Qi_11) + 0.5*(-3 + C_00 + C_11)*mu_e + log(C_11*C_00 - C_01**2)*kappa_e
+DEAL:Explicit::psi: 0.5*mu_v*(-3 + 2*C_00**2 + 4*C_01**2 + 2*C_11**2) + 0.5*(-3 + C_00 + C_11)*mu_e + log(C_11*C_00 - C_01**2)*kappa_e + log(2*C_00**2 + 4*C_01**2 + 2*C_11**2)*kappa_v
+DEAL:Explicit::S (Q)[0][0]: 2.0*(0.5*mu_e + 0.5*mu_v*Qi_00 + C_11*kappa_e/(C_11*C_00 - C_01**2) + Qi_00*kappa_v/(C_00*Qi_00 + 2*C_01*Qi_01 + C_11*Qi_11))
+DEAL:Explicit::S (Q)[0][1]: 1.0*(1.0*mu_v*Qi_01 - 2*C_01*kappa_e/(C_11*C_00 - C_01**2) + 2*Qi_01*kappa_v/(C_00*Qi_00 + 2*C_01*Qi_01 + C_11*Qi_11))
+DEAL:Explicit::S (Q)[1][1]: 2.0*(0.5*mu_e + 0.5*mu_v*Qi_11 + C_00*kappa_e/(C_11*C_00 - C_01**2) + Qi_11*kappa_v/(C_00*Qi_00 + 2*C_01*Qi_01 + C_11*Qi_11))
+DEAL:Explicit::S[0][0]: 2.0*(0.5*mu_e + 1.0*mu_v*C_00 + 2*C_00*kappa_v/(2*C_00**2 + 4*C_01**2 + 2*C_11**2) + C_11*kappa_e/(C_11*C_00 - C_01**2))
+DEAL:Explicit::S[0][1]: 1.0*(2.0*mu_v*C_01 - 2*C_01*kappa_e/(C_11*C_00 - C_01**2) + 4*C_01*kappa_v/(2*C_00**2 + 4*C_01**2 + 2*C_11**2))
+DEAL:Explicit::S[1][1]: 2.0*(0.5*mu_e + 1.0*mu_v*C_11 + C_00*kappa_e/(C_11*C_00 - C_01**2) + 2*C_11*kappa_v/(2*C_00**2 + 4*C_01**2 + 2*C_11**2))
+DEAL:Explicit::HH[0][0][0][0]: 4.0*(1.0*mu_v + 2*kappa_v/(2*C_00**2 + 4*C_01**2 + 2*C_11**2) - 8*C_00**2*kappa_v/(2*C_00**2 + 4*C_01**2 + 2*C_11**2)**2 - C_11**2*kappa_e/(C_11*C_00 - C_01**2)**2)
+DEAL:Explicit::HH[0][0][0][1]: 2.0*(-16*C_00*C_01*kappa_v/(2*C_00**2 + 4*C_01**2 + 2*C_11**2)**2 + 2*C_11*C_01*kappa_e/(C_11*C_00 - C_01**2)**2)
+DEAL:Explicit::HH[0][0][1][1]: 4.0*(kappa_e/(C_11*C_00 - C_01**2) - C_11*C_00*kappa_e/(C_11*C_00 - C_01**2)**2 - 8*C_11*C_00*kappa_v/(2*C_00**2 + 4*C_01**2 + 2*C_11**2)**2)
+DEAL:Explicit::HH[0][1][0][0]: 2.0*(-16*C_00*C_01*kappa_v/(2*C_00**2 + 4*C_01**2 + 2*C_11**2)**2 + 2*C_11*C_01*kappa_e/(C_11*C_00 - C_01**2)**2)
+DEAL:Explicit::HH[0][1][0][1]: 1.0*(2.0*mu_v - 2*kappa_e/(C_11*C_00 - C_01**2) + 4*kappa_v/(2*C_00**2 + 4*C_01**2 + 2*C_11**2) - 4*C_01**2*kappa_e/(C_11*C_00 - C_01**2)**2 - 32*C_01**2*kappa_v/(2*C_00**2 + 4*C_01**2 + 2*C_11**2)**2)
+DEAL:Explicit::HH[0][1][1][1]: 2.0*(2*C_00*C_01*kappa_e/(C_11*C_00 - C_01**2)**2 - 16*C_11*C_01*kappa_v/(2*C_00**2 + 4*C_01**2 + 2*C_11**2)**2)
+DEAL:Explicit::HH[1][1][0][0]: 4.0*(kappa_e/(C_11*C_00 - C_01**2) - C_11*C_00*kappa_e/(C_11*C_00 - C_01**2)**2 - 8*C_11*C_00*kappa_v/(2*C_00**2 + 4*C_01**2 + 2*C_11**2)**2)
+DEAL:Explicit::HH[1][1][0][1]: 2.0*(2*C_00*C_01*kappa_e/(C_11*C_00 - C_01**2)**2 - 16*C_11*C_01*kappa_v/(2*C_00**2 + 4*C_01**2 + 2*C_11**2)**2)
+DEAL:Explicit::HH[1][1][1][1]: 4.0*(1.0*mu_v + 2*kappa_v/(2*C_00**2 + 4*C_01**2 + 2*C_11**2) - C_00**2*kappa_e/(C_11*C_00 - C_01**2)**2 - 8*C_11**2*kappa_v/(2*C_00**2 + 4*C_01**2 + 2*C_11**2)**2)
+DEAL:Explicit::psi: 53.4081
+DEAL:Explicit::S[0][0]: 34.0000
+DEAL:Explicit::S[0][1]: 0.00000
+DEAL:Explicit::S[1][1]: 34.0000
+DEAL:Explicit::HH[0][0][0][0]: 10.0000
+DEAL:Explicit::HH[0][0][0][1]: 0.00000
+DEAL:Explicit::HH[0][0][1][1]: -1.00000
+DEAL:Explicit::HH[0][1][0][0]: 0.00000
+DEAL:Explicit::HH[0][1][0][1]: 5.50000
+DEAL:Explicit::HH[0][1][1][1]: 0.00000
+DEAL:Explicit::HH[1][1][0][0]: -1.00000
+DEAL:Explicit::HH[1][1][0][1]: 0.00000
+DEAL:Explicit::HH[1][1][1][1]: 10.0000
+DEAL::--------------------------------------------------
+DEAL:Implicit::psi: kappa_v*log(C_00*Qi_00 + 2*C_01*Qi_01 + C_11*Qi_11) + 0.5*mu_v*(-3 + C_00*Qi_00 + 2*C_01*Qi_01 + C_11*Qi_11) + 0.5*(-3 + C_00 + C_11)*mu_e + log(C_11*C_00 - C_01**2)*kappa_e
+DEAL:Implicit::S[0][0]: 2.0*(0.5*mu_e + 0.5*mu_v*Qi_00 + C_11*kappa_e/(C_11*C_00 - C_01**2) + Qi_00*kappa_v/(C_00*Qi_00 + 2*C_01*Qi_01 + C_11*Qi_11))
+DEAL:Implicit::S[0][1]: 1.0*(1.0*mu_v*Qi_01 - 2*C_01*kappa_e/(C_11*C_00 - C_01**2) + 2*Qi_01*kappa_v/(C_00*Qi_00 + 2*C_01*Qi_01 + C_11*Qi_11))
+DEAL:Implicit::S[1][1]: 2.0*(0.5*mu_e + 0.5*mu_v*Qi_11 + C_00*kappa_e/(C_11*C_00 - C_01**2) + Qi_11*kappa_v/(C_00*Qi_00 + 2*C_01*Qi_01 + C_11*Qi_11))
+DEAL:Implicit::HH[0][0][0][0]: 4.0*(0.5*mu_v*dQ_dC_i_0000 - C_11**2*kappa_e/(C_11*C_00 - C_01**2)**2 + dQ_dC_i_0000*kappa_v/(C_00*Qi_00 + 2*C_01*Qi_01 + C_11*Qi_11) - Qi_00*kappa_v*(Qi_00 + C_00*dQ_dC_i_0000 + 2*C_01*dQ_dC_i_0100 + C_11*dQ_dC_i_1100)/(C_00*Qi_00 + 2*C_01*Qi_01 + C_11*Qi_11)**2)
+DEAL:Implicit::HH[0][0][0][1]: 2.0*(0.0 + 2*C_11*C_01*kappa_e/(C_11*C_00 - C_01**2)**2 - 2*Qi_00*Qi_01*kappa_v/(C_00*Qi_00 + 2*C_01*Qi_01 + C_11*Qi_11)**2)
+DEAL:Implicit::HH[0][0][1][1]: 4.0*(0.5*mu_v*dQ_dC_i_0011 + kappa_e/(C_11*C_00 - C_01**2) + dQ_dC_i_0011*kappa_v/(C_00*Qi_00 + 2*C_01*Qi_01 + C_11*Qi_11) - C_11*C_00*kappa_e/(C_11*C_00 - C_01**2)**2 - Qi_00*kappa_v*(Qi_11 + C_00*dQ_dC_i_0011 + 2*C_01*dQ_dC_i_0111 + C_11*dQ_dC_i_1111)/(C_00*Qi_00 + 2*C_01*Qi_01 + C_11*Qi_11)**2)
+DEAL:Implicit::HH[0][1][0][0]: 2.0*(1.0*mu_v*dQ_dC_i_0100 + 2*dQ_dC_i_0100*kappa_v/(C_00*Qi_00 + 2*C_01*Qi_01 + C_11*Qi_11) + 2*C_11*C_01*kappa_e/(C_11*C_00 - C_01**2)**2 - 2*Qi_01*kappa_v*(Qi_00 + C_00*dQ_dC_i_0000 + 2*C_01*dQ_dC_i_0100 + C_11*dQ_dC_i_1100)/(C_00*Qi_00 + 2*C_01*Qi_01 + C_11*Qi_11)**2)
+DEAL:Implicit::HH[0][1][0][1]: 1.0*(0.0 - 2*kappa_e/(C_11*C_00 - C_01**2) - 4*C_01**2*kappa_e/(C_11*C_00 - C_01**2)**2 - 4*Qi_01**2*kappa_v/(C_00*Qi_00 + 2*C_01*Qi_01 + C_11*Qi_11)**2)
+DEAL:Implicit::HH[0][1][1][1]: 2.0*(1.0*mu_v*dQ_dC_i_0111 + 2*dQ_dC_i_0111*kappa_v/(C_00*Qi_00 + 2*C_01*Qi_01 + C_11*Qi_11) + 2*C_00*C_01*kappa_e/(C_11*C_00 - C_01**2)**2 - 2*Qi_01*kappa_v*(Qi_11 + C_00*dQ_dC_i_0011 + 2*C_01*dQ_dC_i_0111 + C_11*dQ_dC_i_1111)/(C_00*Qi_00 + 2*C_01*Qi_01 + C_11*Qi_11)**2)
+DEAL:Implicit::HH[1][1][0][0]: 4.0*(0.5*mu_v*dQ_dC_i_1100 + kappa_e/(C_11*C_00 - C_01**2) + dQ_dC_i_1100*kappa_v/(C_00*Qi_00 + 2*C_01*Qi_01 + C_11*Qi_11) - C_11*C_00*kappa_e/(C_11*C_00 - C_01**2)**2 - Qi_11*kappa_v*(Qi_00 + C_00*dQ_dC_i_0000 + 2*C_01*dQ_dC_i_0100 + C_11*dQ_dC_i_1100)/(C_00*Qi_00 + 2*C_01*Qi_01 + C_11*Qi_11)**2)
+DEAL:Implicit::HH[1][1][0][1]: 2.0*(0.0 + 2*C_00*C_01*kappa_e/(C_11*C_00 - C_01**2)**2 - 2*Qi_11*Qi_01*kappa_v/(C_00*Qi_00 + 2*C_01*Qi_01 + C_11*Qi_11)**2)
+DEAL:Implicit::HH[1][1][1][1]: 4.0*(0.5*mu_v*dQ_dC_i_1111 - C_00**2*kappa_e/(C_11*C_00 - C_01**2)**2 + dQ_dC_i_1111*kappa_v/(C_00*Qi_00 + 2*C_01*Qi_01 + C_11*Qi_11) - Qi_11*kappa_v*(Qi_11 + C_00*dQ_dC_i_0011 + 2*C_01*dQ_dC_i_0111 + C_11*dQ_dC_i_1111)/(C_00*Qi_00 + 2*C_01*Qi_01 + C_11*Qi_11)**2)
+DEAL:Implicit::psi: 26.4465
+DEAL:Implicit::S[0][0]: 21.5000
+DEAL:Implicit::S[0][1]: 0.00000
+DEAL:Implicit::S[1][1]: 21.5000
+DEAL:Implicit::HH[0][0][0][0]: 21.5000
+DEAL:Implicit::HH[0][0][0][1]: 0.00000
+DEAL:Implicit::HH[0][0][1][1]: -2.50000
+DEAL:Implicit::HH[0][1][0][0]: 0.00000
+DEAL:Implicit::HH[0][1][0][1]: -5.00000
+DEAL:Implicit::HH[0][1][1][1]: 0.00000
+DEAL:Implicit::HH[1][1][0][0]: -2.50000
+DEAL:Implicit::HH[1][1][0][1]: 0.00000
+DEAL:Implicit::HH[1][1][1][1]: 21.5000
+DEAL::OK
diff --git a/tests/symengine/batch_optimizer_03_3a.cc b/tests/symengine/batch_optimizer_03_3a.cc
new file mode 100644 (file)
index 0000000..350e482
--- /dev/null
@@ -0,0 +1,43 @@
+// ---------------------------------------------------------------------
+//
+// Copyright (C) 2020 by the deal.II authors
+//
+// This file is part of the deal.II library.
+//
+// The deal.II library is free software; you can use it, redistribute
+// it, and/or modify it under the terms of the GNU Lesser General
+// Public License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+// The full text of the license can be found in the file LICENSE at
+// the top level of the deal.II distribution.
+//
+// ---------------------------------------------------------------------
+
+
+// Check that one can perform substitution of symbolic derivatives that
+// are the result of explicit or implicit relationships between symbolic
+// variables.
+// See tests/symengine/basic_06.cc and tests/symengine/basic_07.cc for
+// a more simple example of differentiation of symbols with
+// explicit/implicit relationships.
+// We invoke the batch optimizer before symbolic evaluation takes place.
+//
+// Here we invoke the LLVM optimizer before symbolic evaluation takes place,
+// and we invoke no additional symbolic optimizations as well.
+
+#include "../tests.h"
+
+#include "sd_common_tests/batch_optimizer_03.h"
+
+int
+main()
+{
+  initlog();
+
+  const enum SD::OptimizerType     opt_method = SD::OptimizerType::llvm;
+  const enum SD::OptimizationFlags opt_flags =
+    SD::OptimizationFlags::optimize_default;
+
+  const int dim = 2;
+  run_tests<dim, opt_method, opt_flags>();
+}
diff --git a/tests/symengine/batch_optimizer_03_3a.with_symengine_with_llvm.output b/tests/symengine/batch_optimizer_03_3a.with_symengine_with_llvm.output
new file mode 100644 (file)
index 0000000..15ae931
--- /dev/null
@@ -0,0 +1,86 @@
+
+DEAL:Standard::psi: 0.5*(-3 + C_00 + C_11)*mu_e + log(C_11*C_00 - C_01**2)*kappa_e
+DEAL:Standard::S[0][0]: 2.0*(0.5*mu_e + C_11*kappa_e/(C_11*C_00 - C_01**2))
+DEAL:Standard::S[0][1]: -2.0*C_01*kappa_e/(C_11*C_00 - C_01**2)
+DEAL:Standard::S[1][1]: 2.0*(0.5*mu_e + C_00*kappa_e/(C_11*C_00 - C_01**2))
+DEAL:Standard::HH[0][0][0][0]: -4.0*C_11**2*kappa_e/(C_11*C_00 - C_01**2)**2
+DEAL:Standard::HH[0][0][0][1]: 4.0*C_11*C_01*kappa_e/(C_11*C_00 - C_01**2)**2
+DEAL:Standard::HH[0][0][1][1]: 4.0*(kappa_e/(C_11*C_00 - C_01**2) - C_11*C_00*kappa_e/(C_11*C_00 - C_01**2)**2)
+DEAL:Standard::HH[0][1][0][0]: 4.0*C_11*C_01*kappa_e/(C_11*C_00 - C_01**2)**2
+DEAL:Standard::HH[0][1][0][1]: 1.0*(-2.0*kappa_e/(C_11*C_00 - C_01**2) - 4.0*C_01**2*kappa_e/(C_11*C_00 - C_01**2)**2)
+DEAL:Standard::HH[0][1][1][1]: 4.0*C_00*C_01*kappa_e/(C_11*C_00 - C_01**2)**2
+DEAL:Standard::HH[1][1][0][0]: 4.0*(kappa_e/(C_11*C_00 - C_01**2) - C_11*C_00*kappa_e/(C_11*C_00 - C_01**2)**2)
+DEAL:Standard::HH[1][1][0][1]: 4.0*C_00*C_01*kappa_e/(C_11*C_00 - C_01**2)**2
+DEAL:Standard::HH[1][1][1][1]: -4.0*C_00**2*kappa_e/(C_11*C_00 - C_01**2)**2
+DEAL:Standard::psi: 15.3629
+DEAL:Standard::S[0][0]: 13.0000
+DEAL:Standard::S[0][1]: 0.00000
+DEAL:Standard::S[1][1]: 13.0000
+DEAL:Standard::HH[0][0][0][0]: -10.0000
+DEAL:Standard::HH[0][0][0][1]: 0.00000
+DEAL:Standard::HH[0][0][1][1]: 0.00000
+DEAL:Standard::HH[0][1][0][0]: 0.00000
+DEAL:Standard::HH[0][1][0][1]: -5.00000
+DEAL:Standard::HH[0][1][1][1]: 0.00000
+DEAL:Standard::HH[1][1][0][0]: 0.00000
+DEAL:Standard::HH[1][1][0][1]: 0.00000
+DEAL:Standard::HH[1][1][1][1]: -10.0000
+DEAL::--------------------------------------------------
+DEAL:Explicit::psi (Q): kappa_v*log(C_00*Qi_00 + 2*C_01*Qi_01 + C_11*Qi_11) + 0.5*mu_v*(-3 + C_00*Qi_00 + 2*C_01*Qi_01 + C_11*Qi_11) + 0.5*(-3 + C_00 + C_11)*mu_e + log(C_11*C_00 - C_01**2)*kappa_e
+DEAL:Explicit::psi: 0.5*mu_v*(-3 + 2*C_00**2 + 4*C_01**2 + 2*C_11**2) + 0.5*(-3 + C_00 + C_11)*mu_e + log(C_11*C_00 - C_01**2)*kappa_e + log(2*C_00**2 + 4*C_01**2 + 2*C_11**2)*kappa_v
+DEAL:Explicit::S (Q)[0][0]: 2.0*(0.5*mu_e + 0.5*mu_v*Qi_00 + C_11*kappa_e/(C_11*C_00 - C_01**2) + Qi_00*kappa_v/(C_00*Qi_00 + 2*C_01*Qi_01 + C_11*Qi_11))
+DEAL:Explicit::S (Q)[0][1]: 1.0*(1.0*mu_v*Qi_01 - 2*C_01*kappa_e/(C_11*C_00 - C_01**2) + 2*Qi_01*kappa_v/(C_00*Qi_00 + 2*C_01*Qi_01 + C_11*Qi_11))
+DEAL:Explicit::S (Q)[1][1]: 2.0*(0.5*mu_e + 0.5*mu_v*Qi_11 + C_00*kappa_e/(C_11*C_00 - C_01**2) + Qi_11*kappa_v/(C_00*Qi_00 + 2*C_01*Qi_01 + C_11*Qi_11))
+DEAL:Explicit::S[0][0]: 2.0*(0.5*mu_e + 1.0*mu_v*C_00 + 2*C_00*kappa_v/(2*C_00**2 + 4*C_01**2 + 2*C_11**2) + C_11*kappa_e/(C_11*C_00 - C_01**2))
+DEAL:Explicit::S[0][1]: 1.0*(2.0*mu_v*C_01 - 2*C_01*kappa_e/(C_11*C_00 - C_01**2) + 4*C_01*kappa_v/(2*C_00**2 + 4*C_01**2 + 2*C_11**2))
+DEAL:Explicit::S[1][1]: 2.0*(0.5*mu_e + 1.0*mu_v*C_11 + C_00*kappa_e/(C_11*C_00 - C_01**2) + 2*C_11*kappa_v/(2*C_00**2 + 4*C_01**2 + 2*C_11**2))
+DEAL:Explicit::HH[0][0][0][0]: 4.0*(1.0*mu_v + 2*kappa_v/(2*C_00**2 + 4*C_01**2 + 2*C_11**2) - 8*C_00**2*kappa_v/(2*C_00**2 + 4*C_01**2 + 2*C_11**2)**2 - C_11**2*kappa_e/(C_11*C_00 - C_01**2)**2)
+DEAL:Explicit::HH[0][0][0][1]: 2.0*(-16*C_00*C_01*kappa_v/(2*C_00**2 + 4*C_01**2 + 2*C_11**2)**2 + 2*C_11*C_01*kappa_e/(C_11*C_00 - C_01**2)**2)
+DEAL:Explicit::HH[0][0][1][1]: 4.0*(kappa_e/(C_11*C_00 - C_01**2) - C_11*C_00*kappa_e/(C_11*C_00 - C_01**2)**2 - 8*C_11*C_00*kappa_v/(2*C_00**2 + 4*C_01**2 + 2*C_11**2)**2)
+DEAL:Explicit::HH[0][1][0][0]: 2.0*(-16*C_00*C_01*kappa_v/(2*C_00**2 + 4*C_01**2 + 2*C_11**2)**2 + 2*C_11*C_01*kappa_e/(C_11*C_00 - C_01**2)**2)
+DEAL:Explicit::HH[0][1][0][1]: 1.0*(2.0*mu_v - 2*kappa_e/(C_11*C_00 - C_01**2) + 4*kappa_v/(2*C_00**2 + 4*C_01**2 + 2*C_11**2) - 4*C_01**2*kappa_e/(C_11*C_00 - C_01**2)**2 - 32*C_01**2*kappa_v/(2*C_00**2 + 4*C_01**2 + 2*C_11**2)**2)
+DEAL:Explicit::HH[0][1][1][1]: 2.0*(2*C_00*C_01*kappa_e/(C_11*C_00 - C_01**2)**2 - 16*C_11*C_01*kappa_v/(2*C_00**2 + 4*C_01**2 + 2*C_11**2)**2)
+DEAL:Explicit::HH[1][1][0][0]: 4.0*(kappa_e/(C_11*C_00 - C_01**2) - C_11*C_00*kappa_e/(C_11*C_00 - C_01**2)**2 - 8*C_11*C_00*kappa_v/(2*C_00**2 + 4*C_01**2 + 2*C_11**2)**2)
+DEAL:Explicit::HH[1][1][0][1]: 2.0*(2*C_00*C_01*kappa_e/(C_11*C_00 - C_01**2)**2 - 16*C_11*C_01*kappa_v/(2*C_00**2 + 4*C_01**2 + 2*C_11**2)**2)
+DEAL:Explicit::HH[1][1][1][1]: 4.0*(1.0*mu_v + 2*kappa_v/(2*C_00**2 + 4*C_01**2 + 2*C_11**2) - C_00**2*kappa_e/(C_11*C_00 - C_01**2)**2 - 8*C_11**2*kappa_v/(2*C_00**2 + 4*C_01**2 + 2*C_11**2)**2)
+DEAL:Explicit::psi: 53.4081
+DEAL:Explicit::S[0][0]: 34.0000
+DEAL:Explicit::S[0][1]: 0.00000
+DEAL:Explicit::S[1][1]: 34.0000
+DEAL:Explicit::HH[0][0][0][0]: 10.0000
+DEAL:Explicit::HH[0][0][0][1]: 0.00000
+DEAL:Explicit::HH[0][0][1][1]: -1.00000
+DEAL:Explicit::HH[0][1][0][0]: 0.00000
+DEAL:Explicit::HH[0][1][0][1]: 5.50000
+DEAL:Explicit::HH[0][1][1][1]: 0.00000
+DEAL:Explicit::HH[1][1][0][0]: -1.00000
+DEAL:Explicit::HH[1][1][0][1]: 0.00000
+DEAL:Explicit::HH[1][1][1][1]: 10.0000
+DEAL::--------------------------------------------------
+DEAL:Implicit::psi: kappa_v*log(C_00*Qi_00 + 2*C_01*Qi_01 + C_11*Qi_11) + 0.5*mu_v*(-3 + C_00*Qi_00 + 2*C_01*Qi_01 + C_11*Qi_11) + 0.5*(-3 + C_00 + C_11)*mu_e + log(C_11*C_00 - C_01**2)*kappa_e
+DEAL:Implicit::S[0][0]: 2.0*(0.5*mu_e + 0.5*mu_v*Qi_00 + C_11*kappa_e/(C_11*C_00 - C_01**2) + Qi_00*kappa_v/(C_00*Qi_00 + 2*C_01*Qi_01 + C_11*Qi_11))
+DEAL:Implicit::S[0][1]: 1.0*(1.0*mu_v*Qi_01 - 2*C_01*kappa_e/(C_11*C_00 - C_01**2) + 2*Qi_01*kappa_v/(C_00*Qi_00 + 2*C_01*Qi_01 + C_11*Qi_11))
+DEAL:Implicit::S[1][1]: 2.0*(0.5*mu_e + 0.5*mu_v*Qi_11 + C_00*kappa_e/(C_11*C_00 - C_01**2) + Qi_11*kappa_v/(C_00*Qi_00 + 2*C_01*Qi_01 + C_11*Qi_11))
+DEAL:Implicit::HH[0][0][0][0]: 4.0*(0.5*mu_v*dQ_dC_i_0000 - C_11**2*kappa_e/(C_11*C_00 - C_01**2)**2 + dQ_dC_i_0000*kappa_v/(C_00*Qi_00 + 2*C_01*Qi_01 + C_11*Qi_11) - Qi_00*kappa_v*(Qi_00 + C_00*dQ_dC_i_0000 + 2*C_01*dQ_dC_i_0100 + C_11*dQ_dC_i_1100)/(C_00*Qi_00 + 2*C_01*Qi_01 + C_11*Qi_11)**2)
+DEAL:Implicit::HH[0][0][0][1]: 2.0*(0.0 + 2*C_11*C_01*kappa_e/(C_11*C_00 - C_01**2)**2 - 2*Qi_00*Qi_01*kappa_v/(C_00*Qi_00 + 2*C_01*Qi_01 + C_11*Qi_11)**2)
+DEAL:Implicit::HH[0][0][1][1]: 4.0*(0.5*mu_v*dQ_dC_i_0011 + kappa_e/(C_11*C_00 - C_01**2) + dQ_dC_i_0011*kappa_v/(C_00*Qi_00 + 2*C_01*Qi_01 + C_11*Qi_11) - C_11*C_00*kappa_e/(C_11*C_00 - C_01**2)**2 - Qi_00*kappa_v*(Qi_11 + C_00*dQ_dC_i_0011 + 2*C_01*dQ_dC_i_0111 + C_11*dQ_dC_i_1111)/(C_00*Qi_00 + 2*C_01*Qi_01 + C_11*Qi_11)**2)
+DEAL:Implicit::HH[0][1][0][0]: 2.0*(1.0*mu_v*dQ_dC_i_0100 + 2*dQ_dC_i_0100*kappa_v/(C_00*Qi_00 + 2*C_01*Qi_01 + C_11*Qi_11) + 2*C_11*C_01*kappa_e/(C_11*C_00 - C_01**2)**2 - 2*Qi_01*kappa_v*(Qi_00 + C_00*dQ_dC_i_0000 + 2*C_01*dQ_dC_i_0100 + C_11*dQ_dC_i_1100)/(C_00*Qi_00 + 2*C_01*Qi_01 + C_11*Qi_11)**2)
+DEAL:Implicit::HH[0][1][0][1]: 1.0*(0.0 - 2*kappa_e/(C_11*C_00 - C_01**2) - 4*C_01**2*kappa_e/(C_11*C_00 - C_01**2)**2 - 4*Qi_01**2*kappa_v/(C_00*Qi_00 + 2*C_01*Qi_01 + C_11*Qi_11)**2)
+DEAL:Implicit::HH[0][1][1][1]: 2.0*(1.0*mu_v*dQ_dC_i_0111 + 2*dQ_dC_i_0111*kappa_v/(C_00*Qi_00 + 2*C_01*Qi_01 + C_11*Qi_11) + 2*C_00*C_01*kappa_e/(C_11*C_00 - C_01**2)**2 - 2*Qi_01*kappa_v*(Qi_11 + C_00*dQ_dC_i_0011 + 2*C_01*dQ_dC_i_0111 + C_11*dQ_dC_i_1111)/(C_00*Qi_00 + 2*C_01*Qi_01 + C_11*Qi_11)**2)
+DEAL:Implicit::HH[1][1][0][0]: 4.0*(0.5*mu_v*dQ_dC_i_1100 + kappa_e/(C_11*C_00 - C_01**2) + dQ_dC_i_1100*kappa_v/(C_00*Qi_00 + 2*C_01*Qi_01 + C_11*Qi_11) - C_11*C_00*kappa_e/(C_11*C_00 - C_01**2)**2 - Qi_11*kappa_v*(Qi_00 + C_00*dQ_dC_i_0000 + 2*C_01*dQ_dC_i_0100 + C_11*dQ_dC_i_1100)/(C_00*Qi_00 + 2*C_01*Qi_01 + C_11*Qi_11)**2)
+DEAL:Implicit::HH[1][1][0][1]: 2.0*(0.0 + 2*C_00*C_01*kappa_e/(C_11*C_00 - C_01**2)**2 - 2*Qi_11*Qi_01*kappa_v/(C_00*Qi_00 + 2*C_01*Qi_01 + C_11*Qi_11)**2)
+DEAL:Implicit::HH[1][1][1][1]: 4.0*(0.5*mu_v*dQ_dC_i_1111 - C_00**2*kappa_e/(C_11*C_00 - C_01**2)**2 + dQ_dC_i_1111*kappa_v/(C_00*Qi_00 + 2*C_01*Qi_01 + C_11*Qi_11) - Qi_11*kappa_v*(Qi_11 + C_00*dQ_dC_i_0011 + 2*C_01*dQ_dC_i_0111 + C_11*dQ_dC_i_1111)/(C_00*Qi_00 + 2*C_01*Qi_01 + C_11*Qi_11)**2)
+DEAL:Implicit::psi: 26.4465
+DEAL:Implicit::S[0][0]: 21.5000
+DEAL:Implicit::S[0][1]: 0.00000
+DEAL:Implicit::S[1][1]: 21.5000
+DEAL:Implicit::HH[0][0][0][0]: 21.5000
+DEAL:Implicit::HH[0][0][0][1]: 0.00000
+DEAL:Implicit::HH[0][0][1][1]: -2.50000
+DEAL:Implicit::HH[0][1][0][0]: 0.00000
+DEAL:Implicit::HH[0][1][0][1]: -5.00000
+DEAL:Implicit::HH[0][1][1][1]: 0.00000
+DEAL:Implicit::HH[1][1][0][0]: -2.50000
+DEAL:Implicit::HH[1][1][0][1]: 0.00000
+DEAL:Implicit::HH[1][1][1][1]: 21.5000
+DEAL::OK
diff --git a/tests/symengine/batch_optimizer_03_3b.cc b/tests/symengine/batch_optimizer_03_3b.cc
new file mode 100644 (file)
index 0000000..d323e65
--- /dev/null
@@ -0,0 +1,43 @@
+// ---------------------------------------------------------------------
+//
+// Copyright (C) 2020 by the deal.II authors
+//
+// This file is part of the deal.II library.
+//
+// The deal.II library is free software; you can use it, redistribute
+// it, and/or modify it under the terms of the GNU Lesser General
+// Public License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+// The full text of the license can be found in the file LICENSE at
+// the top level of the deal.II distribution.
+//
+// ---------------------------------------------------------------------
+
+
+// Check that one can perform substitution of symbolic derivatives that
+// are the result of explicit or implicit relationships between symbolic
+// variables.
+// See tests/symengine/basic_06.cc and tests/symengine/basic_07.cc for
+// a more simple example of differentiation of symbols with
+// explicit/implicit relationships.
+// We invoke the batch optimizer before symbolic evaluation takes place.
+//
+// Here we invoke the LLVM optimizer before symbolic evaluation takes place,
+// as well as all additional symbolic optimizations.
+
+#include "../tests.h"
+
+#include "sd_common_tests/batch_optimizer_03.h"
+
+int
+main()
+{
+  initlog();
+
+  const enum SD::OptimizerType     opt_method = SD::OptimizerType::llvm;
+  const enum SD::OptimizationFlags opt_flags =
+    SD::OptimizationFlags::optimize_all;
+
+  const int dim = 2;
+  run_tests<dim, opt_method, opt_flags>();
+}
diff --git a/tests/symengine/batch_optimizer_03_3b.with_symengine_with_llvm.output b/tests/symengine/batch_optimizer_03_3b.with_symengine_with_llvm.output
new file mode 100644 (file)
index 0000000..15ae931
--- /dev/null
@@ -0,0 +1,86 @@
+
+DEAL:Standard::psi: 0.5*(-3 + C_00 + C_11)*mu_e + log(C_11*C_00 - C_01**2)*kappa_e
+DEAL:Standard::S[0][0]: 2.0*(0.5*mu_e + C_11*kappa_e/(C_11*C_00 - C_01**2))
+DEAL:Standard::S[0][1]: -2.0*C_01*kappa_e/(C_11*C_00 - C_01**2)
+DEAL:Standard::S[1][1]: 2.0*(0.5*mu_e + C_00*kappa_e/(C_11*C_00 - C_01**2))
+DEAL:Standard::HH[0][0][0][0]: -4.0*C_11**2*kappa_e/(C_11*C_00 - C_01**2)**2
+DEAL:Standard::HH[0][0][0][1]: 4.0*C_11*C_01*kappa_e/(C_11*C_00 - C_01**2)**2
+DEAL:Standard::HH[0][0][1][1]: 4.0*(kappa_e/(C_11*C_00 - C_01**2) - C_11*C_00*kappa_e/(C_11*C_00 - C_01**2)**2)
+DEAL:Standard::HH[0][1][0][0]: 4.0*C_11*C_01*kappa_e/(C_11*C_00 - C_01**2)**2
+DEAL:Standard::HH[0][1][0][1]: 1.0*(-2.0*kappa_e/(C_11*C_00 - C_01**2) - 4.0*C_01**2*kappa_e/(C_11*C_00 - C_01**2)**2)
+DEAL:Standard::HH[0][1][1][1]: 4.0*C_00*C_01*kappa_e/(C_11*C_00 - C_01**2)**2
+DEAL:Standard::HH[1][1][0][0]: 4.0*(kappa_e/(C_11*C_00 - C_01**2) - C_11*C_00*kappa_e/(C_11*C_00 - C_01**2)**2)
+DEAL:Standard::HH[1][1][0][1]: 4.0*C_00*C_01*kappa_e/(C_11*C_00 - C_01**2)**2
+DEAL:Standard::HH[1][1][1][1]: -4.0*C_00**2*kappa_e/(C_11*C_00 - C_01**2)**2
+DEAL:Standard::psi: 15.3629
+DEAL:Standard::S[0][0]: 13.0000
+DEAL:Standard::S[0][1]: 0.00000
+DEAL:Standard::S[1][1]: 13.0000
+DEAL:Standard::HH[0][0][0][0]: -10.0000
+DEAL:Standard::HH[0][0][0][1]: 0.00000
+DEAL:Standard::HH[0][0][1][1]: 0.00000
+DEAL:Standard::HH[0][1][0][0]: 0.00000
+DEAL:Standard::HH[0][1][0][1]: -5.00000
+DEAL:Standard::HH[0][1][1][1]: 0.00000
+DEAL:Standard::HH[1][1][0][0]: 0.00000
+DEAL:Standard::HH[1][1][0][1]: 0.00000
+DEAL:Standard::HH[1][1][1][1]: -10.0000
+DEAL::--------------------------------------------------
+DEAL:Explicit::psi (Q): kappa_v*log(C_00*Qi_00 + 2*C_01*Qi_01 + C_11*Qi_11) + 0.5*mu_v*(-3 + C_00*Qi_00 + 2*C_01*Qi_01 + C_11*Qi_11) + 0.5*(-3 + C_00 + C_11)*mu_e + log(C_11*C_00 - C_01**2)*kappa_e
+DEAL:Explicit::psi: 0.5*mu_v*(-3 + 2*C_00**2 + 4*C_01**2 + 2*C_11**2) + 0.5*(-3 + C_00 + C_11)*mu_e + log(C_11*C_00 - C_01**2)*kappa_e + log(2*C_00**2 + 4*C_01**2 + 2*C_11**2)*kappa_v
+DEAL:Explicit::S (Q)[0][0]: 2.0*(0.5*mu_e + 0.5*mu_v*Qi_00 + C_11*kappa_e/(C_11*C_00 - C_01**2) + Qi_00*kappa_v/(C_00*Qi_00 + 2*C_01*Qi_01 + C_11*Qi_11))
+DEAL:Explicit::S (Q)[0][1]: 1.0*(1.0*mu_v*Qi_01 - 2*C_01*kappa_e/(C_11*C_00 - C_01**2) + 2*Qi_01*kappa_v/(C_00*Qi_00 + 2*C_01*Qi_01 + C_11*Qi_11))
+DEAL:Explicit::S (Q)[1][1]: 2.0*(0.5*mu_e + 0.5*mu_v*Qi_11 + C_00*kappa_e/(C_11*C_00 - C_01**2) + Qi_11*kappa_v/(C_00*Qi_00 + 2*C_01*Qi_01 + C_11*Qi_11))
+DEAL:Explicit::S[0][0]: 2.0*(0.5*mu_e + 1.0*mu_v*C_00 + 2*C_00*kappa_v/(2*C_00**2 + 4*C_01**2 + 2*C_11**2) + C_11*kappa_e/(C_11*C_00 - C_01**2))
+DEAL:Explicit::S[0][1]: 1.0*(2.0*mu_v*C_01 - 2*C_01*kappa_e/(C_11*C_00 - C_01**2) + 4*C_01*kappa_v/(2*C_00**2 + 4*C_01**2 + 2*C_11**2))
+DEAL:Explicit::S[1][1]: 2.0*(0.5*mu_e + 1.0*mu_v*C_11 + C_00*kappa_e/(C_11*C_00 - C_01**2) + 2*C_11*kappa_v/(2*C_00**2 + 4*C_01**2 + 2*C_11**2))
+DEAL:Explicit::HH[0][0][0][0]: 4.0*(1.0*mu_v + 2*kappa_v/(2*C_00**2 + 4*C_01**2 + 2*C_11**2) - 8*C_00**2*kappa_v/(2*C_00**2 + 4*C_01**2 + 2*C_11**2)**2 - C_11**2*kappa_e/(C_11*C_00 - C_01**2)**2)
+DEAL:Explicit::HH[0][0][0][1]: 2.0*(-16*C_00*C_01*kappa_v/(2*C_00**2 + 4*C_01**2 + 2*C_11**2)**2 + 2*C_11*C_01*kappa_e/(C_11*C_00 - C_01**2)**2)
+DEAL:Explicit::HH[0][0][1][1]: 4.0*(kappa_e/(C_11*C_00 - C_01**2) - C_11*C_00*kappa_e/(C_11*C_00 - C_01**2)**2 - 8*C_11*C_00*kappa_v/(2*C_00**2 + 4*C_01**2 + 2*C_11**2)**2)
+DEAL:Explicit::HH[0][1][0][0]: 2.0*(-16*C_00*C_01*kappa_v/(2*C_00**2 + 4*C_01**2 + 2*C_11**2)**2 + 2*C_11*C_01*kappa_e/(C_11*C_00 - C_01**2)**2)
+DEAL:Explicit::HH[0][1][0][1]: 1.0*(2.0*mu_v - 2*kappa_e/(C_11*C_00 - C_01**2) + 4*kappa_v/(2*C_00**2 + 4*C_01**2 + 2*C_11**2) - 4*C_01**2*kappa_e/(C_11*C_00 - C_01**2)**2 - 32*C_01**2*kappa_v/(2*C_00**2 + 4*C_01**2 + 2*C_11**2)**2)
+DEAL:Explicit::HH[0][1][1][1]: 2.0*(2*C_00*C_01*kappa_e/(C_11*C_00 - C_01**2)**2 - 16*C_11*C_01*kappa_v/(2*C_00**2 + 4*C_01**2 + 2*C_11**2)**2)
+DEAL:Explicit::HH[1][1][0][0]: 4.0*(kappa_e/(C_11*C_00 - C_01**2) - C_11*C_00*kappa_e/(C_11*C_00 - C_01**2)**2 - 8*C_11*C_00*kappa_v/(2*C_00**2 + 4*C_01**2 + 2*C_11**2)**2)
+DEAL:Explicit::HH[1][1][0][1]: 2.0*(2*C_00*C_01*kappa_e/(C_11*C_00 - C_01**2)**2 - 16*C_11*C_01*kappa_v/(2*C_00**2 + 4*C_01**2 + 2*C_11**2)**2)
+DEAL:Explicit::HH[1][1][1][1]: 4.0*(1.0*mu_v + 2*kappa_v/(2*C_00**2 + 4*C_01**2 + 2*C_11**2) - C_00**2*kappa_e/(C_11*C_00 - C_01**2)**2 - 8*C_11**2*kappa_v/(2*C_00**2 + 4*C_01**2 + 2*C_11**2)**2)
+DEAL:Explicit::psi: 53.4081
+DEAL:Explicit::S[0][0]: 34.0000
+DEAL:Explicit::S[0][1]: 0.00000
+DEAL:Explicit::S[1][1]: 34.0000
+DEAL:Explicit::HH[0][0][0][0]: 10.0000
+DEAL:Explicit::HH[0][0][0][1]: 0.00000
+DEAL:Explicit::HH[0][0][1][1]: -1.00000
+DEAL:Explicit::HH[0][1][0][0]: 0.00000
+DEAL:Explicit::HH[0][1][0][1]: 5.50000
+DEAL:Explicit::HH[0][1][1][1]: 0.00000
+DEAL:Explicit::HH[1][1][0][0]: -1.00000
+DEAL:Explicit::HH[1][1][0][1]: 0.00000
+DEAL:Explicit::HH[1][1][1][1]: 10.0000
+DEAL::--------------------------------------------------
+DEAL:Implicit::psi: kappa_v*log(C_00*Qi_00 + 2*C_01*Qi_01 + C_11*Qi_11) + 0.5*mu_v*(-3 + C_00*Qi_00 + 2*C_01*Qi_01 + C_11*Qi_11) + 0.5*(-3 + C_00 + C_11)*mu_e + log(C_11*C_00 - C_01**2)*kappa_e
+DEAL:Implicit::S[0][0]: 2.0*(0.5*mu_e + 0.5*mu_v*Qi_00 + C_11*kappa_e/(C_11*C_00 - C_01**2) + Qi_00*kappa_v/(C_00*Qi_00 + 2*C_01*Qi_01 + C_11*Qi_11))
+DEAL:Implicit::S[0][1]: 1.0*(1.0*mu_v*Qi_01 - 2*C_01*kappa_e/(C_11*C_00 - C_01**2) + 2*Qi_01*kappa_v/(C_00*Qi_00 + 2*C_01*Qi_01 + C_11*Qi_11))
+DEAL:Implicit::S[1][1]: 2.0*(0.5*mu_e + 0.5*mu_v*Qi_11 + C_00*kappa_e/(C_11*C_00 - C_01**2) + Qi_11*kappa_v/(C_00*Qi_00 + 2*C_01*Qi_01 + C_11*Qi_11))
+DEAL:Implicit::HH[0][0][0][0]: 4.0*(0.5*mu_v*dQ_dC_i_0000 - C_11**2*kappa_e/(C_11*C_00 - C_01**2)**2 + dQ_dC_i_0000*kappa_v/(C_00*Qi_00 + 2*C_01*Qi_01 + C_11*Qi_11) - Qi_00*kappa_v*(Qi_00 + C_00*dQ_dC_i_0000 + 2*C_01*dQ_dC_i_0100 + C_11*dQ_dC_i_1100)/(C_00*Qi_00 + 2*C_01*Qi_01 + C_11*Qi_11)**2)
+DEAL:Implicit::HH[0][0][0][1]: 2.0*(0.0 + 2*C_11*C_01*kappa_e/(C_11*C_00 - C_01**2)**2 - 2*Qi_00*Qi_01*kappa_v/(C_00*Qi_00 + 2*C_01*Qi_01 + C_11*Qi_11)**2)
+DEAL:Implicit::HH[0][0][1][1]: 4.0*(0.5*mu_v*dQ_dC_i_0011 + kappa_e/(C_11*C_00 - C_01**2) + dQ_dC_i_0011*kappa_v/(C_00*Qi_00 + 2*C_01*Qi_01 + C_11*Qi_11) - C_11*C_00*kappa_e/(C_11*C_00 - C_01**2)**2 - Qi_00*kappa_v*(Qi_11 + C_00*dQ_dC_i_0011 + 2*C_01*dQ_dC_i_0111 + C_11*dQ_dC_i_1111)/(C_00*Qi_00 + 2*C_01*Qi_01 + C_11*Qi_11)**2)
+DEAL:Implicit::HH[0][1][0][0]: 2.0*(1.0*mu_v*dQ_dC_i_0100 + 2*dQ_dC_i_0100*kappa_v/(C_00*Qi_00 + 2*C_01*Qi_01 + C_11*Qi_11) + 2*C_11*C_01*kappa_e/(C_11*C_00 - C_01**2)**2 - 2*Qi_01*kappa_v*(Qi_00 + C_00*dQ_dC_i_0000 + 2*C_01*dQ_dC_i_0100 + C_11*dQ_dC_i_1100)/(C_00*Qi_00 + 2*C_01*Qi_01 + C_11*Qi_11)**2)
+DEAL:Implicit::HH[0][1][0][1]: 1.0*(0.0 - 2*kappa_e/(C_11*C_00 - C_01**2) - 4*C_01**2*kappa_e/(C_11*C_00 - C_01**2)**2 - 4*Qi_01**2*kappa_v/(C_00*Qi_00 + 2*C_01*Qi_01 + C_11*Qi_11)**2)
+DEAL:Implicit::HH[0][1][1][1]: 2.0*(1.0*mu_v*dQ_dC_i_0111 + 2*dQ_dC_i_0111*kappa_v/(C_00*Qi_00 + 2*C_01*Qi_01 + C_11*Qi_11) + 2*C_00*C_01*kappa_e/(C_11*C_00 - C_01**2)**2 - 2*Qi_01*kappa_v*(Qi_11 + C_00*dQ_dC_i_0011 + 2*C_01*dQ_dC_i_0111 + C_11*dQ_dC_i_1111)/(C_00*Qi_00 + 2*C_01*Qi_01 + C_11*Qi_11)**2)
+DEAL:Implicit::HH[1][1][0][0]: 4.0*(0.5*mu_v*dQ_dC_i_1100 + kappa_e/(C_11*C_00 - C_01**2) + dQ_dC_i_1100*kappa_v/(C_00*Qi_00 + 2*C_01*Qi_01 + C_11*Qi_11) - C_11*C_00*kappa_e/(C_11*C_00 - C_01**2)**2 - Qi_11*kappa_v*(Qi_00 + C_00*dQ_dC_i_0000 + 2*C_01*dQ_dC_i_0100 + C_11*dQ_dC_i_1100)/(C_00*Qi_00 + 2*C_01*Qi_01 + C_11*Qi_11)**2)
+DEAL:Implicit::HH[1][1][0][1]: 2.0*(0.0 + 2*C_00*C_01*kappa_e/(C_11*C_00 - C_01**2)**2 - 2*Qi_11*Qi_01*kappa_v/(C_00*Qi_00 + 2*C_01*Qi_01 + C_11*Qi_11)**2)
+DEAL:Implicit::HH[1][1][1][1]: 4.0*(0.5*mu_v*dQ_dC_i_1111 - C_00**2*kappa_e/(C_11*C_00 - C_01**2)**2 + dQ_dC_i_1111*kappa_v/(C_00*Qi_00 + 2*C_01*Qi_01 + C_11*Qi_11) - Qi_11*kappa_v*(Qi_11 + C_00*dQ_dC_i_0011 + 2*C_01*dQ_dC_i_0111 + C_11*dQ_dC_i_1111)/(C_00*Qi_00 + 2*C_01*Qi_01 + C_11*Qi_11)**2)
+DEAL:Implicit::psi: 26.4465
+DEAL:Implicit::S[0][0]: 21.5000
+DEAL:Implicit::S[0][1]: 0.00000
+DEAL:Implicit::S[1][1]: 21.5000
+DEAL:Implicit::HH[0][0][0][0]: 21.5000
+DEAL:Implicit::HH[0][0][0][1]: 0.00000
+DEAL:Implicit::HH[0][0][1][1]: -2.50000
+DEAL:Implicit::HH[0][1][0][0]: 0.00000
+DEAL:Implicit::HH[0][1][0][1]: -5.00000
+DEAL:Implicit::HH[0][1][1][1]: 0.00000
+DEAL:Implicit::HH[1][1][0][0]: -2.50000
+DEAL:Implicit::HH[1][1][0][1]: 0.00000
+DEAL:Implicit::HH[1][1][1][1]: 21.5000
+DEAL::OK
diff --git a/tests/symengine/batch_optimizer_04_1a.cc b/tests/symengine/batch_optimizer_04_1a.cc
new file mode 100644 (file)
index 0000000..cd7de4b
--- /dev/null
@@ -0,0 +1,37 @@
+// ---------------------------------------------------------------------
+//
+// Copyright (C) 2020 by the deal.II authors
+//
+// This file is part of the deal.II library.
+//
+// The deal.II library is free software; you can use it, redistribute
+// it, and/or modify it under the terms of the GNU Lesser General
+// Public License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+// The full text of the license can be found in the file LICENSE at
+// the top level of the deal.II distribution.
+//
+// ---------------------------------------------------------------------
+
+
+// Check that serialization for the BatchOptimizer works as expected.
+//
+// Here we use only dictionary substitution, and invoke no symbolic
+// optimizations.
+
+#include "../tests.h"
+
+#include "sd_common_tests/batch_optimizer_04.h"
+
+int
+main()
+{
+  initlog();
+
+  const enum SD::OptimizerType     opt_method = SD::OptimizerType::dictionary;
+  const enum SD::OptimizationFlags opt_flags =
+    SD::OptimizationFlags::optimize_default;
+
+  const int dim = 2;
+  run_tests<dim, opt_method, opt_flags>();
+}
diff --git a/tests/symengine/batch_optimizer_04_1a.output b/tests/symengine/batch_optimizer_04_1a.output
new file mode 100644 (file)
index 0000000..34b291b
--- /dev/null
@@ -0,0 +1,74 @@
+
+DEAL:Serialization:Float::f: x*y
+DEAL:Serialization:Float::g: x/y
+DEAL:Serialization:Float::f(x,y): 20.0000
+DEAL:Serialization:Float::g(x,y): 5.00000
+DEAL:Serialization:Float::
+DEAL:Serialization:Float::Serializing...
+DEAL:Serialization:Float::Serialized optimizer: 
+DEAL:Serialization:Float::0 0 0 0 0 0 2 0 0 0 0 0 1 x 4 10.0 1 y 3 2.0 0 0 2 0 3 x*y 3 x/y 2 0 2.000000000e+01 5.000000000e+00 0 0 2 0 0 0 3 x*y 0 3 x/y 1 1 1 2 0 1 x 1 y 0 0 0 0 0 0 2 0 3 x*y 3 x/y
+
+DEAL:Serialization:Float::Deserializing...
+DEAL:Serialization:Float::Deserialized optimizer: 
+DEAL:Serialization:Float::0 0 0 0 0 0 2 0 0 0 0 0 1 x 4 10.0 1 y 3 2.0 0 0 2 0 3 x*y 3 x/y 2 0 2.000000000e+01 5.000000000e+00 0 0 2 0 0 0 3 x*y 0 3 x/y 1 1 1 2 0 1 x 1 y 0 0 0 0 0 0 2 0 3 x*y 3 x/y
+DEAL:Serialization:Float::f: x*y
+DEAL:Serialization:Float::g: x/y
+DEAL:Serialization:Float::f(x,y): 20.0000
+DEAL:Serialization:Float::g(x,y): 5.00000
+DEAL:Serialization:Float::
+DEAL:Serialization:Float::OK
+DEAL:Serialization:Double::f: x*y
+DEAL:Serialization:Double::g: x/y
+DEAL:Serialization:Double::f(x,y): 20.0000
+DEAL:Serialization:Double::g(x,y): 5.00000
+DEAL:Serialization:Double::
+DEAL:Serialization:Double::Serializing...
+DEAL:Serialization:Double::Serialized optimizer: 
+DEAL:Serialization:Double::0 0 0 0 0 0 2 0 0 0 0 0 1 x 4 10.0 1 y 3 2.0 0 0 2 0 3 x*y 3 x/y 2 0 2.00000000000000000e+01 5.00000000000000000e+00 0 0 2 0 0 0 3 x*y 0 3 x/y 1 1 1 2 0 1 x 1 y 0 0 0 0 0 0 2 0 3 x*y 3 x/y
+
+DEAL:Serialization:Double::Deserializing...
+DEAL:Serialization:Double::Deserialized optimizer: 
+DEAL:Serialization:Double::0 0 0 0 0 0 2 0 0 0 0 0 1 x 4 10.0 1 y 3 2.0 0 0 2 0 3 x*y 3 x/y 2 0 2.00000000000000000e+01 5.00000000000000000e+00 0 0 2 0 0 0 3 x*y 0 3 x/y 1 1 1 2 0 1 x 1 y 0 0 0 0 0 0 2 0 3 x*y 3 x/y
+DEAL:Serialization:Double::f: x*y
+DEAL:Serialization:Double::g: x/y
+DEAL:Serialization:Double::f(x,y): 20.0000
+DEAL:Serialization:Double::g(x,y): 5.00000
+DEAL:Serialization:Double::
+DEAL:Serialization:Double::OK
+DEAL:Serialization:Complex float::f: x*y
+DEAL:Serialization:Complex float::g: x/y
+DEAL:Serialization:Complex float::f(x,y): (20.0000,0.00000)
+DEAL:Serialization:Complex float::g(x,y): (5.00000,0.00000)
+DEAL:Serialization:Complex float::
+DEAL:Serialization:Complex float::Serializing...
+DEAL:Serialization:Complex float::Serialized optimizer: 
+DEAL:Serialization:Complex float::0 0 0 0 0 0 2 0 0 0 0 0 1 x 12 10.0 + 0.0*I 1 y 11 2.0 + 0.0*I 0 0 2 0 3 x*y 3 x/y 0 0 2 0 2.000000000e+01 0.000000000e+00 5.000000000e+00 0.000000000e+00 0 0 2 0 0 0 3 x*y 0 3 x/y 1 1 1 2 0 1 x 1 y 0 0 0 0 0 0 2 0 3 x*y 3 x/y
+
+DEAL:Serialization:Complex float::Deserializing...
+DEAL:Serialization:Complex float::Deserialized optimizer: 
+DEAL:Serialization:Complex float::0 0 0 0 0 0 2 0 0 0 0 0 1 x 12 10.0 + 0.0*I 1 y 11 2.0 + 0.0*I 0 0 2 0 3 x*y 3 x/y 0 0 2 0 2.000000000e+01 0.000000000e+00 5.000000000e+00 0.000000000e+00 0 0 2 0 0 0 3 x*y 0 3 x/y 1 1 1 2 0 1 x 1 y 0 0 0 0 0 0 2 0 3 x*y 3 x/y
+DEAL:Serialization:Complex float::f: x*y
+DEAL:Serialization:Complex float::g: x/y
+DEAL:Serialization:Complex float::f(x,y): (20.0000,0.00000)
+DEAL:Serialization:Complex float::g(x,y): (5.00000,0.00000)
+DEAL:Serialization:Complex float::
+DEAL:Serialization:Complex float::OK
+DEAL:Serialization:Complex double::f: x*y
+DEAL:Serialization:Complex double::g: x/y
+DEAL:Serialization:Complex double::f(x,y): (20.0000,0.00000)
+DEAL:Serialization:Complex double::g(x,y): (5.00000,0.00000)
+DEAL:Serialization:Complex double::
+DEAL:Serialization:Complex double::Serializing...
+DEAL:Serialization:Complex double::Serialized optimizer: 
+DEAL:Serialization:Complex double::0 0 0 0 0 0 2 0 0 0 0 0 1 x 12 10.0 + 0.0*I 1 y 11 2.0 + 0.0*I 0 0 2 0 3 x*y 3 x/y 0 0 2 0 2.00000000000000000e+01 0.00000000000000000e+00 5.00000000000000000e+00 0.00000000000000000e+00 0 0 2 0 0 0 3 x*y 0 3 x/y 1 1 1 2 0 1 x 1 y 0 0 0 0 0 0 2 0 3 x*y 3 x/y
+
+DEAL:Serialization:Complex double::Deserializing...
+DEAL:Serialization:Complex double::Deserialized optimizer: 
+DEAL:Serialization:Complex double::0 0 0 0 0 0 2 0 0 0 0 0 1 x 12 10.0 + 0.0*I 1 y 11 2.0 + 0.0*I 0 0 2 0 3 x*y 3 x/y 0 0 2 0 2.00000000000000000e+01 0.00000000000000000e+00 5.00000000000000000e+00 0.00000000000000000e+00 0 0 2 0 0 0 3 x*y 0 3 x/y 1 1 1 2 0 1 x 1 y 0 0 0 0 0 0 2 0 3 x*y 3 x/y
+DEAL:Serialization:Complex double::f: x*y
+DEAL:Serialization:Complex double::g: x/y
+DEAL:Serialization:Complex double::f(x,y): (20.0000,0.00000)
+DEAL:Serialization:Complex double::g(x,y): (5.00000,0.00000)
+DEAL:Serialization:Complex double::
+DEAL:Serialization:Complex double::OK
+DEAL::OK
diff --git a/tests/symengine/batch_optimizer_04_1b.cc b/tests/symengine/batch_optimizer_04_1b.cc
new file mode 100644 (file)
index 0000000..19fb421
--- /dev/null
@@ -0,0 +1,37 @@
+// ---------------------------------------------------------------------
+//
+// Copyright (C) 2020 by the deal.II authors
+//
+// This file is part of the deal.II library.
+//
+// The deal.II library is free software; you can use it, redistribute
+// it, and/or modify it under the terms of the GNU Lesser General
+// Public License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+// The full text of the license can be found in the file LICENSE at
+// the top level of the deal.II distribution.
+//
+// ---------------------------------------------------------------------
+
+
+// Check that serialization for the BatchOptimizer works as expected.
+//
+// Here we use only dictionary substitution, but invoke all symbolic
+// optimizations.
+
+#include "../tests.h"
+
+#include "sd_common_tests/batch_optimizer_04.h"
+
+int
+main()
+{
+  initlog();
+
+  const enum SD::OptimizerType     opt_method = SD::OptimizerType::dictionary;
+  const enum SD::OptimizationFlags opt_flags =
+    SD::OptimizationFlags::optimize_all;
+
+  const int dim = 2;
+  run_tests<dim, opt_method, opt_flags>();
+}
diff --git a/tests/symengine/batch_optimizer_04_1b.output b/tests/symengine/batch_optimizer_04_1b.output
new file mode 100644 (file)
index 0000000..8acbc90
--- /dev/null
@@ -0,0 +1,74 @@
+
+DEAL:Serialization:Float::f: x*y
+DEAL:Serialization:Float::g: x/y
+DEAL:Serialization:Float::f(x,y): 20.0000
+DEAL:Serialization:Float::g(x,y): 5.00000
+DEAL:Serialization:Float::
+DEAL:Serialization:Float::Serializing...
+DEAL:Serialization:Float::Serialized optimizer: 
+DEAL:Serialization:Float::0 0 0 3 0 0 2 0 0 0 0 0 1 x 4 10.0 1 y 3 2.0 0 0 2 0 3 x*y 3 x/y 2 0 2.000000000e+01 5.000000000e+00 0 0 2 0 0 0 3 x*y 0 3 x/y 1 1 1 2 0 1 x 1 y 0 0 0 0 2 0 3 x*y 3 x/y 0 0
+
+DEAL:Serialization:Float::Deserializing...
+DEAL:Serialization:Float::Deserialized optimizer: 
+DEAL:Serialization:Float::0 0 0 3 0 0 2 0 0 0 0 0 1 x 4 10.0 1 y 3 2.0 0 0 2 0 3 x*y 3 x/y 2 0 2.000000000e+01 5.000000000e+00 0 0 2 0 0 0 3 x*y 0 3 x/y 1 1 1 2 0 1 x 1 y 0 0 0 0 2 0 3 x*y 3 x/y 0 0
+DEAL:Serialization:Float::f: x*y
+DEAL:Serialization:Float::g: x/y
+DEAL:Serialization:Float::f(x,y): 20.0000
+DEAL:Serialization:Float::g(x,y): 5.00000
+DEAL:Serialization:Float::
+DEAL:Serialization:Float::OK
+DEAL:Serialization:Double::f: x*y
+DEAL:Serialization:Double::g: x/y
+DEAL:Serialization:Double::f(x,y): 20.0000
+DEAL:Serialization:Double::g(x,y): 5.00000
+DEAL:Serialization:Double::
+DEAL:Serialization:Double::Serializing...
+DEAL:Serialization:Double::Serialized optimizer: 
+DEAL:Serialization:Double::0 0 0 3 0 0 2 0 0 0 0 0 1 x 4 10.0 1 y 3 2.0 0 0 2 0 3 x*y 3 x/y 2 0 2.00000000000000000e+01 5.00000000000000000e+00 0 0 2 0 0 0 3 x*y 0 3 x/y 1 1 1 2 0 1 x 1 y 0 0 0 0 2 0 3 x*y 3 x/y 0 0
+
+DEAL:Serialization:Double::Deserializing...
+DEAL:Serialization:Double::Deserialized optimizer: 
+DEAL:Serialization:Double::0 0 0 3 0 0 2 0 0 0 0 0 1 x 4 10.0 1 y 3 2.0 0 0 2 0 3 x*y 3 x/y 2 0 2.00000000000000000e+01 5.00000000000000000e+00 0 0 2 0 0 0 3 x*y 0 3 x/y 1 1 1 2 0 1 x 1 y 0 0 0 0 2 0 3 x*y 3 x/y 0 0
+DEAL:Serialization:Double::f: x*y
+DEAL:Serialization:Double::g: x/y
+DEAL:Serialization:Double::f(x,y): 20.0000
+DEAL:Serialization:Double::g(x,y): 5.00000
+DEAL:Serialization:Double::
+DEAL:Serialization:Double::OK
+DEAL:Serialization:Complex float::f: x*y
+DEAL:Serialization:Complex float::g: x/y
+DEAL:Serialization:Complex float::f(x,y): (20.0000,0.00000)
+DEAL:Serialization:Complex float::g(x,y): (5.00000,0.00000)
+DEAL:Serialization:Complex float::
+DEAL:Serialization:Complex float::Serializing...
+DEAL:Serialization:Complex float::Serialized optimizer: 
+DEAL:Serialization:Complex float::0 0 0 3 0 0 2 0 0 0 0 0 1 x 12 10.0 + 0.0*I 1 y 11 2.0 + 0.0*I 0 0 2 0 3 x*y 3 x/y 0 0 2 0 2.000000000e+01 0.000000000e+00 5.000000000e+00 0.000000000e+00 0 0 2 0 0 0 3 x*y 0 3 x/y 1 1 1 2 0 1 x 1 y 0 0 0 0 2 0 3 x*y 3 x/y 0 0
+
+DEAL:Serialization:Complex float::Deserializing...
+DEAL:Serialization:Complex float::Deserialized optimizer: 
+DEAL:Serialization:Complex float::0 0 0 3 0 0 2 0 0 0 0 0 1 x 12 10.0 + 0.0*I 1 y 11 2.0 + 0.0*I 0 0 2 0 3 x*y 3 x/y 0 0 2 0 2.000000000e+01 0.000000000e+00 5.000000000e+00 0.000000000e+00 0 0 2 0 0 0 3 x*y 0 3 x/y 1 1 1 2 0 1 x 1 y 0 0 0 0 2 0 3 x*y 3 x/y 0 0
+DEAL:Serialization:Complex float::f: x*y
+DEAL:Serialization:Complex float::g: x/y
+DEAL:Serialization:Complex float::f(x,y): (20.0000,0.00000)
+DEAL:Serialization:Complex float::g(x,y): (5.00000,0.00000)
+DEAL:Serialization:Complex float::
+DEAL:Serialization:Complex float::OK
+DEAL:Serialization:Complex double::f: x*y
+DEAL:Serialization:Complex double::g: x/y
+DEAL:Serialization:Complex double::f(x,y): (20.0000,0.00000)
+DEAL:Serialization:Complex double::g(x,y): (5.00000,0.00000)
+DEAL:Serialization:Complex double::
+DEAL:Serialization:Complex double::Serializing...
+DEAL:Serialization:Complex double::Serialized optimizer: 
+DEAL:Serialization:Complex double::0 0 0 3 0 0 2 0 0 0 0 0 1 x 12 10.0 + 0.0*I 1 y 11 2.0 + 0.0*I 0 0 2 0 3 x*y 3 x/y 0 0 2 0 2.00000000000000000e+01 0.00000000000000000e+00 5.00000000000000000e+00 0.00000000000000000e+00 0 0 2 0 0 0 3 x*y 0 3 x/y 1 1 1 2 0 1 x 1 y 0 0 0 0 2 0 3 x*y 3 x/y 0 0
+
+DEAL:Serialization:Complex double::Deserializing...
+DEAL:Serialization:Complex double::Deserialized optimizer: 
+DEAL:Serialization:Complex double::0 0 0 3 0 0 2 0 0 0 0 0 1 x 12 10.0 + 0.0*I 1 y 11 2.0 + 0.0*I 0 0 2 0 3 x*y 3 x/y 0 0 2 0 2.00000000000000000e+01 0.00000000000000000e+00 5.00000000000000000e+00 0.00000000000000000e+00 0 0 2 0 0 0 3 x*y 0 3 x/y 1 1 1 2 0 1 x 1 y 0 0 0 0 2 0 3 x*y 3 x/y 0 0
+DEAL:Serialization:Complex double::f: x*y
+DEAL:Serialization:Complex double::g: x/y
+DEAL:Serialization:Complex double::f(x,y): (20.0000,0.00000)
+DEAL:Serialization:Complex double::g(x,y): (5.00000,0.00000)
+DEAL:Serialization:Complex double::
+DEAL:Serialization:Complex double::OK
+DEAL::OK
diff --git a/tests/symengine/batch_optimizer_04_2a.cc b/tests/symengine/batch_optimizer_04_2a.cc
new file mode 100644 (file)
index 0000000..84e3e74
--- /dev/null
@@ -0,0 +1,36 @@
+// ---------------------------------------------------------------------
+//
+// Copyright (C) 2020 by the deal.II authors
+//
+// This file is part of the deal.II library.
+//
+// The deal.II library is free software; you can use it, redistribute
+// it, and/or modify it under the terms of the GNU Lesser General
+// Public License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+// The full text of the license can be found in the file LICENSE at
+// the top level of the deal.II distribution.
+//
+// ---------------------------------------------------------------------
+
+
+// Check that serialization for the BatchOptimizer works as expected.
+//
+// Here we use only lambda substitution,and invoke no symbolic optimizations.
+
+#include "../tests.h"
+
+#include "sd_common_tests/batch_optimizer_04.h"
+
+int
+main()
+{
+  initlog();
+
+  const enum SD::OptimizerType     opt_method = SD::OptimizerType::lambda;
+  const enum SD::OptimizationFlags opt_flags =
+    SD::OptimizationFlags::optimize_default;
+
+  const int dim = 2;
+  run_tests<dim, opt_method, opt_flags>();
+}
diff --git a/tests/symengine/batch_optimizer_04_2a.output b/tests/symengine/batch_optimizer_04_2a.output
new file mode 100644 (file)
index 0000000..00c6095
--- /dev/null
@@ -0,0 +1,74 @@
+
+DEAL:Serialization:Float::f: x*y
+DEAL:Serialization:Float::g: x/y
+DEAL:Serialization:Float::f(x,y): 20.0000
+DEAL:Serialization:Float::g(x,y): 5.00000
+DEAL:Serialization:Float::
+DEAL:Serialization:Float::Serializing...
+DEAL:Serialization:Float::Serialized optimizer: 
+DEAL:Serialization:Float::0 0 1 0 0 0 2 0 0 0 0 0 1 x 4 10.0 1 y 3 2.0 0 0 2 0 3 x*y 3 x/y 2 0 2.000000000e+01 5.000000000e+00 0 0 2 0 0 0 3 x*y 0 3 x/y 1 1 1
+
+DEAL:Serialization:Float::Deserializing...
+DEAL:Serialization:Float::Deserialized optimizer: 
+DEAL:Serialization:Float::0 0 1 0 0 0 2 0 0 0 0 0 1 x 4 10.0 1 y 3 2.0 0 0 2 0 3 x*y 3 x/y 2 0 2.000000000e+01 5.000000000e+00 0 0 2 0 0 0 3 x*y 0 3 x/y 1 1 1
+DEAL:Serialization:Float::f: x*y
+DEAL:Serialization:Float::g: x/y
+DEAL:Serialization:Float::f(x,y): 20.0000
+DEAL:Serialization:Float::g(x,y): 5.00000
+DEAL:Serialization:Float::
+DEAL:Serialization:Float::OK
+DEAL:Serialization:Double::f: x*y
+DEAL:Serialization:Double::g: x/y
+DEAL:Serialization:Double::f(x,y): 20.0000
+DEAL:Serialization:Double::g(x,y): 5.00000
+DEAL:Serialization:Double::
+DEAL:Serialization:Double::Serializing...
+DEAL:Serialization:Double::Serialized optimizer: 
+DEAL:Serialization:Double::0 0 1 0 0 0 2 0 0 0 0 0 1 x 4 10.0 1 y 3 2.0 0 0 2 0 3 x*y 3 x/y 2 0 2.00000000000000000e+01 5.00000000000000000e+00 0 0 2 0 0 0 3 x*y 0 3 x/y 1 1 1
+
+DEAL:Serialization:Double::Deserializing...
+DEAL:Serialization:Double::Deserialized optimizer: 
+DEAL:Serialization:Double::0 0 1 0 0 0 2 0 0 0 0 0 1 x 4 10.0 1 y 3 2.0 0 0 2 0 3 x*y 3 x/y 2 0 2.00000000000000000e+01 5.00000000000000000e+00 0 0 2 0 0 0 3 x*y 0 3 x/y 1 1 1
+DEAL:Serialization:Double::f: x*y
+DEAL:Serialization:Double::g: x/y
+DEAL:Serialization:Double::f(x,y): 20.0000
+DEAL:Serialization:Double::g(x,y): 5.00000
+DEAL:Serialization:Double::
+DEAL:Serialization:Double::OK
+DEAL:Serialization:Complex float::f: x*y
+DEAL:Serialization:Complex float::g: x/y
+DEAL:Serialization:Complex float::f(x,y): (20.0000,0.00000)
+DEAL:Serialization:Complex float::g(x,y): (5.00000,0.00000)
+DEAL:Serialization:Complex float::
+DEAL:Serialization:Complex float::Serializing...
+DEAL:Serialization:Complex float::Serialized optimizer: 
+DEAL:Serialization:Complex float::0 0 1 0 0 0 2 0 0 0 0 0 1 x 12 10.0 + 0.0*I 1 y 11 2.0 + 0.0*I 0 0 2 0 3 x*y 3 x/y 0 0 2 0 2.000000000e+01 0.000000000e+00 5.000000000e+00 0.000000000e+00 0 0 2 0 0 0 3 x*y 0 3 x/y 1 1 1
+
+DEAL:Serialization:Complex float::Deserializing...
+DEAL:Serialization:Complex float::Deserialized optimizer: 
+DEAL:Serialization:Complex float::0 0 1 0 0 0 2 0 0 0 0 0 1 x 12 10.0 + 0.0*I 1 y 11 2.0 + 0.0*I 0 0 2 0 3 x*y 3 x/y 0 0 2 0 2.000000000e+01 0.000000000e+00 5.000000000e+00 0.000000000e+00 0 0 2 0 0 0 3 x*y 0 3 x/y 1 1 1
+DEAL:Serialization:Complex float::f: x*y
+DEAL:Serialization:Complex float::g: x/y
+DEAL:Serialization:Complex float::f(x,y): (20.0000,0.00000)
+DEAL:Serialization:Complex float::g(x,y): (5.00000,0.00000)
+DEAL:Serialization:Complex float::
+DEAL:Serialization:Complex float::OK
+DEAL:Serialization:Complex double::f: x*y
+DEAL:Serialization:Complex double::g: x/y
+DEAL:Serialization:Complex double::f(x,y): (20.0000,0.00000)
+DEAL:Serialization:Complex double::g(x,y): (5.00000,0.00000)
+DEAL:Serialization:Complex double::
+DEAL:Serialization:Complex double::Serializing...
+DEAL:Serialization:Complex double::Serialized optimizer: 
+DEAL:Serialization:Complex double::0 0 1 0 0 0 2 0 0 0 0 0 1 x 12 10.0 + 0.0*I 1 y 11 2.0 + 0.0*I 0 0 2 0 3 x*y 3 x/y 0 0 2 0 2.00000000000000036e+01 0.00000000000000000e+00 5.00000000000000089e+00 0.00000000000000000e+00 0 0 2 0 0 0 3 x*y 0 3 x/y 1 1 1
+
+DEAL:Serialization:Complex double::Deserializing...
+DEAL:Serialization:Complex double::Deserialized optimizer: 
+DEAL:Serialization:Complex double::0 0 1 0 0 0 2 0 0 0 0 0 1 x 12 10.0 + 0.0*I 1 y 11 2.0 + 0.0*I 0 0 2 0 3 x*y 3 x/y 0 0 2 0 2.00000000000000036e+01 0.00000000000000000e+00 5.00000000000000089e+00 0.00000000000000000e+00 0 0 2 0 0 0 3 x*y 0 3 x/y 1 1 1
+DEAL:Serialization:Complex double::f: x*y
+DEAL:Serialization:Complex double::g: x/y
+DEAL:Serialization:Complex double::f(x,y): (20.0000,0.00000)
+DEAL:Serialization:Complex double::g(x,y): (5.00000,0.00000)
+DEAL:Serialization:Complex double::
+DEAL:Serialization:Complex double::OK
+DEAL::OK
diff --git a/tests/symengine/batch_optimizer_04_2b.cc b/tests/symengine/batch_optimizer_04_2b.cc
new file mode 100644 (file)
index 0000000..bd192aa
--- /dev/null
@@ -0,0 +1,36 @@
+// ---------------------------------------------------------------------
+//
+// Copyright (C) 2020 by the deal.II authors
+//
+// This file is part of the deal.II library.
+//
+// The deal.II library is free software; you can use it, redistribute
+// it, and/or modify it under the terms of the GNU Lesser General
+// Public License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+// The full text of the license can be found in the file LICENSE at
+// the top level of the deal.II distribution.
+//
+// ---------------------------------------------------------------------
+
+
+// Check that serialization for the BatchOptimizer works as expected.
+//
+// Here we use only lambda substitution, but invoke all symbolic optimizations.
+
+#include "../tests.h"
+
+#include "sd_common_tests/batch_optimizer_04.h"
+
+int
+main()
+{
+  initlog();
+
+  const enum SD::OptimizerType     opt_method = SD::OptimizerType::lambda;
+  const enum SD::OptimizationFlags opt_flags =
+    SD::OptimizationFlags::optimize_all;
+
+  const int dim = 2;
+  run_tests<dim, opt_method, opt_flags>();
+}
diff --git a/tests/symengine/batch_optimizer_04_2b.output b/tests/symengine/batch_optimizer_04_2b.output
new file mode 100644 (file)
index 0000000..66539ad
--- /dev/null
@@ -0,0 +1,74 @@
+
+DEAL:Serialization:Float::f: x*y
+DEAL:Serialization:Float::g: x/y
+DEAL:Serialization:Float::f(x,y): 20.0000
+DEAL:Serialization:Float::g(x,y): 5.00000
+DEAL:Serialization:Float::
+DEAL:Serialization:Float::Serializing...
+DEAL:Serialization:Float::Serialized optimizer: 
+DEAL:Serialization:Float::0 0 1 3 0 0 2 0 0 0 0 0 1 x 4 10.0 1 y 3 2.0 0 0 2 0 3 x*y 3 x/y 2 0 2.000000000e+01 5.000000000e+00 0 0 2 0 0 0 3 x*y 0 3 x/y 1 1 1
+
+DEAL:Serialization:Float::Deserializing...
+DEAL:Serialization:Float::Deserialized optimizer: 
+DEAL:Serialization:Float::0 0 1 3 0 0 2 0 0 0 0 0 1 x 4 10.0 1 y 3 2.0 0 0 2 0 3 x*y 3 x/y 2 0 2.000000000e+01 5.000000000e+00 0 0 2 0 0 0 3 x*y 0 3 x/y 1 1 1
+DEAL:Serialization:Float::f: x*y
+DEAL:Serialization:Float::g: x/y
+DEAL:Serialization:Float::f(x,y): 20.0000
+DEAL:Serialization:Float::g(x,y): 5.00000
+DEAL:Serialization:Float::
+DEAL:Serialization:Float::OK
+DEAL:Serialization:Double::f: x*y
+DEAL:Serialization:Double::g: x/y
+DEAL:Serialization:Double::f(x,y): 20.0000
+DEAL:Serialization:Double::g(x,y): 5.00000
+DEAL:Serialization:Double::
+DEAL:Serialization:Double::Serializing...
+DEAL:Serialization:Double::Serialized optimizer: 
+DEAL:Serialization:Double::0 0 1 3 0 0 2 0 0 0 0 0 1 x 4 10.0 1 y 3 2.0 0 0 2 0 3 x*y 3 x/y 2 0 2.00000000000000000e+01 5.00000000000000000e+00 0 0 2 0 0 0 3 x*y 0 3 x/y 1 1 1
+
+DEAL:Serialization:Double::Deserializing...
+DEAL:Serialization:Double::Deserialized optimizer: 
+DEAL:Serialization:Double::0 0 1 3 0 0 2 0 0 0 0 0 1 x 4 10.0 1 y 3 2.0 0 0 2 0 3 x*y 3 x/y 2 0 2.00000000000000000e+01 5.00000000000000000e+00 0 0 2 0 0 0 3 x*y 0 3 x/y 1 1 1
+DEAL:Serialization:Double::f: x*y
+DEAL:Serialization:Double::g: x/y
+DEAL:Serialization:Double::f(x,y): 20.0000
+DEAL:Serialization:Double::g(x,y): 5.00000
+DEAL:Serialization:Double::
+DEAL:Serialization:Double::OK
+DEAL:Serialization:Complex float::f: x*y
+DEAL:Serialization:Complex float::g: x/y
+DEAL:Serialization:Complex float::f(x,y): (20.0000,0.00000)
+DEAL:Serialization:Complex float::g(x,y): (5.00000,0.00000)
+DEAL:Serialization:Complex float::
+DEAL:Serialization:Complex float::Serializing...
+DEAL:Serialization:Complex float::Serialized optimizer: 
+DEAL:Serialization:Complex float::0 0 1 3 0 0 2 0 0 0 0 0 1 x 12 10.0 + 0.0*I 1 y 11 2.0 + 0.0*I 0 0 2 0 3 x*y 3 x/y 0 0 2 0 2.000000000e+01 0.000000000e+00 5.000000000e+00 0.000000000e+00 0 0 2 0 0 0 3 x*y 0 3 x/y 1 1 1
+
+DEAL:Serialization:Complex float::Deserializing...
+DEAL:Serialization:Complex float::Deserialized optimizer: 
+DEAL:Serialization:Complex float::0 0 1 3 0 0 2 0 0 0 0 0 1 x 12 10.0 + 0.0*I 1 y 11 2.0 + 0.0*I 0 0 2 0 3 x*y 3 x/y 0 0 2 0 2.000000000e+01 0.000000000e+00 5.000000000e+00 0.000000000e+00 0 0 2 0 0 0 3 x*y 0 3 x/y 1 1 1
+DEAL:Serialization:Complex float::f: x*y
+DEAL:Serialization:Complex float::g: x/y
+DEAL:Serialization:Complex float::f(x,y): (20.0000,0.00000)
+DEAL:Serialization:Complex float::g(x,y): (5.00000,0.00000)
+DEAL:Serialization:Complex float::
+DEAL:Serialization:Complex float::OK
+DEAL:Serialization:Complex double::f: x*y
+DEAL:Serialization:Complex double::g: x/y
+DEAL:Serialization:Complex double::f(x,y): (20.0000,0.00000)
+DEAL:Serialization:Complex double::g(x,y): (5.00000,0.00000)
+DEAL:Serialization:Complex double::
+DEAL:Serialization:Complex double::Serializing...
+DEAL:Serialization:Complex double::Serialized optimizer: 
+DEAL:Serialization:Complex double::0 0 1 3 0 0 2 0 0 0 0 0 1 x 12 10.0 + 0.0*I 1 y 11 2.0 + 0.0*I 0 0 2 0 3 x*y 3 x/y 0 0 2 0 2.00000000000000036e+01 0.00000000000000000e+00 5.00000000000000089e+00 0.00000000000000000e+00 0 0 2 0 0 0 3 x*y 0 3 x/y 1 1 1
+
+DEAL:Serialization:Complex double::Deserializing...
+DEAL:Serialization:Complex double::Deserialized optimizer: 
+DEAL:Serialization:Complex double::0 0 1 3 0 0 2 0 0 0 0 0 1 x 12 10.0 + 0.0*I 1 y 11 2.0 + 0.0*I 0 0 2 0 3 x*y 3 x/y 0 0 2 0 2.00000000000000036e+01 0.00000000000000000e+00 5.00000000000000089e+00 0.00000000000000000e+00 0 0 2 0 0 0 3 x*y 0 3 x/y 1 1 1
+DEAL:Serialization:Complex double::f: x*y
+DEAL:Serialization:Complex double::g: x/y
+DEAL:Serialization:Complex double::f(x,y): (20.0000,0.00000)
+DEAL:Serialization:Complex double::g(x,y): (5.00000,0.00000)
+DEAL:Serialization:Complex double::
+DEAL:Serialization:Complex double::OK
+DEAL::OK
diff --git a/tests/symengine/batch_optimizer_04_3a.cc b/tests/symengine/batch_optimizer_04_3a.cc
new file mode 100644 (file)
index 0000000..ecba047
--- /dev/null
@@ -0,0 +1,37 @@
+// ---------------------------------------------------------------------
+//
+// Copyright (C) 2020 by the deal.II authors
+//
+// This file is part of the deal.II library.
+//
+// The deal.II library is free software; you can use it, redistribute
+// it, and/or modify it under the terms of the GNU Lesser General
+// Public License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+// The full text of the license can be found in the file LICENSE at
+// the top level of the deal.II distribution.
+//
+// ---------------------------------------------------------------------
+
+
+// Check that serialization for the BatchOptimizer works as expected.
+//
+// Here we invoke the LLVM optimizer before symbolic evaluation takes place,
+// and we invoke no additional symbolic optimizations as well.
+
+#include "../tests.h"
+
+#include "sd_common_tests/batch_optimizer_04.h"
+
+int
+main()
+{
+  initlog();
+
+  const enum SD::OptimizerType     opt_method = SD::OptimizerType::llvm;
+  const enum SD::OptimizationFlags opt_flags =
+    SD::OptimizationFlags::optimize_default;
+
+  const int dim = 2;
+  run_tests<dim, opt_method, opt_flags>();
+}
diff --git a/tests/symengine/batch_optimizer_04_3a.with_symengine_with_llvm.output b/tests/symengine/batch_optimizer_04_3a.with_symengine_with_llvm.output
new file mode 100644 (file)
index 0000000..0c97826
--- /dev/null
@@ -0,0 +1,28 @@
+
+DEAL:Serialization:Float::f: x*y
+DEAL:Serialization:Float::g: x/y
+DEAL:Serialization:Float::f(x,y): 20.0000
+DEAL:Serialization:Float::g(x,y): 5.00000
+DEAL:Serialization:Float::
+DEAL:Serialization:Float::Serializing...
+DEAL:Serialization:Float::Deserializing...
+DEAL:Serialization:Float::f: x*y
+DEAL:Serialization:Float::g: x/y
+DEAL:Serialization:Float::f(x,y): 20.0000
+DEAL:Serialization:Float::g(x,y): 5.00000
+DEAL:Serialization:Float::
+DEAL:Serialization:Float::OK
+DEAL:Serialization:Double::f: x*y
+DEAL:Serialization:Double::g: x/y
+DEAL:Serialization:Double::f(x,y): 20.0000
+DEAL:Serialization:Double::g(x,y): 5.00000
+DEAL:Serialization:Double::
+DEAL:Serialization:Double::Serializing...
+DEAL:Serialization:Double::Deserializing...
+DEAL:Serialization:Double::f: x*y
+DEAL:Serialization:Double::g: x/y
+DEAL:Serialization:Double::f(x,y): 20.0000
+DEAL:Serialization:Double::g(x,y): 5.00000
+DEAL:Serialization:Double::
+DEAL:Serialization:Double::OK
+DEAL::OK
diff --git a/tests/symengine/batch_optimizer_04_3b.cc b/tests/symengine/batch_optimizer_04_3b.cc
new file mode 100644 (file)
index 0000000..0afc1bb
--- /dev/null
@@ -0,0 +1,37 @@
+// ---------------------------------------------------------------------
+//
+// Copyright (C) 2020 by the deal.II authors
+//
+// This file is part of the deal.II library.
+//
+// The deal.II library is free software; you can use it, redistribute
+// it, and/or modify it under the terms of the GNU Lesser General
+// Public License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+// The full text of the license can be found in the file LICENSE at
+// the top level of the deal.II distribution.
+//
+// ---------------------------------------------------------------------
+
+
+// Check that serialization for the BatchOptimizer works as expected.
+//
+// Here we invoke the LLVM optimizer before symbolic evaluation takes place,
+// as well as all additional symbolic optimizations.
+
+#include "../tests.h"
+
+#include "sd_common_tests/batch_optimizer_04.h"
+
+int
+main()
+{
+  initlog();
+
+  const enum SD::OptimizerType     opt_method = SD::OptimizerType::llvm;
+  const enum SD::OptimizationFlags opt_flags =
+    SD::OptimizationFlags::optimize_all;
+
+  const int dim = 2;
+  run_tests<dim, opt_method, opt_flags>();
+}
diff --git a/tests/symengine/batch_optimizer_04_3b.with_symengine_with_llvm.output b/tests/symengine/batch_optimizer_04_3b.with_symengine_with_llvm.output
new file mode 100644 (file)
index 0000000..0c97826
--- /dev/null
@@ -0,0 +1,28 @@
+
+DEAL:Serialization:Float::f: x*y
+DEAL:Serialization:Float::g: x/y
+DEAL:Serialization:Float::f(x,y): 20.0000
+DEAL:Serialization:Float::g(x,y): 5.00000
+DEAL:Serialization:Float::
+DEAL:Serialization:Float::Serializing...
+DEAL:Serialization:Float::Deserializing...
+DEAL:Serialization:Float::f: x*y
+DEAL:Serialization:Float::g: x/y
+DEAL:Serialization:Float::f(x,y): 20.0000
+DEAL:Serialization:Float::g(x,y): 5.00000
+DEAL:Serialization:Float::
+DEAL:Serialization:Float::OK
+DEAL:Serialization:Double::f: x*y
+DEAL:Serialization:Double::g: x/y
+DEAL:Serialization:Double::f(x,y): 20.0000
+DEAL:Serialization:Double::g(x,y): 5.00000
+DEAL:Serialization:Double::
+DEAL:Serialization:Double::Serializing...
+DEAL:Serialization:Double::Deserializing...
+DEAL:Serialization:Double::f: x*y
+DEAL:Serialization:Double::g: x/y
+DEAL:Serialization:Double::f(x,y): 20.0000
+DEAL:Serialization:Double::g(x,y): 5.00000
+DEAL:Serialization:Double::
+DEAL:Serialization:Double::OK
+DEAL::OK
diff --git a/tests/symengine/batch_optimizer_05_1a.cc b/tests/symengine/batch_optimizer_05_1a.cc
new file mode 100644 (file)
index 0000000..568f202
--- /dev/null
@@ -0,0 +1,39 @@
+// ---------------------------------------------------------------------
+//
+// Copyright (C) 2020 by the deal.II authors
+//
+// This file is part of the deal.II library.
+//
+// The deal.II library is free software; you can use it, redistribute
+// it, and/or modify it under the terms of the GNU Lesser General
+// Public License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+// The full text of the license can be found in the file LICENSE at
+// the top level of the deal.II distribution.
+//
+// ---------------------------------------------------------------------
+
+
+// Check that serialization for the BatchOptimizer works as expected.
+// In this test, we destroy only the optimizer and keep the other expressions
+// that were used to initialize it.
+//
+// Here we use only dictionary substitution, and invoke no symbolic
+// optimizations.
+
+#include "../tests.h"
+
+#include "sd_common_tests/batch_optimizer_05.h"
+
+int
+main()
+{
+  initlog();
+
+  const enum SD::OptimizerType     opt_method = SD::OptimizerType::dictionary;
+  const enum SD::OptimizationFlags opt_flags =
+    SD::OptimizationFlags::optimize_default;
+
+  const int dim = 2;
+  run_tests<dim, opt_method, opt_flags>();
+}
diff --git a/tests/symengine/batch_optimizer_05_1a.output b/tests/symengine/batch_optimizer_05_1a.output
new file mode 100644 (file)
index 0000000..bad4c60
--- /dev/null
@@ -0,0 +1,38 @@
+
+DEAL:Serialization:Float::symb_s: 1.5 + 1.5*(1.0*y_00*y_11 - 1.0*y_01*y_10)*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10)) + sin(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01))
+DEAL:Serialization:Float::symb_ds_dy: 0.0 - 1.5*y_11 + 1.5*y_11*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_00*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_11 0.0 + 1.5*y_10 - 1.5*y_10*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_01*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) - 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_10 0.0 + 1.5*y_01 - 1.5*y_01*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_01*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) - 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_01 0.0 - 1.5*y_00 + 1.5*y_00*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_11*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_00
+DEAL:Serialization:Float:Optimisation + substitution::evaluation:   s: 733.145  ds_dx: 1803.38  ds_dy: 4021.22 -2721.50 -2073.13 2076.41  ds_dz: 1.67425 1.97850 1.97850 2.69685
+DEAL:Serialization:Float:Optimisation + substitution::Evaluation (pre-serialization):   s: 733.145  ds_dx: 1803.38  ds_dy: 4021.22 -2721.50 -2073.13 2076.41  ds_dz: 1.67425 1.97850 1.97850 2.69685
+DEAL:Serialization:Float:Optimisation + substitution::Serializing...
+DEAL:Serialization:Float:Optimisation + substitution::0 0 0 0 0 0 8 0 0 0 0 0 1 x 3 2.5 4 z_11 16 5.69999980926514 4 z_00 16 4.69999980926514 4 z_01 16 5.69999980926514 4 y_01 16 3.20000004768372 4 y_00 16 3.20000004768372 4 y_11 16 6.19999980926514 4 y_10 16 4.19999980926514 0 0 9 0 235 1.5 + 1.5*(1.0*y_00*y_11 - 1.0*y_01*y_10)*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10)) + sin(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) 81 2.0*x**(-1 + 1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*(1.0*y_00*y_11 - 1.0*y_01*y_10) 254 0.0 - 1.5*y_11 + 1.5*y_11*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_00*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_11 254 0.0 + 1.5*y_10 - 1.5*y_10*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_01*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) - 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_10 254 0.0 + 1.5*y_01 - 1.5*y_01*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_01*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) - 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_01 254 0.0 - 1.5*y_00 + 1.5*y_00*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_11*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_00 169 0.666666666666667*y_00*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 3.0*z_00*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2) 169 0.666666666666667*y_11*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 3.0*z_11*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2) 198 0.5*(0.666666666666667*(0.0 + 1.0*y_01 + 1.0*y_10)*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 6.0*z_01*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2)) 9 0 7.331452026e+02 1.803375122e+03 4.021220947e+03 -2.721500244e+03 -2.073134033e+03 2.076409668e+03 1.674245715e+00 2.696845293e+00 1.978502989e+00 0 0 9 0 0 0 169 0.666666666666667*y_00*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 3.0*z_00*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2) 6 169 0.666666666666667*y_11*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 3.0*z_11*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2) 7 254 0.0 - 1.5*y_11 + 1.5*y_11*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_00*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_11 2 254 0.0 - 1.5*y_00 + 1.5*y_00*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_11*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_00 5 254 0.0 + 1.5*y_01 - 1.5*y_01*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_01*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) - 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_01 4 254 0.0 + 1.5*y_10 - 1.5*y_10*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_01*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) - 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_10 3 81 2.0*x**(-1 + 1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*(1.0*y_00*y_11 - 1.0*y_01*y_10) 1 235 1.5 + 1.5*(1.0*y_00*y_11 - 1.0*y_01*y_10)*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10)) + sin(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) 0 198 0.5*(0.666666666666667*(0.0 + 1.0*y_01 + 1.0*y_10)*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 6.0*z_01*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2)) 8 1 1 8 0 1 x 4 z_11 4 z_00 4 z_01 4 y_01 4 y_00 4 y_11 4 y_10 0 0 0 0 0 0 9 0 235 1.5 + 1.5*(1.0*y_00*y_11 - 1.0*y_01*y_10)*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10)) + sin(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) 81 2.0*x**(-1 + 1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*(1.0*y_00*y_11 - 1.0*y_01*y_10) 254 0.0 - 1.5*y_11 + 1.5*y_11*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_00*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_11 254 0.0 + 1.5*y_10 - 1.5*y_10*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_01*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) - 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_10 254 0.0 + 1.5*y_01 - 1.5*y_01*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_01*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) - 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_01 254 0.0 - 1.5*y_00 + 1.5*y_00*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_11*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_00 169 0.666666666666667*y_00*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 3.0*z_00*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2) 169 0.666666666666667*y_11*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 3.0*z_11*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2) 198 0.5*(0.666666666666667*(0.0 + 1.0*y_01 + 1.0*y_10)*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 6.0*z_01*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2))
+
+DEAL:Serialization:Float:Optimisation + substitution::Checking deserialisation...
+DEAL:Serialization:Float:Optimisation + substitution::Evaluation (post-serialization):   s: 733.145  ds_dx: 1803.38  ds_dy: 4021.22 -2721.50 -2073.13 2076.41  ds_dz: 1.67425 1.97850 1.97850 2.69685
+DEAL:Serialization:Double::symb_s: 1.5 + 1.5*(1.0*y_00*y_11 - 1.0*y_01*y_10)*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10)) + sin(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01))
+DEAL:Serialization:Double::symb_ds_dy: 0.0 - 1.5*y_11 + 1.5*y_11*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_00*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_11 0.0 + 1.5*y_10 - 1.5*y_10*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_01*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) - 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_10 0.0 + 1.5*y_01 - 1.5*y_01*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_01*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) - 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_01 0.0 - 1.5*y_00 + 1.5*y_00*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_11*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_00
+DEAL:Serialization:Double:Optimisation + substitution::evaluation:   s: 733.145  ds_dx: 1803.37  ds_dy: 4021.22 -2721.50 -2073.13 2076.41  ds_dz: 1.67425 1.97851 1.97851 2.69686
+DEAL:Serialization:Double:Optimisation + substitution::Evaluation (pre-serialization):   s: 733.145  ds_dx: 1803.37  ds_dy: 4021.22 -2721.50 -2073.13 2076.41  ds_dz: 1.67425 1.97851 1.97851 2.69686
+DEAL:Serialization:Double:Optimisation + substitution::Serializing...
+DEAL:Serialization:Double:Optimisation + substitution::0 0 0 0 0 0 8 0 0 0 0 0 1 x 3 2.5 4 z_11 3 5.7 4 z_00 3 4.7 4 z_01 3 5.7 4 y_01 3 3.2 4 y_00 3 3.2 4 y_11 3 6.2 4 y_10 3 4.2 0 0 9 0 235 1.5 + 1.5*(1.0*y_00*y_11 - 1.0*y_01*y_10)*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10)) + sin(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) 81 2.0*x**(-1 + 1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*(1.0*y_00*y_11 - 1.0*y_01*y_10) 254 0.0 - 1.5*y_11 + 1.5*y_11*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_00*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_11 254 0.0 + 1.5*y_10 - 1.5*y_10*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_01*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) - 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_10 254 0.0 + 1.5*y_01 - 1.5*y_01*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_01*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) - 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_01 254 0.0 - 1.5*y_00 + 1.5*y_00*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_11*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_00 169 0.666666666666667*y_00*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 3.0*z_00*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2) 169 0.666666666666667*y_11*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 3.0*z_11*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2) 198 0.5*(0.666666666666667*(0.0 + 1.0*y_01 + 1.0*y_10)*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 6.0*z_01*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2)) 9 0 7.33145160811001688e+02 1.80337488238402102e+03 4.02122068318208676e+03 -2.72150003931949686e+03 -2.07313387957113946e+03 2.07640954281834865e+03 1.67425190103196075e+00 2.69685737072851328e+00 1.97851016739322949e+00 0 0 9 0 0 0 169 0.666666666666667*y_00*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 3.0*z_00*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2) 6 169 0.666666666666667*y_11*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 3.0*z_11*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2) 7 254 0.0 - 1.5*y_11 + 1.5*y_11*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_00*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_11 2 254 0.0 - 1.5*y_00 + 1.5*y_00*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_11*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_00 5 254 0.0 + 1.5*y_01 - 1.5*y_01*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_01*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) - 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_01 4 254 0.0 + 1.5*y_10 - 1.5*y_10*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_01*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) - 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_10 3 81 2.0*x**(-1 + 1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*(1.0*y_00*y_11 - 1.0*y_01*y_10) 1 235 1.5 + 1.5*(1.0*y_00*y_11 - 1.0*y_01*y_10)*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10)) + sin(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) 0 198 0.5*(0.666666666666667*(0.0 + 1.0*y_01 + 1.0*y_10)*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 6.0*z_01*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2)) 8 1 1 8 0 1 x 4 z_11 4 z_00 4 z_01 4 y_01 4 y_00 4 y_11 4 y_10 0 0 0 0 0 0 9 0 235 1.5 + 1.5*(1.0*y_00*y_11 - 1.0*y_01*y_10)*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10)) + sin(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) 81 2.0*x**(-1 + 1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*(1.0*y_00*y_11 - 1.0*y_01*y_10) 254 0.0 - 1.5*y_11 + 1.5*y_11*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_00*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_11 254 0.0 + 1.5*y_10 - 1.5*y_10*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_01*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) - 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_10 254 0.0 + 1.5*y_01 - 1.5*y_01*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_01*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) - 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_01 254 0.0 - 1.5*y_00 + 1.5*y_00*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_11*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_00 169 0.666666666666667*y_00*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 3.0*z_00*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2) 169 0.666666666666667*y_11*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 3.0*z_11*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2) 198 0.5*(0.666666666666667*(0.0 + 1.0*y_01 + 1.0*y_10)*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 6.0*z_01*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2))
+
+DEAL:Serialization:Double:Optimisation + substitution::Checking deserialisation...
+DEAL:Serialization:Double:Optimisation + substitution::Evaluation (post-serialization):   s: 733.145  ds_dx: 1803.37  ds_dy: 4021.22 -2721.50 -2073.13 2076.41  ds_dz: 1.67425 1.97851 1.97851 2.69686
+DEAL:Serialization:Complex float::symb_s: 1.5 + 0.0*I + (1.5 + 0.0*I)*(1.0*y_00*y_11 - 1.0*y_01*y_10)*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10)) + sin((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01))
+DEAL:Serialization:Complex float::symb_ds_dy: 0.0 + 0.0*I + (-1.5 + 0.0*I)*y_11 + (1.5 + 0.0*I)*y_11*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_00*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_11 0.0 + 0.0*I + (1.5 + 0.0*I)*y_10 + (-1.5 + 0.0*I)*y_10*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_01*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (-2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_10 0.0 + 0.0*I + (1.5 + 0.0*I)*y_01 + (-1.5 + 0.0*I)*y_01*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_01*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (-2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_01 0.0 + 0.0*I + (-1.5 + 0.0*I)*y_00 + (1.5 + 0.0*I)*y_00*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_11*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_00
+DEAL:Serialization:Complex float:Optimisation + substitution::evaluation:   s: (733.145,0.00000)  ds_dx: (1803.38,0.00000)  ds_dy: (4021.22,0.00000) (-2721.50,0.00000) (-2073.13,0.00000) (2076.41,0.00000)  ds_dz: (1.67425,0.00000) (1.97850,0.00000) (1.97850,0.00000) (2.69685,0.00000)
+DEAL:Serialization:Complex float:Optimisation + substitution::Evaluation (pre-serialization):   s: (733.145,0.00000)  ds_dx: (1803.38,0.00000)  ds_dy: (4021.22,0.00000) (-2721.50,0.00000) (-2073.13,0.00000) (2076.41,0.00000)  ds_dz: (1.67425,0.00000) (1.97850,0.00000) (1.97850,0.00000) (2.69685,0.00000)
+DEAL:Serialization:Complex float:Optimisation + substitution::Serializing...
+DEAL:Serialization:Complex float:Optimisation + substitution::0 0 0 0 0 0 8 0 0 0 0 0 1 x 3 2.5 4 z_11 24 5.69999980926514 + 0.0*I 4 z_00 24 4.69999980926514 + 0.0*I 4 z_01 24 5.69999980926514 + 0.0*I 4 y_01 24 3.20000004768372 + 0.0*I 4 y_00 24 3.20000004768372 + 0.0*I 4 y_11 24 6.19999980926514 + 0.0*I 4 y_10 24 4.19999980926514 + 0.0*I 0 0 9 0 273 1.5 + 0.0*I + (1.5 + 0.0*I)*(1.0*y_00*y_11 - 1.0*y_01*y_10)*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10)) + sin((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) 91 (2.0 + 0.0*I)*x**(-1 + 1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*(1.0*y_00*y_11 - 1.0*y_01*y_10) 314 0.0 + 0.0*I + (-1.5 + 0.0*I)*y_11 + (1.5 + 0.0*I)*y_11*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_00*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_11 316 0.0 + 0.0*I + (1.5 + 0.0*I)*y_10 + (-1.5 + 0.0*I)*y_10*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_01*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (-2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_10 316 0.0 + 0.0*I + (1.5 + 0.0*I)*y_01 + (-1.5 + 0.0*I)*y_01*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_01*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (-2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_01 314 0.0 + 0.0*I + (-1.5 + 0.0*I)*y_00 + (1.5 + 0.0*I)*y_00*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_11*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_00 199 (0.666666666666667 + 0.0*I)*y_00*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (3.0 + 0.0*I)*z_00*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2) 199 (0.666666666666667 + 0.0*I)*y_11*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (3.0 + 0.0*I)*z_11*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2) 228 0.5*((0.666666666666667 + 0.0*I)*(0.0 + 1.0*y_01 + 1.0*y_10)*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (6.0 + 0.0*I)*z_01*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2)) 0 0 9 0 7.331452026e+02 0.000000000e+00 1.803375122e+03 0.000000000e+00 4.021220947e+03 0.000000000e+00 -2.721500244e+03 0.000000000e+00 -2.073134033e+03 0.000000000e+00 2.076409668e+03 0.000000000e+00 1.674245715e+00 0.000000000e+00 2.696845293e+00 0.000000000e+00 1.978502989e+00 0.000000000e+00 0 0 9 0 0 0 314 0.0 + 0.0*I + (-1.5 + 0.0*I)*y_11 + (1.5 + 0.0*I)*y_11*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_00*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_11 2 314 0.0 + 0.0*I + (-1.5 + 0.0*I)*y_00 + (1.5 + 0.0*I)*y_00*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_11*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_00 5 91 (2.0 + 0.0*I)*x**(-1 + 1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*(1.0*y_00*y_11 - 1.0*y_01*y_10) 1 273 1.5 + 0.0*I + (1.5 + 0.0*I)*(1.0*y_00*y_11 - 1.0*y_01*y_10)*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10)) + sin((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) 0 316 0.0 + 0.0*I + (1.5 + 0.0*I)*y_01 + (-1.5 + 0.0*I)*y_01*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_01*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (-2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_01 4 316 0.0 + 0.0*I + (1.5 + 0.0*I)*y_10 + (-1.5 + 0.0*I)*y_10*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_01*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (-2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_10 3 228 0.5*((0.666666666666667 + 0.0*I)*(0.0 + 1.0*y_01 + 1.0*y_10)*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (6.0 + 0.0*I)*z_01*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2)) 8 199 (0.666666666666667 + 0.0*I)*y_11*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (3.0 + 0.0*I)*z_11*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2) 7 199 (0.666666666666667 + 0.0*I)*y_00*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (3.0 + 0.0*I)*z_00*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2) 6 1 1 8 0 1 x 4 z_11 4 z_00 4 z_01 4 y_01 4 y_00 4 y_11 4 y_10 0 0 0 0 0 0 9 0 273 1.5 + 0.0*I + (1.5 + 0.0*I)*(1.0*y_00*y_11 - 1.0*y_01*y_10)*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10)) + sin((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) 91 (2.0 + 0.0*I)*x**(-1 + 1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*(1.0*y_00*y_11 - 1.0*y_01*y_10) 314 0.0 + 0.0*I + (-1.5 + 0.0*I)*y_11 + (1.5 + 0.0*I)*y_11*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_00*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_11 316 0.0 + 0.0*I + (1.5 + 0.0*I)*y_10 + (-1.5 + 0.0*I)*y_10*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_01*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (-2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_10 316 0.0 + 0.0*I + (1.5 + 0.0*I)*y_01 + (-1.5 + 0.0*I)*y_01*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_01*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (-2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_01 314 0.0 + 0.0*I + (-1.5 + 0.0*I)*y_00 + (1.5 + 0.0*I)*y_00*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_11*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_00 199 (0.666666666666667 + 0.0*I)*y_00*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (3.0 + 0.0*I)*z_00*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2) 199 (0.666666666666667 + 0.0*I)*y_11*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (3.0 + 0.0*I)*z_11*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2) 228 0.5*((0.666666666666667 + 0.0*I)*(0.0 + 1.0*y_01 + 1.0*y_10)*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (6.0 + 0.0*I)*z_01*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2))
+
+DEAL:Serialization:Complex float:Optimisation + substitution::Checking deserialisation...
+DEAL:Serialization:Complex float:Optimisation + substitution::Evaluation (post-serialization):   s: (733.145,0.00000)  ds_dx: (1803.38,0.00000)  ds_dy: (4021.22,0.00000) (-2721.50,0.00000) (-2073.13,0.00000) (2076.41,0.00000)  ds_dz: (1.67425,0.00000) (1.97850,0.00000) (1.97850,0.00000) (2.69685,0.00000)
+DEAL:Serialization:Complex double::symb_s: 1.5 + 0.0*I + (1.5 + 0.0*I)*(1.0*y_00*y_11 - 1.0*y_01*y_10)*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10)) + sin((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01))
+DEAL:Serialization:Complex double::symb_ds_dy: 0.0 + 0.0*I + (-1.5 + 0.0*I)*y_11 + (1.5 + 0.0*I)*y_11*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_00*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_11 0.0 + 0.0*I + (1.5 + 0.0*I)*y_10 + (-1.5 + 0.0*I)*y_10*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_01*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (-2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_10 0.0 + 0.0*I + (1.5 + 0.0*I)*y_01 + (-1.5 + 0.0*I)*y_01*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_01*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (-2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_01 0.0 + 0.0*I + (-1.5 + 0.0*I)*y_00 + (1.5 + 0.0*I)*y_00*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_11*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_00
+DEAL:Serialization:Complex double:Optimisation + substitution::evaluation:   s: (733.145,0.00000)  ds_dx: (1803.37,0.00000)  ds_dy: (4021.22,0.00000) (-2721.50,0.00000) (-2073.13,0.00000) (2076.41,0.00000)  ds_dz: (1.67425,0.00000) (1.97851,0.00000) (1.97851,0.00000) (2.69686,0.00000)
+DEAL:Serialization:Complex double:Optimisation + substitution::Evaluation (pre-serialization):   s: (733.145,0.00000)  ds_dx: (1803.37,0.00000)  ds_dy: (4021.22,0.00000) (-2721.50,0.00000) (-2073.13,0.00000) (2076.41,0.00000)  ds_dz: (1.67425,0.00000) (1.97851,0.00000) (1.97851,0.00000) (2.69686,0.00000)
+DEAL:Serialization:Complex double:Optimisation + substitution::Serializing...
+DEAL:Serialization:Complex double:Optimisation + substitution::0 0 0 0 0 0 8 0 0 0 0 0 1 x 3 2.5 4 z_11 11 5.7 + 0.0*I 4 z_00 11 4.7 + 0.0*I 4 z_01 11 5.7 + 0.0*I 4 y_01 11 3.2 + 0.0*I 4 y_00 11 3.2 + 0.0*I 4 y_11 11 6.2 + 0.0*I 4 y_10 11 4.2 + 0.0*I 0 0 9 0 273 1.5 + 0.0*I + (1.5 + 0.0*I)*(1.0*y_00*y_11 - 1.0*y_01*y_10)*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10)) + sin((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) 91 (2.0 + 0.0*I)*x**(-1 + 1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*(1.0*y_00*y_11 - 1.0*y_01*y_10) 314 0.0 + 0.0*I + (-1.5 + 0.0*I)*y_11 + (1.5 + 0.0*I)*y_11*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_00*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_11 316 0.0 + 0.0*I + (1.5 + 0.0*I)*y_10 + (-1.5 + 0.0*I)*y_10*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_01*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (-2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_10 316 0.0 + 0.0*I + (1.5 + 0.0*I)*y_01 + (-1.5 + 0.0*I)*y_01*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_01*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (-2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_01 314 0.0 + 0.0*I + (-1.5 + 0.0*I)*y_00 + (1.5 + 0.0*I)*y_00*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_11*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_00 199 (0.666666666666667 + 0.0*I)*y_00*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (3.0 + 0.0*I)*z_00*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2) 199 (0.666666666666667 + 0.0*I)*y_11*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (3.0 + 0.0*I)*z_11*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2) 228 0.5*((0.666666666666667 + 0.0*I)*(0.0 + 1.0*y_01 + 1.0*y_10)*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (6.0 + 0.0*I)*z_01*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2)) 0 0 9 0 7.33145160811001915e+02 0.00000000000000000e+00 1.80337488238402216e+03 0.00000000000000000e+00 4.02122068318208903e+03 0.00000000000000000e+00 -2.72150003931949823e+03 0.00000000000000000e+00 -2.07313387957114037e+03 0.00000000000000000e+00 2.07640954281834911e+03 0.00000000000000000e+00 1.67425190103196053e+00 0.00000000000000000e+00 2.69685737072851328e+00 0.00000000000000000e+00 1.97851016739322927e+00 0.00000000000000000e+00 0 0 9 0 0 0 314 0.0 + 0.0*I + (-1.5 + 0.0*I)*y_11 + (1.5 + 0.0*I)*y_11*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_00*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_11 2 314 0.0 + 0.0*I + (-1.5 + 0.0*I)*y_00 + (1.5 + 0.0*I)*y_00*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_11*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_00 5 91 (2.0 + 0.0*I)*x**(-1 + 1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*(1.0*y_00*y_11 - 1.0*y_01*y_10) 1 273 1.5 + 0.0*I + (1.5 + 0.0*I)*(1.0*y_00*y_11 - 1.0*y_01*y_10)*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10)) + sin((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) 0 316 0.0 + 0.0*I + (1.5 + 0.0*I)*y_01 + (-1.5 + 0.0*I)*y_01*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_01*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (-2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_01 4 316 0.0 + 0.0*I + (1.5 + 0.0*I)*y_10 + (-1.5 + 0.0*I)*y_10*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_01*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (-2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_10 3 228 0.5*((0.666666666666667 + 0.0*I)*(0.0 + 1.0*y_01 + 1.0*y_10)*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (6.0 + 0.0*I)*z_01*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2)) 8 199 (0.666666666666667 + 0.0*I)*y_11*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (3.0 + 0.0*I)*z_11*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2) 7 199 (0.666666666666667 + 0.0*I)*y_00*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (3.0 + 0.0*I)*z_00*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2) 6 1 1 8 0 1 x 4 z_11 4 z_00 4 z_01 4 y_01 4 y_00 4 y_11 4 y_10 0 0 0 0 0 0 9 0 273 1.5 + 0.0*I + (1.5 + 0.0*I)*(1.0*y_00*y_11 - 1.0*y_01*y_10)*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10)) + sin((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) 91 (2.0 + 0.0*I)*x**(-1 + 1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*(1.0*y_00*y_11 - 1.0*y_01*y_10) 314 0.0 + 0.0*I + (-1.5 + 0.0*I)*y_11 + (1.5 + 0.0*I)*y_11*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_00*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_11 316 0.0 + 0.0*I + (1.5 + 0.0*I)*y_10 + (-1.5 + 0.0*I)*y_10*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_01*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (-2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_10 316 0.0 + 0.0*I + (1.5 + 0.0*I)*y_01 + (-1.5 + 0.0*I)*y_01*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_01*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (-2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_01 314 0.0 + 0.0*I + (-1.5 + 0.0*I)*y_00 + (1.5 + 0.0*I)*y_00*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_11*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_00 199 (0.666666666666667 + 0.0*I)*y_00*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (3.0 + 0.0*I)*z_00*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2) 199 (0.666666666666667 + 0.0*I)*y_11*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (3.0 + 0.0*I)*z_11*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2) 228 0.5*((0.666666666666667 + 0.0*I)*(0.0 + 1.0*y_01 + 1.0*y_10)*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (6.0 + 0.0*I)*z_01*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2))
+
+DEAL:Serialization:Complex double:Optimisation + substitution::Checking deserialisation...
+DEAL:Serialization:Complex double:Optimisation + substitution::Evaluation (post-serialization):   s: (733.145,0.00000)  ds_dx: (1803.37,0.00000)  ds_dy: (4021.22,0.00000) (-2721.50,0.00000) (-2073.13,0.00000) (2076.41,0.00000)  ds_dz: (1.67425,0.00000) (1.97851,0.00000) (1.97851,0.00000) (2.69686,0.00000)
+DEAL::OK
diff --git a/tests/symengine/batch_optimizer_05_1b.cc b/tests/symengine/batch_optimizer_05_1b.cc
new file mode 100644 (file)
index 0000000..2c50ac2
--- /dev/null
@@ -0,0 +1,39 @@
+// ---------------------------------------------------------------------
+//
+// Copyright (C) 2020 by the deal.II authors
+//
+// This file is part of the deal.II library.
+//
+// The deal.II library is free software; you can use it, redistribute
+// it, and/or modify it under the terms of the GNU Lesser General
+// Public License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+// The full text of the license can be found in the file LICENSE at
+// the top level of the deal.II distribution.
+//
+// ---------------------------------------------------------------------
+
+
+// Check that serialization for the BatchOptimizer works as expected.
+// In this test, we destroy only the optimizer and keep the other expressions
+// that were used to initialize it.
+//
+// Here we use only dictionary substitution, but invoke all symbolic
+// optimizations.
+
+#include "../tests.h"
+
+#include "sd_common_tests/batch_optimizer_05.h"
+
+int
+main()
+{
+  initlog();
+
+  const enum SD::OptimizerType     opt_method = SD::OptimizerType::dictionary;
+  const enum SD::OptimizationFlags opt_flags =
+    SD::OptimizationFlags::optimize_all;
+
+  const int dim = 2;
+  run_tests<dim, opt_method, opt_flags>();
+}
diff --git a/tests/symengine/batch_optimizer_05_1b.output b/tests/symengine/batch_optimizer_05_1b.output
new file mode 100644 (file)
index 0000000..dd5ff9c
--- /dev/null
@@ -0,0 +1,38 @@
+
+DEAL:Serialization:Float::symb_s: 1.5 + 1.5*(1.0*y_00*y_11 - 1.0*y_01*y_10)*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10)) + sin(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01))
+DEAL:Serialization:Float::symb_ds_dy: 0.0 - 1.5*y_11 + 1.5*y_11*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_00*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_11 0.0 + 1.5*y_10 - 1.5*y_10*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_01*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) - 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_10 0.0 + 1.5*y_01 - 1.5*y_01*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_01*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) - 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_01 0.0 - 1.5*y_00 + 1.5*y_00*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_11*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_00
+DEAL:Serialization:Float:Optimisation + substitution::evaluation:   s: 733.145  ds_dx: 1803.38  ds_dy: 4021.22 -2721.50 -2073.13 2076.41  ds_dz: 1.67425 1.97851 1.97851 2.69685
+DEAL:Serialization:Float:Optimisation + substitution::Evaluation (pre-serialization):   s: 733.145  ds_dx: 1803.38  ds_dy: 4021.22 -2721.50 -2073.13 2076.41  ds_dz: 1.67425 1.97851 1.97851 2.69685
+DEAL:Serialization:Float:Optimisation + substitution::Serializing...
+DEAL:Serialization:Float:Optimisation + substitution::0 0 0 3 0 0 8 0 0 0 0 0 1 x 3 2.5 4 z_11 16 5.69999980926514 4 z_00 16 4.69999980926514 4 z_01 16 5.69999980926514 4 y_01 16 3.20000004768372 4 y_00 16 3.20000004768372 4 y_11 16 6.19999980926514 4 y_10 16 4.19999980926514 0 0 9 0 235 1.5 + 1.5*(1.0*y_00*y_11 - 1.0*y_01*y_10)*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10)) + sin(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) 81 2.0*x**(-1 + 1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*(1.0*y_00*y_11 - 1.0*y_01*y_10) 254 0.0 - 1.5*y_11 + 1.5*y_11*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_00*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_11 254 0.0 + 1.5*y_10 - 1.5*y_10*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_01*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) - 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_10 254 0.0 + 1.5*y_01 - 1.5*y_01*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_01*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) - 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_01 254 0.0 - 1.5*y_00 + 1.5*y_00*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_11*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_00 169 0.666666666666667*y_00*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 3.0*z_00*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2) 169 0.666666666666667*y_11*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 3.0*z_11*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2) 198 0.5*(0.666666666666667*(0.0 + 1.0*y_01 + 1.0*y_10)*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 6.0*z_01*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2)) 9 0 7.331452026e+02 1.803375122e+03 4.021220703e+03 -2.721500000e+03 -2.073134033e+03 2.076409668e+03 1.674248815e+00 2.696851254e+00 1.978506565e+00 0 0 9 0 0 0 169 0.666666666666667*y_00*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 3.0*z_00*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2) 6 169 0.666666666666667*y_11*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 3.0*z_11*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2) 7 254 0.0 - 1.5*y_11 + 1.5*y_11*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_00*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_11 2 254 0.0 - 1.5*y_00 + 1.5*y_00*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_11*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_00 5 254 0.0 + 1.5*y_01 - 1.5*y_01*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_01*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) - 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_01 4 254 0.0 + 1.5*y_10 - 1.5*y_10*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_01*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) - 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_10 3 81 2.0*x**(-1 + 1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*(1.0*y_00*y_11 - 1.0*y_01*y_10) 1 235 1.5 + 1.5*(1.0*y_00*y_11 - 1.0*y_01*y_10)*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10)) + sin(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) 0 198 0.5*(0.666666666666667*(0.0 + 1.0*y_01 + 1.0*y_10)*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 6.0*z_01*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2)) 8 1 1 8 0 1 x 4 z_11 4 z_00 4 z_01 4 y_01 4 y_00 4 y_11 4 y_10 0 0 16 0 0 0 2 x0 66 0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01) 2 x1 8 1.0*y_10 2 x2 24 -x1*y_01 + 1.0*y_00*y_11 2 x3 6 1.0*x2 2 x4 9 2.0*x**x3 2 x5 29 z_00**2 + 2*z_01**2 + z_11**2 2 x6 14 log(1.0*x5/x2) 2 x7 8 1.5*y_11 2 x8 9 log(x)*x4 2 x9 25 0.666666666666667*cos(x0) 3 x10 8 1.5*y_10 3 x11 7 x9*z_01 3 x12 8 1.5*y_01 3 x13 8 1.5*y_00 3 x14 5 x2/x5 3 x15 7 3.0*x14 9 0 30 1.5 + x4 + 1.5*x2*x6 + sin(x0) 19 2.0*x**(-1 + x3)*x2 31 -x7 + x6*x7 + x8*y_11 + x9*z_00 28 x10 + x11 - x6*x10 - x8*y_10 28 x11 + x12 - x6*x12 - x8*y_01 33 -x13 + x6*x13 + x8*y_00 + x9*z_11 18 x15*z_00 + x9*y_00 18 x15*z_11 + x9*y_11 39 0.5*(6.0*x14*z_01 + x9*(x1 + 1.0*y_01)) 0 0
+
+DEAL:Serialization:Float:Optimisation + substitution::Checking deserialisation...
+DEAL:Serialization:Float:Optimisation + substitution::Evaluation (post-serialization):   s: 733.145  ds_dx: 1803.38  ds_dy: 4021.22 -2721.50 -2073.13 2076.41  ds_dz: 1.67425 1.97851 1.97851 2.69685
+DEAL:Serialization:Double::symb_s: 1.5 + 1.5*(1.0*y_00*y_11 - 1.0*y_01*y_10)*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10)) + sin(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01))
+DEAL:Serialization:Double::symb_ds_dy: 0.0 - 1.5*y_11 + 1.5*y_11*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_00*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_11 0.0 + 1.5*y_10 - 1.5*y_10*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_01*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) - 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_10 0.0 + 1.5*y_01 - 1.5*y_01*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_01*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) - 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_01 0.0 - 1.5*y_00 + 1.5*y_00*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_11*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_00
+DEAL:Serialization:Double:Optimisation + substitution::evaluation:   s: 733.145  ds_dx: 1803.37  ds_dy: 4021.22 -2721.50 -2073.13 2076.41  ds_dz: 1.67425 1.97851 1.97851 2.69686
+DEAL:Serialization:Double:Optimisation + substitution::Evaluation (pre-serialization):   s: 733.145  ds_dx: 1803.37  ds_dy: 4021.22 -2721.50 -2073.13 2076.41  ds_dz: 1.67425 1.97851 1.97851 2.69686
+DEAL:Serialization:Double:Optimisation + substitution::Serializing...
+DEAL:Serialization:Double:Optimisation + substitution::0 0 0 3 0 0 8 0 0 0 0 0 1 x 3 2.5 4 z_11 3 5.7 4 z_00 3 4.7 4 z_01 3 5.7 4 y_01 3 3.2 4 y_00 3 3.2 4 y_11 3 6.2 4 y_10 3 4.2 0 0 9 0 235 1.5 + 1.5*(1.0*y_00*y_11 - 1.0*y_01*y_10)*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10)) + sin(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) 81 2.0*x**(-1 + 1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*(1.0*y_00*y_11 - 1.0*y_01*y_10) 254 0.0 - 1.5*y_11 + 1.5*y_11*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_00*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_11 254 0.0 + 1.5*y_10 - 1.5*y_10*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_01*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) - 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_10 254 0.0 + 1.5*y_01 - 1.5*y_01*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_01*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) - 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_01 254 0.0 - 1.5*y_00 + 1.5*y_00*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_11*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_00 169 0.666666666666667*y_00*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 3.0*z_00*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2) 169 0.666666666666667*y_11*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 3.0*z_11*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2) 198 0.5*(0.666666666666667*(0.0 + 1.0*y_01 + 1.0*y_10)*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 6.0*z_01*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2)) 9 0 7.33145160811001574e+02 1.80337488238402102e+03 4.02122068318208630e+03 -2.72150003931949686e+03 -2.07313387957113900e+03 2.07640954281834820e+03 1.67425190103196075e+00 2.69685737072851373e+00 1.97851016739322993e+00 0 0 9 0 0 0 169 0.666666666666667*y_00*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 3.0*z_00*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2) 6 169 0.666666666666667*y_11*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 3.0*z_11*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2) 7 254 0.0 - 1.5*y_11 + 1.5*y_11*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_00*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_11 2 254 0.0 - 1.5*y_00 + 1.5*y_00*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_11*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_00 5 254 0.0 + 1.5*y_01 - 1.5*y_01*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_01*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) - 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_01 4 254 0.0 + 1.5*y_10 - 1.5*y_10*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_01*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) - 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_10 3 81 2.0*x**(-1 + 1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*(1.0*y_00*y_11 - 1.0*y_01*y_10) 1 235 1.5 + 1.5*(1.0*y_00*y_11 - 1.0*y_01*y_10)*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10)) + sin(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) 0 198 0.5*(0.666666666666667*(0.0 + 1.0*y_01 + 1.0*y_10)*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 6.0*z_01*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2)) 8 1 1 8 0 1 x 4 z_11 4 z_00 4 z_01 4 y_01 4 y_00 4 y_11 4 y_10 0 0 16 0 0 0 2 x0 66 0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01) 2 x1 8 1.0*y_10 2 x2 24 -x1*y_01 + 1.0*y_00*y_11 2 x3 6 1.0*x2 2 x4 9 2.0*x**x3 2 x5 29 z_00**2 + 2*z_01**2 + z_11**2 2 x6 14 log(1.0*x5/x2) 2 x7 8 1.5*y_11 2 x8 9 log(x)*x4 2 x9 25 0.666666666666667*cos(x0) 3 x10 8 1.5*y_10 3 x11 7 x9*z_01 3 x12 8 1.5*y_01 3 x13 8 1.5*y_00 3 x14 5 x2/x5 3 x15 7 3.0*x14 9 0 30 1.5 + x4 + 1.5*x2*x6 + sin(x0) 19 2.0*x**(-1 + x3)*x2 31 -x7 + x6*x7 + x8*y_11 + x9*z_00 28 x10 + x11 - x6*x10 - x8*y_10 28 x11 + x12 - x6*x12 - x8*y_01 33 -x13 + x6*x13 + x8*y_00 + x9*z_11 18 x15*z_00 + x9*y_00 18 x15*z_11 + x9*y_11 39 0.5*(6.0*x14*z_01 + x9*(x1 + 1.0*y_01)) 0 0
+
+DEAL:Serialization:Double:Optimisation + substitution::Checking deserialisation...
+DEAL:Serialization:Double:Optimisation + substitution::Evaluation (post-serialization):   s: 733.145  ds_dx: 1803.37  ds_dy: 4021.22 -2721.50 -2073.13 2076.41  ds_dz: 1.67425 1.97851 1.97851 2.69686
+DEAL:Serialization:Complex float::symb_s: 1.5 + 0.0*I + (1.5 + 0.0*I)*(1.0*y_00*y_11 - 1.0*y_01*y_10)*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10)) + sin((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01))
+DEAL:Serialization:Complex float::symb_ds_dy: 0.0 + 0.0*I + (-1.5 + 0.0*I)*y_11 + (1.5 + 0.0*I)*y_11*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_00*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_11 0.0 + 0.0*I + (1.5 + 0.0*I)*y_10 + (-1.5 + 0.0*I)*y_10*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_01*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (-2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_10 0.0 + 0.0*I + (1.5 + 0.0*I)*y_01 + (-1.5 + 0.0*I)*y_01*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_01*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (-2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_01 0.0 + 0.0*I + (-1.5 + 0.0*I)*y_00 + (1.5 + 0.0*I)*y_00*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_11*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_00
+DEAL:Serialization:Complex float:Optimisation + substitution::evaluation:   s: (733.145,0.00000)  ds_dx: (1803.38,0.00000)  ds_dy: (4021.22,0.00000) (-2721.50,0.00000) (-2073.13,0.00000) (2076.41,0.00000)  ds_dz: (1.67425,0.00000) (1.97851,0.00000) (1.97851,0.00000) (2.69685,0.00000)
+DEAL:Serialization:Complex float:Optimisation + substitution::Evaluation (pre-serialization):   s: (733.145,0.00000)  ds_dx: (1803.38,0.00000)  ds_dy: (4021.22,0.00000) (-2721.50,0.00000) (-2073.13,0.00000) (2076.41,0.00000)  ds_dz: (1.67425,0.00000) (1.97851,0.00000) (1.97851,0.00000) (2.69685,0.00000)
+DEAL:Serialization:Complex float:Optimisation + substitution::Serializing...
+DEAL:Serialization:Complex float:Optimisation + substitution::0 0 0 3 0 0 8 0 0 0 0 0 1 x 3 2.5 4 z_11 24 5.69999980926514 + 0.0*I 4 z_00 24 4.69999980926514 + 0.0*I 4 z_01 24 5.69999980926514 + 0.0*I 4 y_01 24 3.20000004768372 + 0.0*I 4 y_00 24 3.20000004768372 + 0.0*I 4 y_11 24 6.19999980926514 + 0.0*I 4 y_10 24 4.19999980926514 + 0.0*I 0 0 9 0 273 1.5 + 0.0*I + (1.5 + 0.0*I)*(1.0*y_00*y_11 - 1.0*y_01*y_10)*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10)) + sin((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) 91 (2.0 + 0.0*I)*x**(-1 + 1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*(1.0*y_00*y_11 - 1.0*y_01*y_10) 314 0.0 + 0.0*I + (-1.5 + 0.0*I)*y_11 + (1.5 + 0.0*I)*y_11*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_00*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_11 316 0.0 + 0.0*I + (1.5 + 0.0*I)*y_10 + (-1.5 + 0.0*I)*y_10*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_01*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (-2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_10 316 0.0 + 0.0*I + (1.5 + 0.0*I)*y_01 + (-1.5 + 0.0*I)*y_01*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_01*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (-2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_01 314 0.0 + 0.0*I + (-1.5 + 0.0*I)*y_00 + (1.5 + 0.0*I)*y_00*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_11*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_00 199 (0.666666666666667 + 0.0*I)*y_00*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (3.0 + 0.0*I)*z_00*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2) 199 (0.666666666666667 + 0.0*I)*y_11*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (3.0 + 0.0*I)*z_11*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2) 228 0.5*((0.666666666666667 + 0.0*I)*(0.0 + 1.0*y_01 + 1.0*y_10)*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (6.0 + 0.0*I)*z_01*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2)) 0 0 9 0 7.331452026e+02 0.000000000e+00 1.803375122e+03 0.000000000e+00 4.021220703e+03 0.000000000e+00 -2.721500000e+03 0.000000000e+00 -2.073134033e+03 0.000000000e+00 2.076409668e+03 0.000000000e+00 1.674248815e+00 0.000000000e+00 2.696851254e+00 0.000000000e+00 1.978506565e+00 0.000000000e+00 0 0 9 0 0 0 314 0.0 + 0.0*I + (-1.5 + 0.0*I)*y_11 + (1.5 + 0.0*I)*y_11*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_00*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_11 2 314 0.0 + 0.0*I + (-1.5 + 0.0*I)*y_00 + (1.5 + 0.0*I)*y_00*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_11*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_00 5 91 (2.0 + 0.0*I)*x**(-1 + 1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*(1.0*y_00*y_11 - 1.0*y_01*y_10) 1 273 1.5 + 0.0*I + (1.5 + 0.0*I)*(1.0*y_00*y_11 - 1.0*y_01*y_10)*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10)) + sin((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) 0 316 0.0 + 0.0*I + (1.5 + 0.0*I)*y_01 + (-1.5 + 0.0*I)*y_01*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_01*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (-2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_01 4 316 0.0 + 0.0*I + (1.5 + 0.0*I)*y_10 + (-1.5 + 0.0*I)*y_10*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_01*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (-2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_10 3 228 0.5*((0.666666666666667 + 0.0*I)*(0.0 + 1.0*y_01 + 1.0*y_10)*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (6.0 + 0.0*I)*z_01*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2)) 8 199 (0.666666666666667 + 0.0*I)*y_11*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (3.0 + 0.0*I)*z_11*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2) 7 199 (0.666666666666667 + 0.0*I)*y_00*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (3.0 + 0.0*I)*z_00*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2) 6 1 1 8 0 1 x 4 z_11 4 z_00 4 z_01 4 y_01 4 y_00 4 y_11 4 y_10 0 0 17 0 0 0 2 x0 76 (0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01) 2 x1 8 1.0*y_10 2 x2 24 -x1*y_01 + 1.0*y_00*y_11 2 x3 6 1.0*x2 2 x4 5 x**x3 2 x5 16 (2.0 + 0.0*I)*x4 2 x6 29 z_00**2 + 2*z_01**2 + z_11**2 2 x7 14 log(1.0*x6/x2) 2 x8 16 (1.5 + 0.0*I)*x7 2 x9 6 log(x) 3 x10 5 x5*x9 3 x11 35 (0.666666666666667 + 0.0*I)*cos(x0) 3 x12 21 (-2.0 + 0.0*I)*x4*x9 3 x13 18 (-1.5 + 0.0*I)*x7 3 x14 8 x11*z_01 3 x15 5 x2/x6 3 x16 17 (3.0 + 0.0*I)*x15 9 0 34 1.5 + 0.0*I + x5 + x2*x8 + sin(x0) 29 (2.0 + 0.0*I)*x**(-1 + x3)*x2 52 (-1.5 + 0.0*I)*y_11 + x10*y_11 + x11*z_00 + x8*y_11 46 x14 + (1.5 + 0.0*I)*y_10 + x12*y_10 + x13*y_10 46 x14 + (1.5 + 0.0*I)*y_01 + x12*y_01 + x13*y_01 52 (-1.5 + 0.0*I)*y_00 + x10*y_00 + x11*z_11 + x8*y_00 19 x11*y_00 + x16*z_00 19 x11*y_11 + x16*z_11 50 0.5*(x11*(x1 + 1.0*y_01) + (6.0 + 0.0*I)*x15*z_01) 0 0
+
+DEAL:Serialization:Complex float:Optimisation + substitution::Checking deserialisation...
+DEAL:Serialization:Complex float:Optimisation + substitution::Evaluation (post-serialization):   s: (733.145,0.00000)  ds_dx: (1803.38,0.00000)  ds_dy: (4021.22,0.00000) (-2721.50,0.00000) (-2073.13,0.00000) (2076.41,0.00000)  ds_dz: (1.67425,0.00000) (1.97851,0.00000) (1.97851,0.00000) (2.69685,0.00000)
+DEAL:Serialization:Complex double::symb_s: 1.5 + 0.0*I + (1.5 + 0.0*I)*(1.0*y_00*y_11 - 1.0*y_01*y_10)*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10)) + sin((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01))
+DEAL:Serialization:Complex double::symb_ds_dy: 0.0 + 0.0*I + (-1.5 + 0.0*I)*y_11 + (1.5 + 0.0*I)*y_11*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_00*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_11 0.0 + 0.0*I + (1.5 + 0.0*I)*y_10 + (-1.5 + 0.0*I)*y_10*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_01*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (-2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_10 0.0 + 0.0*I + (1.5 + 0.0*I)*y_01 + (-1.5 + 0.0*I)*y_01*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_01*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (-2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_01 0.0 + 0.0*I + (-1.5 + 0.0*I)*y_00 + (1.5 + 0.0*I)*y_00*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_11*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_00
+DEAL:Serialization:Complex double:Optimisation + substitution::evaluation:   s: (733.145,0.00000)  ds_dx: (1803.37,0.00000)  ds_dy: (4021.22,0.00000) (-2721.50,0.00000) (-2073.13,0.00000) (2076.41,0.00000)  ds_dz: (1.67425,0.00000) (1.97851,0.00000) (1.97851,0.00000) (2.69686,0.00000)
+DEAL:Serialization:Complex double:Optimisation + substitution::Evaluation (pre-serialization):   s: (733.145,0.00000)  ds_dx: (1803.37,0.00000)  ds_dy: (4021.22,0.00000) (-2721.50,0.00000) (-2073.13,0.00000) (2076.41,0.00000)  ds_dz: (1.67425,0.00000) (1.97851,0.00000) (1.97851,0.00000) (2.69686,0.00000)
+DEAL:Serialization:Complex double:Optimisation + substitution::Serializing...
+DEAL:Serialization:Complex double:Optimisation + substitution::0 0 0 3 0 0 8 0 0 0 0 0 1 x 3 2.5 4 z_11 11 5.7 + 0.0*I 4 z_00 11 4.7 + 0.0*I 4 z_01 11 5.7 + 0.0*I 4 y_01 11 3.2 + 0.0*I 4 y_00 11 3.2 + 0.0*I 4 y_11 11 6.2 + 0.0*I 4 y_10 11 4.2 + 0.0*I 0 0 9 0 273 1.5 + 0.0*I + (1.5 + 0.0*I)*(1.0*y_00*y_11 - 1.0*y_01*y_10)*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10)) + sin((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) 91 (2.0 + 0.0*I)*x**(-1 + 1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*(1.0*y_00*y_11 - 1.0*y_01*y_10) 314 0.0 + 0.0*I + (-1.5 + 0.0*I)*y_11 + (1.5 + 0.0*I)*y_11*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_00*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_11 316 0.0 + 0.0*I + (1.5 + 0.0*I)*y_10 + (-1.5 + 0.0*I)*y_10*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_01*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (-2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_10 316 0.0 + 0.0*I + (1.5 + 0.0*I)*y_01 + (-1.5 + 0.0*I)*y_01*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_01*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (-2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_01 314 0.0 + 0.0*I + (-1.5 + 0.0*I)*y_00 + (1.5 + 0.0*I)*y_00*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_11*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_00 199 (0.666666666666667 + 0.0*I)*y_00*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (3.0 + 0.0*I)*z_00*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2) 199 (0.666666666666667 + 0.0*I)*y_11*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (3.0 + 0.0*I)*z_11*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2) 228 0.5*((0.666666666666667 + 0.0*I)*(0.0 + 1.0*y_01 + 1.0*y_10)*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (6.0 + 0.0*I)*z_01*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2)) 0 0 9 0 7.33145160811002029e+02 0.00000000000000000e+00 1.80337488238402216e+03 0.00000000000000000e+00 4.02122068318208858e+03 0.00000000000000000e+00 -2.72150003931949823e+03 0.00000000000000000e+00 -2.07313387957114037e+03 0.00000000000000000e+00 2.07640954281834911e+03 0.00000000000000000e+00 1.67425190103196053e+00 0.00000000000000000e+00 2.69685737072851328e+00 0.00000000000000000e+00 1.97851016739322949e+00 0.00000000000000000e+00 0 0 9 0 0 0 314 0.0 + 0.0*I + (-1.5 + 0.0*I)*y_11 + (1.5 + 0.0*I)*y_11*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_00*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_11 2 314 0.0 + 0.0*I + (-1.5 + 0.0*I)*y_00 + (1.5 + 0.0*I)*y_00*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_11*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_00 5 91 (2.0 + 0.0*I)*x**(-1 + 1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*(1.0*y_00*y_11 - 1.0*y_01*y_10) 1 273 1.5 + 0.0*I + (1.5 + 0.0*I)*(1.0*y_00*y_11 - 1.0*y_01*y_10)*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10)) + sin((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) 0 316 0.0 + 0.0*I + (1.5 + 0.0*I)*y_01 + (-1.5 + 0.0*I)*y_01*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_01*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (-2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_01 4 316 0.0 + 0.0*I + (1.5 + 0.0*I)*y_10 + (-1.5 + 0.0*I)*y_10*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_01*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (-2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_10 3 228 0.5*((0.666666666666667 + 0.0*I)*(0.0 + 1.0*y_01 + 1.0*y_10)*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (6.0 + 0.0*I)*z_01*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2)) 8 199 (0.666666666666667 + 0.0*I)*y_11*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (3.0 + 0.0*I)*z_11*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2) 7 199 (0.666666666666667 + 0.0*I)*y_00*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (3.0 + 0.0*I)*z_00*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2) 6 1 1 8 0 1 x 4 z_11 4 z_00 4 z_01 4 y_01 4 y_00 4 y_11 4 y_10 0 0 17 0 0 0 2 x0 76 (0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01) 2 x1 8 1.0*y_10 2 x2 24 -x1*y_01 + 1.0*y_00*y_11 2 x3 6 1.0*x2 2 x4 5 x**x3 2 x5 16 (2.0 + 0.0*I)*x4 2 x6 29 z_00**2 + 2*z_01**2 + z_11**2 2 x7 14 log(1.0*x6/x2) 2 x8 16 (1.5 + 0.0*I)*x7 2 x9 6 log(x) 3 x10 5 x5*x9 3 x11 35 (0.666666666666667 + 0.0*I)*cos(x0) 3 x12 21 (-2.0 + 0.0*I)*x4*x9 3 x13 18 (-1.5 + 0.0*I)*x7 3 x14 8 x11*z_01 3 x15 5 x2/x6 3 x16 17 (3.0 + 0.0*I)*x15 9 0 34 1.5 + 0.0*I + x5 + x2*x8 + sin(x0) 29 (2.0 + 0.0*I)*x**(-1 + x3)*x2 52 (-1.5 + 0.0*I)*y_11 + x10*y_11 + x11*z_00 + x8*y_11 46 x14 + (1.5 + 0.0*I)*y_10 + x12*y_10 + x13*y_10 46 x14 + (1.5 + 0.0*I)*y_01 + x12*y_01 + x13*y_01 52 (-1.5 + 0.0*I)*y_00 + x10*y_00 + x11*z_11 + x8*y_00 19 x11*y_00 + x16*z_00 19 x11*y_11 + x16*z_11 50 0.5*(x11*(x1 + 1.0*y_01) + (6.0 + 0.0*I)*x15*z_01) 0 0
+
+DEAL:Serialization:Complex double:Optimisation + substitution::Checking deserialisation...
+DEAL:Serialization:Complex double:Optimisation + substitution::Evaluation (post-serialization):   s: (733.145,0.00000)  ds_dx: (1803.37,0.00000)  ds_dy: (4021.22,0.00000) (-2721.50,0.00000) (-2073.13,0.00000) (2076.41,0.00000)  ds_dz: (1.67425,0.00000) (1.97851,0.00000) (1.97851,0.00000) (2.69686,0.00000)
+DEAL::OK
diff --git a/tests/symengine/batch_optimizer_05_2a.cc b/tests/symengine/batch_optimizer_05_2a.cc
new file mode 100644 (file)
index 0000000..eb069b2
--- /dev/null
@@ -0,0 +1,38 @@
+// ---------------------------------------------------------------------
+//
+// Copyright (C) 2020 by the deal.II authors
+//
+// This file is part of the deal.II library.
+//
+// The deal.II library is free software; you can use it, redistribute
+// it, and/or modify it under the terms of the GNU Lesser General
+// Public License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+// The full text of the license can be found in the file LICENSE at
+// the top level of the deal.II distribution.
+//
+// ---------------------------------------------------------------------
+
+
+// Check that serialization for the BatchOptimizer works as expected.
+// In this test, we destroy only the optimizer and keep the other expressions
+// that were used to initialize it.
+//
+// Here we use only lambda substitution,and invoke no symbolic optimizations.
+
+#include "../tests.h"
+
+#include "sd_common_tests/batch_optimizer_05.h"
+
+int
+main()
+{
+  initlog();
+
+  const enum SD::OptimizerType     opt_method = SD::OptimizerType::lambda;
+  const enum SD::OptimizationFlags opt_flags =
+    SD::OptimizationFlags::optimize_default;
+
+  const int dim = 2;
+  run_tests<dim, opt_method, opt_flags>();
+}
diff --git a/tests/symengine/batch_optimizer_05_2a.output b/tests/symengine/batch_optimizer_05_2a.output
new file mode 100644 (file)
index 0000000..ced3db2
--- /dev/null
@@ -0,0 +1,38 @@
+
+DEAL:Serialization:Float::symb_s: 1.5 + 1.5*(1.0*y_00*y_11 - 1.0*y_01*y_10)*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10)) + sin(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01))
+DEAL:Serialization:Float::symb_ds_dy: 0.0 - 1.5*y_11 + 1.5*y_11*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_00*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_11 0.0 + 1.5*y_10 - 1.5*y_10*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_01*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) - 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_10 0.0 + 1.5*y_01 - 1.5*y_01*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_01*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) - 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_01 0.0 - 1.5*y_00 + 1.5*y_00*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_11*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_00
+DEAL:Serialization:Float:Optimisation + substitution::evaluation:   s: 733.145  ds_dx: 1803.38  ds_dy: 4021.22 -2721.50 -2073.13 2076.41  ds_dz: 1.67425 1.97850 1.97850 2.69685
+DEAL:Serialization:Float:Optimisation + substitution::Evaluation (pre-serialization):   s: 733.145  ds_dx: 1803.38  ds_dy: 4021.22 -2721.50 -2073.13 2076.41  ds_dz: 1.67425 1.97850 1.97850 2.69685
+DEAL:Serialization:Float:Optimisation + substitution::Serializing...
+DEAL:Serialization:Float:Optimisation + substitution::0 0 1 0 0 0 8 0 0 0 0 0 1 x 3 2.5 4 z_11 16 5.69999980926514 4 z_00 16 4.69999980926514 4 z_01 16 5.69999980926514 4 y_01 16 3.20000004768372 4 y_00 16 3.20000004768372 4 y_11 16 6.19999980926514 4 y_10 16 4.19999980926514 0 0 9 0 235 1.5 + 1.5*(1.0*y_00*y_11 - 1.0*y_01*y_10)*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10)) + sin(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) 81 2.0*x**(-1 + 1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*(1.0*y_00*y_11 - 1.0*y_01*y_10) 254 0.0 - 1.5*y_11 + 1.5*y_11*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_00*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_11 254 0.0 + 1.5*y_10 - 1.5*y_10*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_01*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) - 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_10 254 0.0 + 1.5*y_01 - 1.5*y_01*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_01*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) - 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_01 254 0.0 - 1.5*y_00 + 1.5*y_00*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_11*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_00 169 0.666666666666667*y_00*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 3.0*z_00*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2) 169 0.666666666666667*y_11*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 3.0*z_11*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2) 198 0.5*(0.666666666666667*(0.0 + 1.0*y_01 + 1.0*y_10)*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 6.0*z_01*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2)) 9 0 7.331452026e+02 1.803375122e+03 4.021220947e+03 -2.721500244e+03 -2.073134033e+03 2.076409668e+03 1.674245715e+00 2.696845293e+00 1.978502989e+00 0 0 9 0 0 0 169 0.666666666666667*y_00*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 3.0*z_00*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2) 6 169 0.666666666666667*y_11*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 3.0*z_11*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2) 7 254 0.0 - 1.5*y_11 + 1.5*y_11*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_00*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_11 2 254 0.0 - 1.5*y_00 + 1.5*y_00*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_11*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_00 5 254 0.0 + 1.5*y_01 - 1.5*y_01*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_01*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) - 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_01 4 254 0.0 + 1.5*y_10 - 1.5*y_10*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_01*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) - 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_10 3 81 2.0*x**(-1 + 1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*(1.0*y_00*y_11 - 1.0*y_01*y_10) 1 235 1.5 + 1.5*(1.0*y_00*y_11 - 1.0*y_01*y_10)*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10)) + sin(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) 0 198 0.5*(0.666666666666667*(0.0 + 1.0*y_01 + 1.0*y_10)*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 6.0*z_01*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2)) 8 1 1
+
+DEAL:Serialization:Float:Optimisation + substitution::Checking deserialisation...
+DEAL:Serialization:Float:Optimisation + substitution::Evaluation (post-serialization):   s: 733.145  ds_dx: 1803.38  ds_dy: 4021.22 -2721.50 -2073.13 2076.41  ds_dz: 1.67425 1.97850 1.97850 2.69685
+DEAL:Serialization:Double::symb_s: 1.5 + 1.5*(1.0*y_00*y_11 - 1.0*y_01*y_10)*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10)) + sin(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01))
+DEAL:Serialization:Double::symb_ds_dy: 0.0 - 1.5*y_11 + 1.5*y_11*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_00*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_11 0.0 + 1.5*y_10 - 1.5*y_10*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_01*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) - 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_10 0.0 + 1.5*y_01 - 1.5*y_01*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_01*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) - 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_01 0.0 - 1.5*y_00 + 1.5*y_00*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_11*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_00
+DEAL:Serialization:Double:Optimisation + substitution::evaluation:   s: 733.145  ds_dx: 1803.37  ds_dy: 4021.22 -2721.50 -2073.13 2076.41  ds_dz: 1.67425 1.97851 1.97851 2.69686
+DEAL:Serialization:Double:Optimisation + substitution::Evaluation (pre-serialization):   s: 733.145  ds_dx: 1803.37  ds_dy: 4021.22 -2721.50 -2073.13 2076.41  ds_dz: 1.67425 1.97851 1.97851 2.69686
+DEAL:Serialization:Double:Optimisation + substitution::Serializing...
+DEAL:Serialization:Double:Optimisation + substitution::0 0 1 0 0 0 8 0 0 0 0 0 1 x 3 2.5 4 z_11 3 5.7 4 z_00 3 4.7 4 z_01 3 5.7 4 y_01 3 3.2 4 y_00 3 3.2 4 y_11 3 6.2 4 y_10 3 4.2 0 0 9 0 235 1.5 + 1.5*(1.0*y_00*y_11 - 1.0*y_01*y_10)*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10)) + sin(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) 81 2.0*x**(-1 + 1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*(1.0*y_00*y_11 - 1.0*y_01*y_10) 254 0.0 - 1.5*y_11 + 1.5*y_11*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_00*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_11 254 0.0 + 1.5*y_10 - 1.5*y_10*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_01*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) - 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_10 254 0.0 + 1.5*y_01 - 1.5*y_01*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_01*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) - 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_01 254 0.0 - 1.5*y_00 + 1.5*y_00*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_11*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_00 169 0.666666666666667*y_00*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 3.0*z_00*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2) 169 0.666666666666667*y_11*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 3.0*z_11*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2) 198 0.5*(0.666666666666667*(0.0 + 1.0*y_01 + 1.0*y_10)*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 6.0*z_01*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2)) 9 0 7.33145160811001688e+02 1.80337488238402102e+03 4.02122068318208676e+03 -2.72150003931949686e+03 -2.07313387957113946e+03 2.07640954281834865e+03 1.67425190103196075e+00 2.69685737072851328e+00 1.97851016739322949e+00 0 0 9 0 0 0 169 0.666666666666667*y_00*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 3.0*z_00*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2) 6 169 0.666666666666667*y_11*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 3.0*z_11*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2) 7 254 0.0 - 1.5*y_11 + 1.5*y_11*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_00*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_11 2 254 0.0 - 1.5*y_00 + 1.5*y_00*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_11*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_00 5 254 0.0 + 1.5*y_01 - 1.5*y_01*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_01*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) - 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_01 4 254 0.0 + 1.5*y_10 - 1.5*y_10*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_01*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) - 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_10 3 81 2.0*x**(-1 + 1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*(1.0*y_00*y_11 - 1.0*y_01*y_10) 1 235 1.5 + 1.5*(1.0*y_00*y_11 - 1.0*y_01*y_10)*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10)) + sin(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) 0 198 0.5*(0.666666666666667*(0.0 + 1.0*y_01 + 1.0*y_10)*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 6.0*z_01*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2)) 8 1 1
+
+DEAL:Serialization:Double:Optimisation + substitution::Checking deserialisation...
+DEAL:Serialization:Double:Optimisation + substitution::Evaluation (post-serialization):   s: 733.145  ds_dx: 1803.37  ds_dy: 4021.22 -2721.50 -2073.13 2076.41  ds_dz: 1.67425 1.97851 1.97851 2.69686
+DEAL:Serialization:Complex float::symb_s: 1.5 + 0.0*I + (1.5 + 0.0*I)*(1.0*y_00*y_11 - 1.0*y_01*y_10)*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10)) + sin((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01))
+DEAL:Serialization:Complex float::symb_ds_dy: 0.0 + 0.0*I + (-1.5 + 0.0*I)*y_11 + (1.5 + 0.0*I)*y_11*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_00*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_11 0.0 + 0.0*I + (1.5 + 0.0*I)*y_10 + (-1.5 + 0.0*I)*y_10*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_01*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (-2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_10 0.0 + 0.0*I + (1.5 + 0.0*I)*y_01 + (-1.5 + 0.0*I)*y_01*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_01*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (-2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_01 0.0 + 0.0*I + (-1.5 + 0.0*I)*y_00 + (1.5 + 0.0*I)*y_00*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_11*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_00
+DEAL:Serialization:Complex float:Optimisation + substitution::evaluation:   s: (733.145,0.00000)  ds_dx: (1803.38,0.00000)  ds_dy: (4021.22,0.00000) (-2721.50,0.00000) (-2073.13,0.00000) (2076.41,0.00000)  ds_dz: (1.67425,0.00000) (1.97850,0.00000) (1.97850,0.00000) (2.69685,0.00000)
+DEAL:Serialization:Complex float:Optimisation + substitution::Evaluation (pre-serialization):   s: (733.145,0.00000)  ds_dx: (1803.38,0.00000)  ds_dy: (4021.22,0.00000) (-2721.50,0.00000) (-2073.13,0.00000) (2076.41,0.00000)  ds_dz: (1.67425,0.00000) (1.97850,0.00000) (1.97850,0.00000) (2.69685,0.00000)
+DEAL:Serialization:Complex float:Optimisation + substitution::Serializing...
+DEAL:Serialization:Complex float:Optimisation + substitution::0 0 1 0 0 0 8 0 0 0 0 0 1 x 3 2.5 4 z_11 24 5.69999980926514 + 0.0*I 4 z_00 24 4.69999980926514 + 0.0*I 4 z_01 24 5.69999980926514 + 0.0*I 4 y_01 24 3.20000004768372 + 0.0*I 4 y_00 24 3.20000004768372 + 0.0*I 4 y_11 24 6.19999980926514 + 0.0*I 4 y_10 24 4.19999980926514 + 0.0*I 0 0 9 0 273 1.5 + 0.0*I + (1.5 + 0.0*I)*(1.0*y_00*y_11 - 1.0*y_01*y_10)*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10)) + sin((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) 91 (2.0 + 0.0*I)*x**(-1 + 1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*(1.0*y_00*y_11 - 1.0*y_01*y_10) 314 0.0 + 0.0*I + (-1.5 + 0.0*I)*y_11 + (1.5 + 0.0*I)*y_11*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_00*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_11 316 0.0 + 0.0*I + (1.5 + 0.0*I)*y_10 + (-1.5 + 0.0*I)*y_10*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_01*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (-2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_10 316 0.0 + 0.0*I + (1.5 + 0.0*I)*y_01 + (-1.5 + 0.0*I)*y_01*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_01*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (-2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_01 314 0.0 + 0.0*I + (-1.5 + 0.0*I)*y_00 + (1.5 + 0.0*I)*y_00*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_11*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_00 199 (0.666666666666667 + 0.0*I)*y_00*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (3.0 + 0.0*I)*z_00*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2) 199 (0.666666666666667 + 0.0*I)*y_11*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (3.0 + 0.0*I)*z_11*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2) 228 0.5*((0.666666666666667 + 0.0*I)*(0.0 + 1.0*y_01 + 1.0*y_10)*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (6.0 + 0.0*I)*z_01*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2)) 0 0 9 0 7.331452026e+02 0.000000000e+00 1.803375122e+03 0.000000000e+00 4.021220947e+03 0.000000000e+00 -2.721500244e+03 0.000000000e+00 -2.073134033e+03 0.000000000e+00 2.076409668e+03 0.000000000e+00 1.674245715e+00 0.000000000e+00 2.696845293e+00 0.000000000e+00 1.978502989e+00 0.000000000e+00 0 0 9 0 0 0 314 0.0 + 0.0*I + (-1.5 + 0.0*I)*y_11 + (1.5 + 0.0*I)*y_11*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_00*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_11 2 314 0.0 + 0.0*I + (-1.5 + 0.0*I)*y_00 + (1.5 + 0.0*I)*y_00*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_11*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_00 5 91 (2.0 + 0.0*I)*x**(-1 + 1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*(1.0*y_00*y_11 - 1.0*y_01*y_10) 1 273 1.5 + 0.0*I + (1.5 + 0.0*I)*(1.0*y_00*y_11 - 1.0*y_01*y_10)*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10)) + sin((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) 0 316 0.0 + 0.0*I + (1.5 + 0.0*I)*y_01 + (-1.5 + 0.0*I)*y_01*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_01*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (-2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_01 4 316 0.0 + 0.0*I + (1.5 + 0.0*I)*y_10 + (-1.5 + 0.0*I)*y_10*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_01*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (-2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_10 3 228 0.5*((0.666666666666667 + 0.0*I)*(0.0 + 1.0*y_01 + 1.0*y_10)*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (6.0 + 0.0*I)*z_01*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2)) 8 199 (0.666666666666667 + 0.0*I)*y_11*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (3.0 + 0.0*I)*z_11*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2) 7 199 (0.666666666666667 + 0.0*I)*y_00*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (3.0 + 0.0*I)*z_00*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2) 6 1 1
+
+DEAL:Serialization:Complex float:Optimisation + substitution::Checking deserialisation...
+DEAL:Serialization:Complex float:Optimisation + substitution::Evaluation (post-serialization):   s: (733.145,0.00000)  ds_dx: (1803.38,0.00000)  ds_dy: (4021.22,0.00000) (-2721.50,0.00000) (-2073.13,0.00000) (2076.41,0.00000)  ds_dz: (1.67425,0.00000) (1.97850,0.00000) (1.97850,0.00000) (2.69685,0.00000)
+DEAL:Serialization:Complex double::symb_s: 1.5 + 0.0*I + (1.5 + 0.0*I)*(1.0*y_00*y_11 - 1.0*y_01*y_10)*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10)) + sin((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01))
+DEAL:Serialization:Complex double::symb_ds_dy: 0.0 + 0.0*I + (-1.5 + 0.0*I)*y_11 + (1.5 + 0.0*I)*y_11*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_00*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_11 0.0 + 0.0*I + (1.5 + 0.0*I)*y_10 + (-1.5 + 0.0*I)*y_10*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_01*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (-2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_10 0.0 + 0.0*I + (1.5 + 0.0*I)*y_01 + (-1.5 + 0.0*I)*y_01*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_01*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (-2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_01 0.0 + 0.0*I + (-1.5 + 0.0*I)*y_00 + (1.5 + 0.0*I)*y_00*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_11*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_00
+DEAL:Serialization:Complex double:Optimisation + substitution::evaluation:   s: (733.145,0.00000)  ds_dx: (1803.37,0.00000)  ds_dy: (4021.22,0.00000) (-2721.50,0.00000) (-2073.13,0.00000) (2076.41,0.00000)  ds_dz: (1.67425,0.00000) (1.97851,0.00000) (1.97851,0.00000) (2.69686,0.00000)
+DEAL:Serialization:Complex double:Optimisation + substitution::Evaluation (pre-serialization):   s: (733.145,0.00000)  ds_dx: (1803.37,0.00000)  ds_dy: (4021.22,0.00000) (-2721.50,0.00000) (-2073.13,0.00000) (2076.41,0.00000)  ds_dz: (1.67425,0.00000) (1.97851,0.00000) (1.97851,0.00000) (2.69686,0.00000)
+DEAL:Serialization:Complex double:Optimisation + substitution::Serializing...
+DEAL:Serialization:Complex double:Optimisation + substitution::0 0 1 0 0 0 8 0 0 0 0 0 1 x 3 2.5 4 z_11 11 5.7 + 0.0*I 4 z_00 11 4.7 + 0.0*I 4 z_01 11 5.7 + 0.0*I 4 y_01 11 3.2 + 0.0*I 4 y_00 11 3.2 + 0.0*I 4 y_11 11 6.2 + 0.0*I 4 y_10 11 4.2 + 0.0*I 0 0 9 0 273 1.5 + 0.0*I + (1.5 + 0.0*I)*(1.0*y_00*y_11 - 1.0*y_01*y_10)*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10)) + sin((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) 91 (2.0 + 0.0*I)*x**(-1 + 1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*(1.0*y_00*y_11 - 1.0*y_01*y_10) 314 0.0 + 0.0*I + (-1.5 + 0.0*I)*y_11 + (1.5 + 0.0*I)*y_11*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_00*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_11 316 0.0 + 0.0*I + (1.5 + 0.0*I)*y_10 + (-1.5 + 0.0*I)*y_10*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_01*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (-2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_10 316 0.0 + 0.0*I + (1.5 + 0.0*I)*y_01 + (-1.5 + 0.0*I)*y_01*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_01*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (-2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_01 314 0.0 + 0.0*I + (-1.5 + 0.0*I)*y_00 + (1.5 + 0.0*I)*y_00*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_11*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_00 199 (0.666666666666667 + 0.0*I)*y_00*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (3.0 + 0.0*I)*z_00*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2) 199 (0.666666666666667 + 0.0*I)*y_11*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (3.0 + 0.0*I)*z_11*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2) 228 0.5*((0.666666666666667 + 0.0*I)*(0.0 + 1.0*y_01 + 1.0*y_10)*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (6.0 + 0.0*I)*z_01*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2)) 0 0 9 0 7.33145160811001915e+02 0.00000000000000000e+00 1.80337488238402216e+03 0.00000000000000000e+00 4.02122068318208949e+03 0.00000000000000000e+00 -2.72150003931949823e+03 0.00000000000000000e+00 -2.07313387957114037e+03 0.00000000000000000e+00 2.07640954281834911e+03 0.00000000000000000e+00 1.67425190103196053e+00 0.00000000000000000e+00 2.69685737072851373e+00 0.00000000000000000e+00 1.97851016739322971e+00 0.00000000000000000e+00 0 0 9 0 0 0 314 0.0 + 0.0*I + (-1.5 + 0.0*I)*y_11 + (1.5 + 0.0*I)*y_11*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_00*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_11 2 314 0.0 + 0.0*I + (-1.5 + 0.0*I)*y_00 + (1.5 + 0.0*I)*y_00*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_11*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_00 5 91 (2.0 + 0.0*I)*x**(-1 + 1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*(1.0*y_00*y_11 - 1.0*y_01*y_10) 1 273 1.5 + 0.0*I + (1.5 + 0.0*I)*(1.0*y_00*y_11 - 1.0*y_01*y_10)*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10)) + sin((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) 0 316 0.0 + 0.0*I + (1.5 + 0.0*I)*y_01 + (-1.5 + 0.0*I)*y_01*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_01*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (-2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_01 4 316 0.0 + 0.0*I + (1.5 + 0.0*I)*y_10 + (-1.5 + 0.0*I)*y_10*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_01*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (-2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_10 3 228 0.5*((0.666666666666667 + 0.0*I)*(0.0 + 1.0*y_01 + 1.0*y_10)*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (6.0 + 0.0*I)*z_01*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2)) 8 199 (0.666666666666667 + 0.0*I)*y_11*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (3.0 + 0.0*I)*z_11*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2) 7 199 (0.666666666666667 + 0.0*I)*y_00*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (3.0 + 0.0*I)*z_00*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2) 6 1 1
+
+DEAL:Serialization:Complex double:Optimisation + substitution::Checking deserialisation...
+DEAL:Serialization:Complex double:Optimisation + substitution::Evaluation (post-serialization):   s: (733.145,0.00000)  ds_dx: (1803.37,0.00000)  ds_dy: (4021.22,0.00000) (-2721.50,0.00000) (-2073.13,0.00000) (2076.41,0.00000)  ds_dz: (1.67425,0.00000) (1.97851,0.00000) (1.97851,0.00000) (2.69686,0.00000)
+DEAL::OK
diff --git a/tests/symengine/batch_optimizer_05_2b.cc b/tests/symengine/batch_optimizer_05_2b.cc
new file mode 100644 (file)
index 0000000..a107e89
--- /dev/null
@@ -0,0 +1,38 @@
+// ---------------------------------------------------------------------
+//
+// Copyright (C) 2020 by the deal.II authors
+//
+// This file is part of the deal.II library.
+//
+// The deal.II library is free software; you can use it, redistribute
+// it, and/or modify it under the terms of the GNU Lesser General
+// Public License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+// The full text of the license can be found in the file LICENSE at
+// the top level of the deal.II distribution.
+//
+// ---------------------------------------------------------------------
+
+
+// Check that serialization for the BatchOptimizer works as expected.
+// In this test, we destroy only the optimizer and keep the other expressions
+// that were used to initialize it.
+//
+// Here we use only lambda substitution, but invoke all symbolic optimizations.
+
+#include "../tests.h"
+
+#include "sd_common_tests/batch_optimizer_05.h"
+
+int
+main()
+{
+  initlog();
+
+  const enum SD::OptimizerType     opt_method = SD::OptimizerType::lambda;
+  const enum SD::OptimizationFlags opt_flags =
+    SD::OptimizationFlags::optimize_all;
+
+  const int dim = 2;
+  run_tests<dim, opt_method, opt_flags>();
+}
diff --git a/tests/symengine/batch_optimizer_05_2b.output b/tests/symengine/batch_optimizer_05_2b.output
new file mode 100644 (file)
index 0000000..6ed6a70
--- /dev/null
@@ -0,0 +1,38 @@
+
+DEAL:Serialization:Float::symb_s: 1.5 + 1.5*(1.0*y_00*y_11 - 1.0*y_01*y_10)*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10)) + sin(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01))
+DEAL:Serialization:Float::symb_ds_dy: 0.0 - 1.5*y_11 + 1.5*y_11*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_00*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_11 0.0 + 1.5*y_10 - 1.5*y_10*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_01*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) - 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_10 0.0 + 1.5*y_01 - 1.5*y_01*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_01*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) - 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_01 0.0 - 1.5*y_00 + 1.5*y_00*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_11*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_00
+DEAL:Serialization:Float:Optimisation + substitution::evaluation:   s: 733.145  ds_dx: 1803.38  ds_dy: 4021.22 -2721.50 -2073.13 2076.41  ds_dz: 1.67425 1.97850 1.97850 2.69685
+DEAL:Serialization:Float:Optimisation + substitution::Evaluation (pre-serialization):   s: 733.145  ds_dx: 1803.38  ds_dy: 4021.22 -2721.50 -2073.13 2076.41  ds_dz: 1.67425 1.97850 1.97850 2.69685
+DEAL:Serialization:Float:Optimisation + substitution::Serializing...
+DEAL:Serialization:Float:Optimisation + substitution::0 0 1 3 0 0 8 0 0 0 0 0 1 x 3 2.5 4 z_11 16 5.69999980926514 4 z_00 16 4.69999980926514 4 z_01 16 5.69999980926514 4 y_01 16 3.20000004768372 4 y_00 16 3.20000004768372 4 y_11 16 6.19999980926514 4 y_10 16 4.19999980926514 0 0 9 0 235 1.5 + 1.5*(1.0*y_00*y_11 - 1.0*y_01*y_10)*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10)) + sin(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) 81 2.0*x**(-1 + 1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*(1.0*y_00*y_11 - 1.0*y_01*y_10) 254 0.0 - 1.5*y_11 + 1.5*y_11*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_00*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_11 254 0.0 + 1.5*y_10 - 1.5*y_10*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_01*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) - 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_10 254 0.0 + 1.5*y_01 - 1.5*y_01*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_01*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) - 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_01 254 0.0 - 1.5*y_00 + 1.5*y_00*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_11*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_00 169 0.666666666666667*y_00*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 3.0*z_00*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2) 169 0.666666666666667*y_11*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 3.0*z_11*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2) 198 0.5*(0.666666666666667*(0.0 + 1.0*y_01 + 1.0*y_10)*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 6.0*z_01*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2)) 9 0 7.331452026e+02 1.803375122e+03 4.021220947e+03 -2.721500244e+03 -2.073134033e+03 2.076409668e+03 1.674245715e+00 2.696845293e+00 1.978502989e+00 0 0 9 0 0 0 169 0.666666666666667*y_00*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 3.0*z_00*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2) 6 169 0.666666666666667*y_11*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 3.0*z_11*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2) 7 254 0.0 - 1.5*y_11 + 1.5*y_11*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_00*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_11 2 254 0.0 - 1.5*y_00 + 1.5*y_00*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_11*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_00 5 254 0.0 + 1.5*y_01 - 1.5*y_01*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_01*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) - 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_01 4 254 0.0 + 1.5*y_10 - 1.5*y_10*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_01*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) - 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_10 3 81 2.0*x**(-1 + 1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*(1.0*y_00*y_11 - 1.0*y_01*y_10) 1 235 1.5 + 1.5*(1.0*y_00*y_11 - 1.0*y_01*y_10)*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10)) + sin(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) 0 198 0.5*(0.666666666666667*(0.0 + 1.0*y_01 + 1.0*y_10)*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 6.0*z_01*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2)) 8 1 1
+
+DEAL:Serialization:Float:Optimisation + substitution::Checking deserialisation...
+DEAL:Serialization:Float:Optimisation + substitution::Evaluation (post-serialization):   s: 733.145  ds_dx: 1803.38  ds_dy: 4021.22 -2721.50 -2073.13 2076.41  ds_dz: 1.67425 1.97850 1.97850 2.69685
+DEAL:Serialization:Double::symb_s: 1.5 + 1.5*(1.0*y_00*y_11 - 1.0*y_01*y_10)*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10)) + sin(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01))
+DEAL:Serialization:Double::symb_ds_dy: 0.0 - 1.5*y_11 + 1.5*y_11*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_00*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_11 0.0 + 1.5*y_10 - 1.5*y_10*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_01*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) - 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_10 0.0 + 1.5*y_01 - 1.5*y_01*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_01*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) - 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_01 0.0 - 1.5*y_00 + 1.5*y_00*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_11*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_00
+DEAL:Serialization:Double:Optimisation + substitution::evaluation:   s: 733.145  ds_dx: 1803.37  ds_dy: 4021.22 -2721.50 -2073.13 2076.41  ds_dz: 1.67425 1.97851 1.97851 2.69686
+DEAL:Serialization:Double:Optimisation + substitution::Evaluation (pre-serialization):   s: 733.145  ds_dx: 1803.37  ds_dy: 4021.22 -2721.50 -2073.13 2076.41  ds_dz: 1.67425 1.97851 1.97851 2.69686
+DEAL:Serialization:Double:Optimisation + substitution::Serializing...
+DEAL:Serialization:Double:Optimisation + substitution::0 0 1 3 0 0 8 0 0 0 0 0 1 x 3 2.5 4 z_11 3 5.7 4 z_00 3 4.7 4 z_01 3 5.7 4 y_01 3 3.2 4 y_00 3 3.2 4 y_11 3 6.2 4 y_10 3 4.2 0 0 9 0 235 1.5 + 1.5*(1.0*y_00*y_11 - 1.0*y_01*y_10)*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10)) + sin(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) 81 2.0*x**(-1 + 1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*(1.0*y_00*y_11 - 1.0*y_01*y_10) 254 0.0 - 1.5*y_11 + 1.5*y_11*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_00*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_11 254 0.0 + 1.5*y_10 - 1.5*y_10*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_01*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) - 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_10 254 0.0 + 1.5*y_01 - 1.5*y_01*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_01*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) - 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_01 254 0.0 - 1.5*y_00 + 1.5*y_00*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_11*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_00 169 0.666666666666667*y_00*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 3.0*z_00*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2) 169 0.666666666666667*y_11*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 3.0*z_11*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2) 198 0.5*(0.666666666666667*(0.0 + 1.0*y_01 + 1.0*y_10)*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 6.0*z_01*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2)) 9 0 7.33145160811001574e+02 1.80337488238402102e+03 4.02122068318208630e+03 -2.72150003931949686e+03 -2.07313387957113900e+03 2.07640954281834820e+03 1.67425190103196075e+00 2.69685737072851373e+00 1.97851016739322993e+00 0 0 9 0 0 0 169 0.666666666666667*y_00*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 3.0*z_00*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2) 6 169 0.666666666666667*y_11*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 3.0*z_11*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2) 7 254 0.0 - 1.5*y_11 + 1.5*y_11*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_00*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_11 2 254 0.0 - 1.5*y_00 + 1.5*y_00*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_11*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_00 5 254 0.0 + 1.5*y_01 - 1.5*y_01*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_01*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) - 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_01 4 254 0.0 + 1.5*y_10 - 1.5*y_10*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_01*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) - 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_10 3 81 2.0*x**(-1 + 1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*(1.0*y_00*y_11 - 1.0*y_01*y_10) 1 235 1.5 + 1.5*(1.0*y_00*y_11 - 1.0*y_01*y_10)*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10)) + sin(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) 0 198 0.5*(0.666666666666667*(0.0 + 1.0*y_01 + 1.0*y_10)*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 6.0*z_01*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2)) 8 1 1
+
+DEAL:Serialization:Double:Optimisation + substitution::Checking deserialisation...
+DEAL:Serialization:Double:Optimisation + substitution::Evaluation (post-serialization):   s: 733.145  ds_dx: 1803.37  ds_dy: 4021.22 -2721.50 -2073.13 2076.41  ds_dz: 1.67425 1.97851 1.97851 2.69686
+DEAL:Serialization:Complex float::symb_s: 1.5 + 0.0*I + (1.5 + 0.0*I)*(1.0*y_00*y_11 - 1.0*y_01*y_10)*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10)) + sin((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01))
+DEAL:Serialization:Complex float::symb_ds_dy: 0.0 + 0.0*I + (-1.5 + 0.0*I)*y_11 + (1.5 + 0.0*I)*y_11*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_00*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_11 0.0 + 0.0*I + (1.5 + 0.0*I)*y_10 + (-1.5 + 0.0*I)*y_10*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_01*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (-2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_10 0.0 + 0.0*I + (1.5 + 0.0*I)*y_01 + (-1.5 + 0.0*I)*y_01*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_01*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (-2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_01 0.0 + 0.0*I + (-1.5 + 0.0*I)*y_00 + (1.5 + 0.0*I)*y_00*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_11*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_00
+DEAL:Serialization:Complex float:Optimisation + substitution::evaluation:   s: (733.145,0.00000)  ds_dx: (1803.38,0.00000)  ds_dy: (4021.22,0.00000) (-2721.50,-3.34260e-13) (-2073.13,-2.54674e-13) (2076.41,0.00000)  ds_dz: (1.67425,0.00000) (1.97850,0.00000) (1.97850,0.00000) (2.69685,0.00000)
+DEAL:Serialization:Complex float:Optimisation + substitution::Evaluation (pre-serialization):   s: (733.145,0.00000)  ds_dx: (1803.38,0.00000)  ds_dy: (4021.22,0.00000) (-2721.50,-3.34260e-13) (-2073.13,-2.54674e-13) (2076.41,0.00000)  ds_dz: (1.67425,0.00000) (1.97850,0.00000) (1.97850,0.00000) (2.69685,0.00000)
+DEAL:Serialization:Complex float:Optimisation + substitution::Serializing...
+DEAL:Serialization:Complex float:Optimisation + substitution::0 0 1 3 0 0 8 0 0 0 0 0 1 x 3 2.5 4 z_11 24 5.69999980926514 + 0.0*I 4 z_00 24 4.69999980926514 + 0.0*I 4 z_01 24 5.69999980926514 + 0.0*I 4 y_01 24 3.20000004768372 + 0.0*I 4 y_00 24 3.20000004768372 + 0.0*I 4 y_11 24 6.19999980926514 + 0.0*I 4 y_10 24 4.19999980926514 + 0.0*I 0 0 9 0 273 1.5 + 0.0*I + (1.5 + 0.0*I)*(1.0*y_00*y_11 - 1.0*y_01*y_10)*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10)) + sin((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) 91 (2.0 + 0.0*I)*x**(-1 + 1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*(1.0*y_00*y_11 - 1.0*y_01*y_10) 314 0.0 + 0.0*I + (-1.5 + 0.0*I)*y_11 + (1.5 + 0.0*I)*y_11*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_00*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_11 316 0.0 + 0.0*I + (1.5 + 0.0*I)*y_10 + (-1.5 + 0.0*I)*y_10*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_01*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (-2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_10 316 0.0 + 0.0*I + (1.5 + 0.0*I)*y_01 + (-1.5 + 0.0*I)*y_01*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_01*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (-2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_01 314 0.0 + 0.0*I + (-1.5 + 0.0*I)*y_00 + (1.5 + 0.0*I)*y_00*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_11*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_00 199 (0.666666666666667 + 0.0*I)*y_00*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (3.0 + 0.0*I)*z_00*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2) 199 (0.666666666666667 + 0.0*I)*y_11*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (3.0 + 0.0*I)*z_11*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2) 228 0.5*((0.666666666666667 + 0.0*I)*(0.0 + 1.0*y_01 + 1.0*y_10)*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (6.0 + 0.0*I)*z_01*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2)) 0 0 9 0 7.331452026e+02 0.000000000e+00 1.803375122e+03 0.000000000e+00 4.021220947e+03 0.000000000e+00 -2.721500244e+03 -3.342597466e-13 -2.073134033e+03 -2.546741030e-13 2.076409668e+03 0.000000000e+00 1.674245715e+00 0.000000000e+00 2.696845293e+00 0.000000000e+00 1.978502989e+00 0.000000000e+00 0 0 9 0 0 0 314 0.0 + 0.0*I + (-1.5 + 0.0*I)*y_11 + (1.5 + 0.0*I)*y_11*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_00*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_11 2 314 0.0 + 0.0*I + (-1.5 + 0.0*I)*y_00 + (1.5 + 0.0*I)*y_00*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_11*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_00 5 91 (2.0 + 0.0*I)*x**(-1 + 1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*(1.0*y_00*y_11 - 1.0*y_01*y_10) 1 273 1.5 + 0.0*I + (1.5 + 0.0*I)*(1.0*y_00*y_11 - 1.0*y_01*y_10)*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10)) + sin((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) 0 316 0.0 + 0.0*I + (1.5 + 0.0*I)*y_01 + (-1.5 + 0.0*I)*y_01*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_01*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (-2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_01 4 316 0.0 + 0.0*I + (1.5 + 0.0*I)*y_10 + (-1.5 + 0.0*I)*y_10*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_01*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (-2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_10 3 228 0.5*((0.666666666666667 + 0.0*I)*(0.0 + 1.0*y_01 + 1.0*y_10)*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (6.0 + 0.0*I)*z_01*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2)) 8 199 (0.666666666666667 + 0.0*I)*y_11*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (3.0 + 0.0*I)*z_11*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2) 7 199 (0.666666666666667 + 0.0*I)*y_00*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (3.0 + 0.0*I)*z_00*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2) 6 1 1
+
+DEAL:Serialization:Complex float:Optimisation + substitution::Checking deserialisation...
+DEAL:Serialization:Complex float:Optimisation + substitution::Evaluation (post-serialization):   s: (733.145,0.00000)  ds_dx: (1803.38,0.00000)  ds_dy: (4021.22,0.00000) (-2721.50,-3.34260e-13) (-2073.13,-2.54674e-13) (2076.41,0.00000)  ds_dz: (1.67425,0.00000) (1.97850,0.00000) (1.97850,0.00000) (2.69685,0.00000)
+DEAL:Serialization:Complex double::symb_s: 1.5 + 0.0*I + (1.5 + 0.0*I)*(1.0*y_00*y_11 - 1.0*y_01*y_10)*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10)) + sin((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01))
+DEAL:Serialization:Complex double::symb_ds_dy: 0.0 + 0.0*I + (-1.5 + 0.0*I)*y_11 + (1.5 + 0.0*I)*y_11*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_00*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_11 0.0 + 0.0*I + (1.5 + 0.0*I)*y_10 + (-1.5 + 0.0*I)*y_10*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_01*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (-2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_10 0.0 + 0.0*I + (1.5 + 0.0*I)*y_01 + (-1.5 + 0.0*I)*y_01*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_01*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (-2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_01 0.0 + 0.0*I + (-1.5 + 0.0*I)*y_00 + (1.5 + 0.0*I)*y_00*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_11*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_00
+DEAL:Serialization:Complex double:Optimisation + substitution::evaluation:   s: (733.145,0.00000)  ds_dx: (1803.37,0.00000)  ds_dy: (4021.22,0.00000) (-2721.50,-3.34260e-13) (-2073.13,-2.54674e-13) (2076.41,0.00000)  ds_dz: (1.67425,0.00000) (1.97851,0.00000) (1.97851,0.00000) (2.69686,0.00000)
+DEAL:Serialization:Complex double:Optimisation + substitution::Evaluation (pre-serialization):   s: (733.145,0.00000)  ds_dx: (1803.37,0.00000)  ds_dy: (4021.22,0.00000) (-2721.50,-3.34260e-13) (-2073.13,-2.54674e-13) (2076.41,0.00000)  ds_dz: (1.67425,0.00000) (1.97851,0.00000) (1.97851,0.00000) (2.69686,0.00000)
+DEAL:Serialization:Complex double:Optimisation + substitution::Serializing...
+DEAL:Serialization:Complex double:Optimisation + substitution::0 0 1 3 0 0 8 0 0 0 0 0 1 x 3 2.5 4 z_11 11 5.7 + 0.0*I 4 z_00 11 4.7 + 0.0*I 4 z_01 11 5.7 + 0.0*I 4 y_01 11 3.2 + 0.0*I 4 y_00 11 3.2 + 0.0*I 4 y_11 11 6.2 + 0.0*I 4 y_10 11 4.2 + 0.0*I 0 0 9 0 273 1.5 + 0.0*I + (1.5 + 0.0*I)*(1.0*y_00*y_11 - 1.0*y_01*y_10)*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10)) + sin((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) 91 (2.0 + 0.0*I)*x**(-1 + 1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*(1.0*y_00*y_11 - 1.0*y_01*y_10) 314 0.0 + 0.0*I + (-1.5 + 0.0*I)*y_11 + (1.5 + 0.0*I)*y_11*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_00*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_11 316 0.0 + 0.0*I + (1.5 + 0.0*I)*y_10 + (-1.5 + 0.0*I)*y_10*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_01*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (-2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_10 316 0.0 + 0.0*I + (1.5 + 0.0*I)*y_01 + (-1.5 + 0.0*I)*y_01*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_01*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (-2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_01 314 0.0 + 0.0*I + (-1.5 + 0.0*I)*y_00 + (1.5 + 0.0*I)*y_00*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_11*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_00 199 (0.666666666666667 + 0.0*I)*y_00*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (3.0 + 0.0*I)*z_00*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2) 199 (0.666666666666667 + 0.0*I)*y_11*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (3.0 + 0.0*I)*z_11*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2) 228 0.5*((0.666666666666667 + 0.0*I)*(0.0 + 1.0*y_01 + 1.0*y_10)*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (6.0 + 0.0*I)*z_01*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2)) 0 0 9 0 7.33145160811002029e+02 0.00000000000000000e+00 1.80337488238402216e+03 0.00000000000000000e+00 4.02122068318208903e+03 0.00000000000000000e+00 -2.72150003931949823e+03 -3.34259735212203695e-13 -2.07313387957114037e+03 -2.54674083971202827e-13 2.07640954281834911e+03 0.00000000000000000e+00 1.67425190103196031e+00 0.00000000000000000e+00 2.69685737072851328e+00 0.00000000000000000e+00 1.97851016739322971e+00 0.00000000000000000e+00 0 0 9 0 0 0 314 0.0 + 0.0*I + (-1.5 + 0.0*I)*y_11 + (1.5 + 0.0*I)*y_11*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_00*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_11 2 314 0.0 + 0.0*I + (-1.5 + 0.0*I)*y_00 + (1.5 + 0.0*I)*y_00*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_11*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_00 5 91 (2.0 + 0.0*I)*x**(-1 + 1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*(1.0*y_00*y_11 - 1.0*y_01*y_10) 1 273 1.5 + 0.0*I + (1.5 + 0.0*I)*(1.0*y_00*y_11 - 1.0*y_01*y_10)*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10)) + sin((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) 0 316 0.0 + 0.0*I + (1.5 + 0.0*I)*y_01 + (-1.5 + 0.0*I)*y_01*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_01*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (-2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_01 4 316 0.0 + 0.0*I + (1.5 + 0.0*I)*y_10 + (-1.5 + 0.0*I)*y_10*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_01*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (-2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_10 3 228 0.5*((0.666666666666667 + 0.0*I)*(0.0 + 1.0*y_01 + 1.0*y_10)*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (6.0 + 0.0*I)*z_01*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2)) 8 199 (0.666666666666667 + 0.0*I)*y_11*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (3.0 + 0.0*I)*z_11*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2) 7 199 (0.666666666666667 + 0.0*I)*y_00*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (3.0 + 0.0*I)*z_00*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2) 6 1 1
+
+DEAL:Serialization:Complex double:Optimisation + substitution::Checking deserialisation...
+DEAL:Serialization:Complex double:Optimisation + substitution::Evaluation (post-serialization):   s: (733.145,0.00000)  ds_dx: (1803.37,0.00000)  ds_dy: (4021.22,0.00000) (-2721.50,-3.34260e-13) (-2073.13,-2.54674e-13) (2076.41,0.00000)  ds_dz: (1.67425,0.00000) (1.97851,0.00000) (1.97851,0.00000) (2.69686,0.00000)
+DEAL::OK
diff --git a/tests/symengine/batch_optimizer_05_3a.cc b/tests/symengine/batch_optimizer_05_3a.cc
new file mode 100644 (file)
index 0000000..505b9ce
--- /dev/null
@@ -0,0 +1,39 @@
+// ---------------------------------------------------------------------
+//
+// Copyright (C) 2020 by the deal.II authors
+//
+// This file is part of the deal.II library.
+//
+// The deal.II library is free software; you can use it, redistribute
+// it, and/or modify it under the terms of the GNU Lesser General
+// Public License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+// The full text of the license can be found in the file LICENSE at
+// the top level of the deal.II distribution.
+//
+// ---------------------------------------------------------------------
+
+
+// Check that serialization for the BatchOptimizer works as expected.
+// In this test, we destroy only the optimizer and keep the other expressions
+// that were used to initialize it.
+//
+// Here we invoke the LLVM optimizer before symbolic evaluation takes place,
+// and we invoke no additional symbolic optimizations as well.
+
+#include "../tests.h"
+
+#include "sd_common_tests/batch_optimizer_05.h"
+
+int
+main()
+{
+  initlog();
+
+  const enum SD::OptimizerType     opt_method = SD::OptimizerType::llvm;
+  const enum SD::OptimizationFlags opt_flags =
+    SD::OptimizationFlags::optimize_default;
+
+  const int dim = 2;
+  run_tests<dim, opt_method, opt_flags>();
+}
diff --git a/tests/symengine/batch_optimizer_05_3a.with_symengine_with_llvm.output b/tests/symengine/batch_optimizer_05_3a.with_symengine_with_llvm.output
new file mode 100644 (file)
index 0000000..1a2a377
--- /dev/null
@@ -0,0 +1,16 @@
+
+DEAL:Serialization:Float::symb_s: 1.5 + 1.5*(1.0*y_00*y_11 - 1.0*y_01*y_10)*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10)) + sin(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01))
+DEAL:Serialization:Float::symb_ds_dy: 0.0 - 1.5*y_11 + 1.5*y_11*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_00*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_11 0.0 + 1.5*y_10 - 1.5*y_10*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_01*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) - 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_10 0.0 + 1.5*y_01 - 1.5*y_01*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_01*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) - 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_01 0.0 - 1.5*y_00 + 1.5*y_00*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_11*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_00
+DEAL:Serialization:Float:Optimisation + substitution::evaluation:   s: 733.146  ds_dx: 1803.38  ds_dy: 4021.22 -2721.50 -2073.14 2076.41  ds_dz: 1.67425 1.97851 1.97851 2.69685
+DEAL:Serialization:Float:Optimisation + substitution::Evaluation (pre-serialization):   s: 733.146  ds_dx: 1803.38  ds_dy: 4021.22 -2721.50 -2073.14 2076.41  ds_dz: 1.67425 1.97851 1.97851 2.69685
+DEAL:Serialization:Float:Optimisation + substitution::Serializing...
+DEAL:Serialization:Float:Optimisation + substitution::Checking deserialisation...
+DEAL:Serialization:Float:Optimisation + substitution::Evaluation (post-serialization):   s: 733.146  ds_dx: 1803.38  ds_dy: 4021.22 -2721.50 -2073.14 2076.41  ds_dz: 1.67425 1.97851 1.97851 2.69685
+DEAL:Serialization:Double::symb_s: 1.5 + 1.5*(1.0*y_00*y_11 - 1.0*y_01*y_10)*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10)) + sin(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01))
+DEAL:Serialization:Double::symb_ds_dy: 0.0 - 1.5*y_11 + 1.5*y_11*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_00*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_11 0.0 + 1.5*y_10 - 1.5*y_10*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_01*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) - 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_10 0.0 + 1.5*y_01 - 1.5*y_01*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_01*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) - 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_01 0.0 - 1.5*y_00 + 1.5*y_00*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_11*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_00
+DEAL:Serialization:Double:Optimisation + substitution::evaluation:   s: 733.145  ds_dx: 1803.37  ds_dy: 4021.22 -2721.50 -2073.13 2076.41  ds_dz: 1.67425 1.97851 1.97851 2.69686
+DEAL:Serialization:Double:Optimisation + substitution::Evaluation (pre-serialization):   s: 733.145  ds_dx: 1803.37  ds_dy: 4021.22 -2721.50 -2073.13 2076.41  ds_dz: 1.67425 1.97851 1.97851 2.69686
+DEAL:Serialization:Double:Optimisation + substitution::Serializing...
+DEAL:Serialization:Double:Optimisation + substitution::Checking deserialisation...
+DEAL:Serialization:Double:Optimisation + substitution::Evaluation (post-serialization):   s: 733.145  ds_dx: 1803.37  ds_dy: 4021.22 -2721.50 -2073.13 2076.41  ds_dz: 1.67425 1.97851 1.97851 2.69686
+DEAL::OK
diff --git a/tests/symengine/batch_optimizer_05_3b.cc b/tests/symengine/batch_optimizer_05_3b.cc
new file mode 100644 (file)
index 0000000..3e192ba
--- /dev/null
@@ -0,0 +1,39 @@
+// ---------------------------------------------------------------------
+//
+// Copyright (C) 2020 by the deal.II authors
+//
+// This file is part of the deal.II library.
+//
+// The deal.II library is free software; you can use it, redistribute
+// it, and/or modify it under the terms of the GNU Lesser General
+// Public License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+// The full text of the license can be found in the file LICENSE at
+// the top level of the deal.II distribution.
+//
+// ---------------------------------------------------------------------
+
+
+// Check that serialization for the BatchOptimizer works as expected.
+// In this test, we destroy only the optimizer and keep the other expressions
+// that were used to initialize it.
+//
+// Here we invoke the LLVM optimizer before symbolic evaluation takes place,
+// as well as all additional symbolic optimizations.
+
+#include "../tests.h"
+
+#include "sd_common_tests/batch_optimizer_05.h"
+
+int
+main()
+{
+  initlog();
+
+  const enum SD::OptimizerType     opt_method = SD::OptimizerType::llvm;
+  const enum SD::OptimizationFlags opt_flags =
+    SD::OptimizationFlags::optimize_all;
+
+  const int dim = 2;
+  run_tests<dim, opt_method, opt_flags>();
+}
diff --git a/tests/symengine/batch_optimizer_05_3b.with_symengine_with_llvm.output b/tests/symengine/batch_optimizer_05_3b.with_symengine_with_llvm.output
new file mode 100644 (file)
index 0000000..dcd6aec
--- /dev/null
@@ -0,0 +1,16 @@
+
+DEAL:Serialization:Float::symb_s: 1.5 + 1.5*(1.0*y_00*y_11 - 1.0*y_01*y_10)*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10)) + sin(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01))
+DEAL:Serialization:Float::symb_ds_dy: 0.0 - 1.5*y_11 + 1.5*y_11*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_00*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_11 0.0 + 1.5*y_10 - 1.5*y_10*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_01*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) - 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_10 0.0 + 1.5*y_01 - 1.5*y_01*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_01*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) - 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_01 0.0 - 1.5*y_00 + 1.5*y_00*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_11*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_00
+DEAL:Serialization:Float:Optimisation + substitution::evaluation:   s: 733.146  ds_dx: 1803.38  ds_dy: 4021.22 -2721.50 -2073.13 2076.41  ds_dz: 1.67425 1.97851 1.97851 2.69685
+DEAL:Serialization:Float:Optimisation + substitution::Evaluation (pre-serialization):   s: 733.146  ds_dx: 1803.38  ds_dy: 4021.22 -2721.50 -2073.13 2076.41  ds_dz: 1.67425 1.97851 1.97851 2.69685
+DEAL:Serialization:Float:Optimisation + substitution::Serializing...
+DEAL:Serialization:Float:Optimisation + substitution::Checking deserialisation...
+DEAL:Serialization:Float:Optimisation + substitution::Evaluation (post-serialization):   s: 733.146  ds_dx: 1803.38  ds_dy: 4021.22 -2721.50 -2073.13 2076.41  ds_dz: 1.67425 1.97851 1.97851 2.69685
+DEAL:Serialization:Double::symb_s: 1.5 + 1.5*(1.0*y_00*y_11 - 1.0*y_01*y_10)*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10)) + sin(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01))
+DEAL:Serialization:Double::symb_ds_dy: 0.0 - 1.5*y_11 + 1.5*y_11*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_00*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_11 0.0 + 1.5*y_10 - 1.5*y_10*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_01*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) - 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_10 0.0 + 1.5*y_01 - 1.5*y_01*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_01*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) - 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_01 0.0 - 1.5*y_00 + 1.5*y_00*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_11*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_00
+DEAL:Serialization:Double:Optimisation + substitution::evaluation:   s: 733.145  ds_dx: 1803.37  ds_dy: 4021.22 -2721.50 -2073.13 2076.41  ds_dz: 1.67425 1.97851 1.97851 2.69686
+DEAL:Serialization:Double:Optimisation + substitution::Evaluation (pre-serialization):   s: 733.145  ds_dx: 1803.37  ds_dy: 4021.22 -2721.50 -2073.13 2076.41  ds_dz: 1.67425 1.97851 1.97851 2.69686
+DEAL:Serialization:Double:Optimisation + substitution::Serializing...
+DEAL:Serialization:Double:Optimisation + substitution::Checking deserialisation...
+DEAL:Serialization:Double:Optimisation + substitution::Evaluation (post-serialization):   s: 733.145  ds_dx: 1803.37  ds_dy: 4021.22 -2721.50 -2073.13 2076.41  ds_dz: 1.67425 1.97851 1.97851 2.69686
+DEAL::OK
diff --git a/tests/symengine/batch_optimizer_06_1a.cc b/tests/symengine/batch_optimizer_06_1a.cc
new file mode 100644 (file)
index 0000000..28d65eb
--- /dev/null
@@ -0,0 +1,39 @@
+// ---------------------------------------------------------------------
+//
+// Copyright (C) 2020 by the deal.II authors
+//
+// This file is part of the deal.II library.
+//
+// The deal.II library is free software; you can use it, redistribute
+// it, and/or modify it under the terms of the GNU Lesser General
+// Public License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+// The full text of the license can be found in the file LICENSE at
+// the top level of the deal.II distribution.
+//
+// ---------------------------------------------------------------------
+
+
+// Check that serialization for the BatchOptimizer works as expected.
+// In this test, we destroy the optimizer as well as all other expressions
+// and symbols that were used in the creation of the optimizer.
+//
+// Here we use only dictionary substitution, and invoke no symbolic
+// optimizations.
+
+#include "../tests.h"
+
+#include "sd_common_tests/batch_optimizer_06.h"
+
+int
+main()
+{
+  initlog();
+
+  const enum SD::OptimizerType     opt_method = SD::OptimizerType::dictionary;
+  const enum SD::OptimizationFlags opt_flags =
+    SD::OptimizationFlags::optimize_default;
+
+  const int dim = 2;
+  run_tests<dim, opt_method, opt_flags>();
+}
diff --git a/tests/symengine/batch_optimizer_06_1a.output b/tests/symengine/batch_optimizer_06_1a.output
new file mode 100644 (file)
index 0000000..72e15d6
--- /dev/null
@@ -0,0 +1,62 @@
+
+DEAL:Serialization:Float::symb_s: 1.5 + 1.5*(1.0*y_00*y_11 - 1.0*y_01*y_10)*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10)) + sin(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01))
+DEAL:Serialization:Float::symb_ds_dy: 0.0 - 1.5*y_11 + 1.5*y_11*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_00*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_11 0.0 + 1.5*y_10 - 1.5*y_10*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_01*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) - 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_10 0.0 + 1.5*y_01 - 1.5*y_01*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_01*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) - 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_01 0.0 - 1.5*y_00 + 1.5*y_00*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_11*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_00
+DEAL:Serialization:Float:Optimisation + substitution::evaluation:   s: 733.145  ds_dx: 1803.38  ds_dy: 4021.22 -2721.50 -2073.13 2076.41  ds_dz: 1.67425 1.97850 1.97850 2.69685
+DEAL:Serialization:Float:Optimisation + substitution::Evaluation (pre-serialization):   s: 733.145  ds_dx: 1803.38  ds_dy: 4021.22 -2721.50 -2073.13 2076.41  ds_dz: 1.67425 1.97850 1.97850 2.69685
+DEAL:Serialization:Float:Optimisation + substitution::Serializing...
+DEAL:Serialization:Float:Optimisation + substitution::Serialized optimizer: 
+DEAL:Serialization:Float:Optimisation + substitution::0 0 0 0 0 0 8 0 0 0 0 0 1 x 3 2.5 4 z_11 16 5.69999980926514 4 z_00 16 4.69999980926514 4 z_01 16 5.69999980926514 4 y_01 16 3.20000004768372 4 y_00 16 3.20000004768372 4 y_11 16 6.19999980926514 4 y_10 16 4.19999980926514 0 0 9 0 235 1.5 + 1.5*(1.0*y_00*y_11 - 1.0*y_01*y_10)*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10)) + sin(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) 81 2.0*x**(-1 + 1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*(1.0*y_00*y_11 - 1.0*y_01*y_10) 254 0.0 - 1.5*y_11 + 1.5*y_11*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_00*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_11 254 0.0 + 1.5*y_10 - 1.5*y_10*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_01*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) - 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_10 254 0.0 + 1.5*y_01 - 1.5*y_01*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_01*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) - 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_01 254 0.0 - 1.5*y_00 + 1.5*y_00*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_11*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_00 169 0.666666666666667*y_00*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 3.0*z_00*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2) 169 0.666666666666667*y_11*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 3.0*z_11*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2) 198 0.5*(0.666666666666667*(0.0 + 1.0*y_01 + 1.0*y_10)*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 6.0*z_01*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2)) 9 0 7.331452026e+02 1.803375122e+03 4.021220947e+03 -2.721500244e+03 -2.073134033e+03 2.076409668e+03 1.674245715e+00 2.696845293e+00 1.978502989e+00 0 0 9 0 0 0 169 0.666666666666667*y_00*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 3.0*z_00*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2) 6 169 0.666666666666667*y_11*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 3.0*z_11*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2) 7 254 0.0 - 1.5*y_11 + 1.5*y_11*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_00*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_11 2 254 0.0 - 1.5*y_00 + 1.5*y_00*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_11*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_00 5 254 0.0 + 1.5*y_01 - 1.5*y_01*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_01*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) - 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_01 4 254 0.0 + 1.5*y_10 - 1.5*y_10*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_01*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) - 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_10 3 81 2.0*x**(-1 + 1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*(1.0*y_00*y_11 - 1.0*y_01*y_10) 1 235 1.5 + 1.5*(1.0*y_00*y_11 - 1.0*y_01*y_10)*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10)) + sin(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) 0 198 0.5*(0.666666666666667*(0.0 + 1.0*y_01 + 1.0*y_10)*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 6.0*z_01*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2)) 8 1 1 8 0 1 x 4 z_11 4 z_00 4 z_01 4 y_01 4 y_00 4 y_11 4 y_10 0 0 0 0 0 0 9 0 235 1.5 + 1.5*(1.0*y_00*y_11 - 1.0*y_01*y_10)*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10)) + sin(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) 81 2.0*x**(-1 + 1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*(1.0*y_00*y_11 - 1.0*y_01*y_10) 254 0.0 - 1.5*y_11 + 1.5*y_11*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_00*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_11 254 0.0 + 1.5*y_10 - 1.5*y_10*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_01*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) - 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_10 254 0.0 + 1.5*y_01 - 1.5*y_01*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_01*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) - 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_01 254 0.0 - 1.5*y_00 + 1.5*y_00*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_11*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_00 169 0.666666666666667*y_00*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 3.0*z_00*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2) 169 0.666666666666667*y_11*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 3.0*z_11*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2) 198 0.5*(0.666666666666667*(0.0 + 1.0*y_01 + 1.0*y_10)*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 6.0*z_01*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2))
+
+DEAL:Serialization:Float:Optimisation + substitution::symb_s: 1.5 + 1.5*(1.0*y_00*y_11 - 1.0*y_01*y_10)*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10)) + sin(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01))
+DEAL:Serialization:Float:Optimisation + substitution::symb_ds_dy: 0.0 - 1.5*y_11 + 1.5*y_11*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_00*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_11 0.0 + 1.5*y_10 - 1.5*y_10*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_01*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) - 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_10 0.0 + 1.5*y_01 - 1.5*y_01*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_01*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) - 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_01 0.0 - 1.5*y_00 + 1.5*y_00*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_11*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_00
+DEAL:Serialization:Float:Optimisation + substitution::Deserializing...
+DEAL:Serialization:Float:Optimisation + substitution::Deserialized optimizer: 
+DEAL:Serialization:Float:Optimisation + substitution::0 0 0 0 0 0 8 0 0 0 0 0 1 x 3 2.5 4 z_11 16 5.69999980926514 4 z_00 16 4.69999980926514 4 z_01 16 5.69999980926514 4 y_01 16 3.20000004768372 4 y_00 16 3.20000004768372 4 y_11 16 6.19999980926514 4 y_10 16 4.19999980926514 0 0 9 0 235 1.5 + 1.5*(1.0*y_00*y_11 - 1.0*y_01*y_10)*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10)) + sin(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) 81 2.0*x**(-1 + 1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*(1.0*y_00*y_11 - 1.0*y_01*y_10) 249 -1.5*y_11 + 1.5*y_11*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_00*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_11 248 1.5*y_10 - 1.5*y_10*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_01*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) - 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_10 248 1.5*y_01 - 1.5*y_01*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_01*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) - 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_01 249 -1.5*y_00 + 1.5*y_00*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_11*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_00 169 0.666666666666667*y_00*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 3.0*z_00*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2) 169 0.666666666666667*y_11*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 3.0*z_11*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2) 192 0.5*(0.666666666666667*(1.0*y_01 + 1.0*y_10)*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 6.0*z_01*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2)) 9 0 7.331452026e+02 1.803375122e+03 4.021220947e+03 -2.721500244e+03 -2.073134033e+03 2.076409668e+03 1.674245715e+00 2.696845293e+00 1.978502989e+00 0 0 9 0 0 0 169 0.666666666666667*y_00*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 3.0*z_00*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2) 6 169 0.666666666666667*y_11*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 3.0*z_11*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2) 7 249 -1.5*y_11 + 1.5*y_11*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_00*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_11 2 249 -1.5*y_00 + 1.5*y_00*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_11*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_00 5 192 0.5*(0.666666666666667*(1.0*y_01 + 1.0*y_10)*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 6.0*z_01*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2)) 8 248 1.5*y_10 - 1.5*y_10*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_01*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) - 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_10 3 248 1.5*y_01 - 1.5*y_01*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_01*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) - 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_01 4 81 2.0*x**(-1 + 1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*(1.0*y_00*y_11 - 1.0*y_01*y_10) 1 235 1.5 + 1.5*(1.0*y_00*y_11 - 1.0*y_01*y_10)*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10)) + sin(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) 0 1 1 8 0 1 x 4 z_11 4 z_00 4 z_01 4 y_01 4 y_00 4 y_11 4 y_10 0 0 0 0 0 0 9 0 235 1.5 + 1.5*(1.0*y_00*y_11 - 1.0*y_01*y_10)*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10)) + sin(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) 81 2.0*x**(-1 + 1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*(1.0*y_00*y_11 - 1.0*y_01*y_10) 249 -1.5*y_11 + 1.5*y_11*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_00*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_11 248 1.5*y_10 - 1.5*y_10*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_01*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) - 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_10 248 1.5*y_01 - 1.5*y_01*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_01*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) - 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_01 249 -1.5*y_00 + 1.5*y_00*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_11*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_00 169 0.666666666666667*y_00*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 3.0*z_00*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2) 169 0.666666666666667*y_11*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 3.0*z_11*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2) 192 0.5*(0.666666666666667*(1.0*y_01 + 1.0*y_10)*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 6.0*z_01*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2))
+DEAL:Serialization:Float:Optimisation + substitution::Checking deserialisation...
+DEAL:Serialization:Float:Optimisation + substitution::Evaluation (post-serialization):   s: 733.145  ds_dx: 1803.38  ds_dy: 4021.22 -2721.50 -2073.13 2076.41  ds_dz: 1.67425 1.97850 1.97850 2.69685
+DEAL:Serialization:Double::symb_s: 1.5 + 1.5*(1.0*y_00*y_11 - 1.0*y_01*y_10)*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10)) + sin(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01))
+DEAL:Serialization:Double::symb_ds_dy: 0.0 - 1.5*y_11 + 1.5*y_11*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_00*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_11 0.0 + 1.5*y_10 - 1.5*y_10*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_01*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) - 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_10 0.0 + 1.5*y_01 - 1.5*y_01*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_01*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) - 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_01 0.0 - 1.5*y_00 + 1.5*y_00*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_11*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_00
+DEAL:Serialization:Double:Optimisation + substitution::evaluation:   s: 733.145  ds_dx: 1803.37  ds_dy: 4021.22 -2721.50 -2073.13 2076.41  ds_dz: 1.67425 1.97851 1.97851 2.69686
+DEAL:Serialization:Double:Optimisation + substitution::Evaluation (pre-serialization):   s: 733.145  ds_dx: 1803.37  ds_dy: 4021.22 -2721.50 -2073.13 2076.41  ds_dz: 1.67425 1.97851 1.97851 2.69686
+DEAL:Serialization:Double:Optimisation + substitution::Serializing...
+DEAL:Serialization:Double:Optimisation + substitution::Serialized optimizer: 
+DEAL:Serialization:Double:Optimisation + substitution::0 0 0 0 0 0 8 0 0 0 0 0 1 x 3 2.5 4 z_11 3 5.7 4 z_00 3 4.7 4 z_01 3 5.7 4 y_01 3 3.2 4 y_00 3 3.2 4 y_11 3 6.2 4 y_10 3 4.2 0 0 9 0 235 1.5 + 1.5*(1.0*y_00*y_11 - 1.0*y_01*y_10)*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10)) + sin(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) 81 2.0*x**(-1 + 1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*(1.0*y_00*y_11 - 1.0*y_01*y_10) 254 0.0 - 1.5*y_11 + 1.5*y_11*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_00*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_11 254 0.0 + 1.5*y_10 - 1.5*y_10*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_01*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) - 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_10 254 0.0 + 1.5*y_01 - 1.5*y_01*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_01*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) - 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_01 254 0.0 - 1.5*y_00 + 1.5*y_00*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_11*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_00 169 0.666666666666667*y_00*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 3.0*z_00*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2) 169 0.666666666666667*y_11*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 3.0*z_11*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2) 198 0.5*(0.666666666666667*(0.0 + 1.0*y_01 + 1.0*y_10)*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 6.0*z_01*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2)) 9 0 7.33145160811001688e+02 1.80337488238402102e+03 4.02122068318208676e+03 -2.72150003931949686e+03 -2.07313387957113946e+03 2.07640954281834865e+03 1.67425190103196075e+00 2.69685737072851328e+00 1.97851016739322949e+00 0 0 9 0 0 0 169 0.666666666666667*y_00*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 3.0*z_00*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2) 6 169 0.666666666666667*y_11*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 3.0*z_11*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2) 7 254 0.0 - 1.5*y_11 + 1.5*y_11*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_00*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_11 2 254 0.0 - 1.5*y_00 + 1.5*y_00*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_11*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_00 5 254 0.0 + 1.5*y_01 - 1.5*y_01*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_01*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) - 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_01 4 254 0.0 + 1.5*y_10 - 1.5*y_10*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_01*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) - 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_10 3 81 2.0*x**(-1 + 1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*(1.0*y_00*y_11 - 1.0*y_01*y_10) 1 235 1.5 + 1.5*(1.0*y_00*y_11 - 1.0*y_01*y_10)*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10)) + sin(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) 0 198 0.5*(0.666666666666667*(0.0 + 1.0*y_01 + 1.0*y_10)*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 6.0*z_01*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2)) 8 1 1 8 0 1 x 4 z_11 4 z_00 4 z_01 4 y_01 4 y_00 4 y_11 4 y_10 0 0 0 0 0 0 9 0 235 1.5 + 1.5*(1.0*y_00*y_11 - 1.0*y_01*y_10)*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10)) + sin(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) 81 2.0*x**(-1 + 1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*(1.0*y_00*y_11 - 1.0*y_01*y_10) 254 0.0 - 1.5*y_11 + 1.5*y_11*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_00*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_11 254 0.0 + 1.5*y_10 - 1.5*y_10*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_01*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) - 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_10 254 0.0 + 1.5*y_01 - 1.5*y_01*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_01*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) - 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_01 254 0.0 - 1.5*y_00 + 1.5*y_00*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_11*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_00 169 0.666666666666667*y_00*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 3.0*z_00*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2) 169 0.666666666666667*y_11*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 3.0*z_11*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2) 198 0.5*(0.666666666666667*(0.0 + 1.0*y_01 + 1.0*y_10)*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 6.0*z_01*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2))
+
+DEAL:Serialization:Double:Optimisation + substitution::symb_s: 1.5 + 1.5*(1.0*y_00*y_11 - 1.0*y_01*y_10)*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10)) + sin(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01))
+DEAL:Serialization:Double:Optimisation + substitution::symb_ds_dy: 0.0 - 1.5*y_11 + 1.5*y_11*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_00*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_11 0.0 + 1.5*y_10 - 1.5*y_10*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_01*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) - 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_10 0.0 + 1.5*y_01 - 1.5*y_01*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_01*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) - 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_01 0.0 - 1.5*y_00 + 1.5*y_00*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_11*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_00
+DEAL:Serialization:Double:Optimisation + substitution::Deserializing...
+DEAL:Serialization:Double:Optimisation + substitution::Deserialized optimizer: 
+DEAL:Serialization:Double:Optimisation + substitution::0 0 0 0 0 0 8 0 0 0 0 0 1 x 3 2.5 4 z_11 3 5.7 4 z_00 3 4.7 4 z_01 3 5.7 4 y_01 3 3.2 4 y_00 3 3.2 4 y_11 3 6.2 4 y_10 3 4.2 0 0 9 0 235 1.5 + 1.5*(1.0*y_00*y_11 - 1.0*y_01*y_10)*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10)) + sin(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) 81 2.0*x**(-1 + 1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*(1.0*y_00*y_11 - 1.0*y_01*y_10) 249 -1.5*y_11 + 1.5*y_11*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_00*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_11 248 1.5*y_10 - 1.5*y_10*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_01*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) - 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_10 248 1.5*y_01 - 1.5*y_01*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_01*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) - 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_01 249 -1.5*y_00 + 1.5*y_00*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_11*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_00 169 0.666666666666667*y_00*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 3.0*z_00*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2) 169 0.666666666666667*y_11*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 3.0*z_11*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2) 192 0.5*(0.666666666666667*(1.0*y_01 + 1.0*y_10)*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 6.0*z_01*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2)) 9 0 7.33145160811001688e+02 1.80337488238402102e+03 4.02122068318208676e+03 -2.72150003931949686e+03 -2.07313387957113946e+03 2.07640954281834865e+03 1.67425190103196075e+00 2.69685737072851328e+00 1.97851016739322949e+00 0 0 9 0 0 0 169 0.666666666666667*y_00*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 3.0*z_00*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2) 6 169 0.666666666666667*y_11*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 3.0*z_11*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2) 7 249 -1.5*y_11 + 1.5*y_11*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_00*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_11 2 249 -1.5*y_00 + 1.5*y_00*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_11*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_00 5 192 0.5*(0.666666666666667*(1.0*y_01 + 1.0*y_10)*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 6.0*z_01*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2)) 8 248 1.5*y_10 - 1.5*y_10*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_01*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) - 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_10 3 248 1.5*y_01 - 1.5*y_01*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_01*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) - 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_01 4 81 2.0*x**(-1 + 1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*(1.0*y_00*y_11 - 1.0*y_01*y_10) 1 235 1.5 + 1.5*(1.0*y_00*y_11 - 1.0*y_01*y_10)*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10)) + sin(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) 0 1 1 8 0 1 x 4 z_11 4 z_00 4 z_01 4 y_01 4 y_00 4 y_11 4 y_10 0 0 0 0 0 0 9 0 235 1.5 + 1.5*(1.0*y_00*y_11 - 1.0*y_01*y_10)*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10)) + sin(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) 81 2.0*x**(-1 + 1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*(1.0*y_00*y_11 - 1.0*y_01*y_10) 249 -1.5*y_11 + 1.5*y_11*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_00*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_11 248 1.5*y_10 - 1.5*y_10*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_01*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) - 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_10 248 1.5*y_01 - 1.5*y_01*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_01*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) - 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_01 249 -1.5*y_00 + 1.5*y_00*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_11*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_00 169 0.666666666666667*y_00*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 3.0*z_00*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2) 169 0.666666666666667*y_11*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 3.0*z_11*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2) 192 0.5*(0.666666666666667*(1.0*y_01 + 1.0*y_10)*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 6.0*z_01*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2))
+DEAL:Serialization:Double:Optimisation + substitution::Checking deserialisation...
+DEAL:Serialization:Double:Optimisation + substitution::Evaluation (post-serialization):   s: 733.145  ds_dx: 1803.37  ds_dy: 4021.22 -2721.50 -2073.13 2076.41  ds_dz: 1.67425 1.97851 1.97851 2.69686
+DEAL:Serialization:Complex float::symb_s: 1.5 + 0.0*I + (1.5 + 0.0*I)*(1.0*y_00*y_11 - 1.0*y_01*y_10)*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10)) + sin((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01))
+DEAL:Serialization:Complex float::symb_ds_dy: 0.0 + 0.0*I + (-1.5 + 0.0*I)*y_11 + (1.5 + 0.0*I)*y_11*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_00*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_11 0.0 + 0.0*I + (1.5 + 0.0*I)*y_10 + (-1.5 + 0.0*I)*y_10*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_01*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (-2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_10 0.0 + 0.0*I + (1.5 + 0.0*I)*y_01 + (-1.5 + 0.0*I)*y_01*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_01*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (-2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_01 0.0 + 0.0*I + (-1.5 + 0.0*I)*y_00 + (1.5 + 0.0*I)*y_00*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_11*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_00
+DEAL:Serialization:Complex float:Optimisation + substitution::evaluation:   s: (733.145,0.00000)  ds_dx: (1803.38,0.00000)  ds_dy: (4021.22,0.00000) (-2721.50,0.00000) (-2073.13,0.00000) (2076.41,0.00000)  ds_dz: (1.67425,0.00000) (1.97850,0.00000) (1.97850,0.00000) (2.69685,0.00000)
+DEAL:Serialization:Complex float:Optimisation + substitution::Evaluation (pre-serialization):   s: (733.145,0.00000)  ds_dx: (1803.38,0.00000)  ds_dy: (4021.22,0.00000) (-2721.50,0.00000) (-2073.13,0.00000) (2076.41,0.00000)  ds_dz: (1.67425,0.00000) (1.97850,0.00000) (1.97850,0.00000) (2.69685,0.00000)
+DEAL:Serialization:Complex float:Optimisation + substitution::Serializing...
+DEAL:Serialization:Complex float:Optimisation + substitution::Serialized optimizer: 
+DEAL:Serialization:Complex float:Optimisation + substitution::0 0 0 0 0 0 8 0 0 0 0 0 1 x 3 2.5 4 z_11 24 5.69999980926514 + 0.0*I 4 z_00 24 4.69999980926514 + 0.0*I 4 z_01 24 5.69999980926514 + 0.0*I 4 y_01 24 3.20000004768372 + 0.0*I 4 y_00 24 3.20000004768372 + 0.0*I 4 y_11 24 6.19999980926514 + 0.0*I 4 y_10 24 4.19999980926514 + 0.0*I 0 0 9 0 273 1.5 + 0.0*I + (1.5 + 0.0*I)*(1.0*y_00*y_11 - 1.0*y_01*y_10)*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10)) + sin((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) 91 (2.0 + 0.0*I)*x**(-1 + 1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*(1.0*y_00*y_11 - 1.0*y_01*y_10) 314 0.0 + 0.0*I + (-1.5 + 0.0*I)*y_11 + (1.5 + 0.0*I)*y_11*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_00*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_11 316 0.0 + 0.0*I + (1.5 + 0.0*I)*y_10 + (-1.5 + 0.0*I)*y_10*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_01*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (-2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_10 316 0.0 + 0.0*I + (1.5 + 0.0*I)*y_01 + (-1.5 + 0.0*I)*y_01*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_01*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (-2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_01 314 0.0 + 0.0*I + (-1.5 + 0.0*I)*y_00 + (1.5 + 0.0*I)*y_00*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_11*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_00 199 (0.666666666666667 + 0.0*I)*y_00*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (3.0 + 0.0*I)*z_00*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2) 199 (0.666666666666667 + 0.0*I)*y_11*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (3.0 + 0.0*I)*z_11*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2) 228 0.5*((0.666666666666667 + 0.0*I)*(0.0 + 1.0*y_01 + 1.0*y_10)*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (6.0 + 0.0*I)*z_01*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2)) 0 0 9 0 7.331452026e+02 0.000000000e+00 1.803375122e+03 0.000000000e+00 4.021220947e+03 0.000000000e+00 -2.721500244e+03 0.000000000e+00 -2.073134033e+03 0.000000000e+00 2.076409668e+03 0.000000000e+00 1.674245715e+00 0.000000000e+00 2.696845293e+00 0.000000000e+00 1.978502989e+00 0.000000000e+00 0 0 9 0 0 0 314 0.0 + 0.0*I + (-1.5 + 0.0*I)*y_11 + (1.5 + 0.0*I)*y_11*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_00*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_11 2 314 0.0 + 0.0*I + (-1.5 + 0.0*I)*y_00 + (1.5 + 0.0*I)*y_00*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_11*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_00 5 91 (2.0 + 0.0*I)*x**(-1 + 1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*(1.0*y_00*y_11 - 1.0*y_01*y_10) 1 273 1.5 + 0.0*I + (1.5 + 0.0*I)*(1.0*y_00*y_11 - 1.0*y_01*y_10)*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10)) + sin((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) 0 316 0.0 + 0.0*I + (1.5 + 0.0*I)*y_01 + (-1.5 + 0.0*I)*y_01*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_01*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (-2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_01 4 316 0.0 + 0.0*I + (1.5 + 0.0*I)*y_10 + (-1.5 + 0.0*I)*y_10*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_01*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (-2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_10 3 228 0.5*((0.666666666666667 + 0.0*I)*(0.0 + 1.0*y_01 + 1.0*y_10)*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (6.0 + 0.0*I)*z_01*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2)) 8 199 (0.666666666666667 + 0.0*I)*y_11*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (3.0 + 0.0*I)*z_11*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2) 7 199 (0.666666666666667 + 0.0*I)*y_00*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (3.0 + 0.0*I)*z_00*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2) 6 1 1 8 0 1 x 4 z_11 4 z_00 4 z_01 4 y_01 4 y_00 4 y_11 4 y_10 0 0 0 0 0 0 9 0 273 1.5 + 0.0*I + (1.5 + 0.0*I)*(1.0*y_00*y_11 - 1.0*y_01*y_10)*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10)) + sin((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) 91 (2.0 + 0.0*I)*x**(-1 + 1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*(1.0*y_00*y_11 - 1.0*y_01*y_10) 314 0.0 + 0.0*I + (-1.5 + 0.0*I)*y_11 + (1.5 + 0.0*I)*y_11*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_00*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_11 316 0.0 + 0.0*I + (1.5 + 0.0*I)*y_10 + (-1.5 + 0.0*I)*y_10*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_01*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (-2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_10 316 0.0 + 0.0*I + (1.5 + 0.0*I)*y_01 + (-1.5 + 0.0*I)*y_01*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_01*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (-2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_01 314 0.0 + 0.0*I + (-1.5 + 0.0*I)*y_00 + (1.5 + 0.0*I)*y_00*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_11*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_00 199 (0.666666666666667 + 0.0*I)*y_00*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (3.0 + 0.0*I)*z_00*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2) 199 (0.666666666666667 + 0.0*I)*y_11*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (3.0 + 0.0*I)*z_11*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2) 228 0.5*((0.666666666666667 + 0.0*I)*(0.0 + 1.0*y_01 + 1.0*y_10)*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (6.0 + 0.0*I)*z_01*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2))
+
+DEAL:Serialization:Complex float:Optimisation + substitution::symb_s: 1.5 + 0.0*I + (1.5 + 0.0*I)*(1.0*y_00*y_11 - 1.0*y_01*y_10)*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10)) + sin((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01))
+DEAL:Serialization:Complex float:Optimisation + substitution::symb_ds_dy: 0.0 + 0.0*I + (-1.5 + 0.0*I)*y_11 + (1.5 + 0.0*I)*y_11*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_00*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_11 0.0 + 0.0*I + (1.5 + 0.0*I)*y_10 + (-1.5 + 0.0*I)*y_10*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_01*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (-2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_10 0.0 + 0.0*I + (1.5 + 0.0*I)*y_01 + (-1.5 + 0.0*I)*y_01*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_01*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (-2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_01 0.0 + 0.0*I + (-1.5 + 0.0*I)*y_00 + (1.5 + 0.0*I)*y_00*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_11*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_00
+DEAL:Serialization:Complex float:Optimisation + substitution::Deserializing...
+DEAL:Serialization:Complex float:Optimisation + substitution::Deserialized optimizer: 
+DEAL:Serialization:Complex float:Optimisation + substitution::0 0 0 0 0 0 8 0 0 0 0 0 1 x 3 2.5 4 z_11 24 5.69999980926514 + 0.0*I 4 z_00 24 4.69999980926514 + 0.0*I 4 z_01 24 5.69999980926514 + 0.0*I 4 y_01 24 3.20000004768372 + 0.0*I 4 y_00 24 3.20000004768372 + 0.0*I 4 y_11 24 6.19999980926514 + 0.0*I 4 y_10 24 4.19999980926514 + 0.0*I 0 0 9 0 273 1.5 + 0.0*I + (1.5 + 0.0*I)*(1.0*y_00*y_11 - 1.0*y_01*y_10)*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10)) + sin((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) 91 (2.0 + 0.0*I)*x**(-1 + 1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*(1.0*y_00*y_11 - 1.0*y_01*y_10) 300 (-1.5 + 0.0*I)*y_11 + (1.5 + 0.0*I)*y_11*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_00*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_11 302 (1.5 + 0.0*I)*y_10 + (-1.5 + 0.0*I)*y_10*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_01*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (-2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_10 302 (1.5 + 0.0*I)*y_01 + (-1.5 + 0.0*I)*y_01*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_01*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (-2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_01 300 (-1.5 + 0.0*I)*y_00 + (1.5 + 0.0*I)*y_00*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_11*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_00 199 (0.666666666666667 + 0.0*I)*y_00*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (3.0 + 0.0*I)*z_00*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2) 199 (0.666666666666667 + 0.0*I)*y_11*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (3.0 + 0.0*I)*z_11*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2) 222 0.5*((0.666666666666667 + 0.0*I)*(1.0*y_01 + 1.0*y_10)*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (6.0 + 0.0*I)*z_01*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2)) 0 0 9 0 7.331452026e+02 0.000000000e+00 1.803375122e+03 0.000000000e+00 4.021220947e+03 0.000000000e+00 -2.721500244e+03 0.000000000e+00 -2.073134033e+03 0.000000000e+00 2.076409668e+03 0.000000000e+00 1.674245715e+00 0.000000000e+00 2.696845293e+00 0.000000000e+00 1.978502989e+00 0.000000000e+00 0 0 9 0 0 0 300 (-1.5 + 0.0*I)*y_00 + (1.5 + 0.0*I)*y_00*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_11*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_00 5 300 (-1.5 + 0.0*I)*y_11 + (1.5 + 0.0*I)*y_11*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_00*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_11 2 91 (2.0 + 0.0*I)*x**(-1 + 1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*(1.0*y_00*y_11 - 1.0*y_01*y_10) 1 222 0.5*((0.666666666666667 + 0.0*I)*(1.0*y_01 + 1.0*y_10)*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (6.0 + 0.0*I)*z_01*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2)) 8 273 1.5 + 0.0*I + (1.5 + 0.0*I)*(1.0*y_00*y_11 - 1.0*y_01*y_10)*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10)) + sin((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) 0 302 (1.5 + 0.0*I)*y_01 + (-1.5 + 0.0*I)*y_01*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_01*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (-2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_01 4 302 (1.5 + 0.0*I)*y_10 + (-1.5 + 0.0*I)*y_10*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_01*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (-2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_10 3 199 (0.666666666666667 + 0.0*I)*y_11*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (3.0 + 0.0*I)*z_11*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2) 7 199 (0.666666666666667 + 0.0*I)*y_00*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (3.0 + 0.0*I)*z_00*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2) 6 1 1 8 0 1 x 4 z_11 4 z_00 4 z_01 4 y_01 4 y_00 4 y_11 4 y_10 0 0 0 0 0 0 9 0 273 1.5 + 0.0*I + (1.5 + 0.0*I)*(1.0*y_00*y_11 - 1.0*y_01*y_10)*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10)) + sin((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) 91 (2.0 + 0.0*I)*x**(-1 + 1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*(1.0*y_00*y_11 - 1.0*y_01*y_10) 300 (-1.5 + 0.0*I)*y_11 + (1.5 + 0.0*I)*y_11*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_00*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_11 302 (1.5 + 0.0*I)*y_10 + (-1.5 + 0.0*I)*y_10*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_01*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (-2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_10 302 (1.5 + 0.0*I)*y_01 + (-1.5 + 0.0*I)*y_01*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_01*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (-2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_01 300 (-1.5 + 0.0*I)*y_00 + (1.5 + 0.0*I)*y_00*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_11*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_00 199 (0.666666666666667 + 0.0*I)*y_00*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (3.0 + 0.0*I)*z_00*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2) 199 (0.666666666666667 + 0.0*I)*y_11*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (3.0 + 0.0*I)*z_11*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2) 222 0.5*((0.666666666666667 + 0.0*I)*(1.0*y_01 + 1.0*y_10)*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (6.0 + 0.0*I)*z_01*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2))
+DEAL:Serialization:Complex float:Optimisation + substitution::Checking deserialisation...
+DEAL:Serialization:Complex float:Optimisation + substitution::Evaluation (post-serialization):   s: (733.145,0.00000)  ds_dx: (1803.38,0.00000)  ds_dy: (4021.22,0.00000) (-2721.50,0.00000) (-2073.13,0.00000) (2076.41,0.00000)  ds_dz: (1.67425,0.00000) (1.97850,0.00000) (1.97850,0.00000) (2.69685,0.00000)
+DEAL:Serialization:Complex double::symb_s: 1.5 + 0.0*I + (1.5 + 0.0*I)*(1.0*y_00*y_11 - 1.0*y_01*y_10)*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10)) + sin((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01))
+DEAL:Serialization:Complex double::symb_ds_dy: 0.0 + 0.0*I + (-1.5 + 0.0*I)*y_11 + (1.5 + 0.0*I)*y_11*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_00*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_11 0.0 + 0.0*I + (1.5 + 0.0*I)*y_10 + (-1.5 + 0.0*I)*y_10*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_01*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (-2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_10 0.0 + 0.0*I + (1.5 + 0.0*I)*y_01 + (-1.5 + 0.0*I)*y_01*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_01*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (-2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_01 0.0 + 0.0*I + (-1.5 + 0.0*I)*y_00 + (1.5 + 0.0*I)*y_00*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_11*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_00
+DEAL:Serialization:Complex double:Optimisation + substitution::evaluation:   s: (733.145,0.00000)  ds_dx: (1803.37,0.00000)  ds_dy: (4021.22,0.00000) (-2721.50,0.00000) (-2073.13,0.00000) (2076.41,0.00000)  ds_dz: (1.67425,0.00000) (1.97851,0.00000) (1.97851,0.00000) (2.69686,0.00000)
+DEAL:Serialization:Complex double:Optimisation + substitution::Evaluation (pre-serialization):   s: (733.145,0.00000)  ds_dx: (1803.37,0.00000)  ds_dy: (4021.22,0.00000) (-2721.50,0.00000) (-2073.13,0.00000) (2076.41,0.00000)  ds_dz: (1.67425,0.00000) (1.97851,0.00000) (1.97851,0.00000) (2.69686,0.00000)
+DEAL:Serialization:Complex double:Optimisation + substitution::Serializing...
+DEAL:Serialization:Complex double:Optimisation + substitution::Serialized optimizer: 
+DEAL:Serialization:Complex double:Optimisation + substitution::0 0 0 0 0 0 8 0 0 0 0 0 1 x 3 2.5 4 z_11 11 5.7 + 0.0*I 4 z_00 11 4.7 + 0.0*I 4 z_01 11 5.7 + 0.0*I 4 y_01 11 3.2 + 0.0*I 4 y_00 11 3.2 + 0.0*I 4 y_11 11 6.2 + 0.0*I 4 y_10 11 4.2 + 0.0*I 0 0 9 0 273 1.5 + 0.0*I + (1.5 + 0.0*I)*(1.0*y_00*y_11 - 1.0*y_01*y_10)*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10)) + sin((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) 91 (2.0 + 0.0*I)*x**(-1 + 1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*(1.0*y_00*y_11 - 1.0*y_01*y_10) 314 0.0 + 0.0*I + (-1.5 + 0.0*I)*y_11 + (1.5 + 0.0*I)*y_11*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_00*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_11 316 0.0 + 0.0*I + (1.5 + 0.0*I)*y_10 + (-1.5 + 0.0*I)*y_10*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_01*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (-2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_10 316 0.0 + 0.0*I + (1.5 + 0.0*I)*y_01 + (-1.5 + 0.0*I)*y_01*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_01*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (-2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_01 314 0.0 + 0.0*I + (-1.5 + 0.0*I)*y_00 + (1.5 + 0.0*I)*y_00*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_11*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_00 199 (0.666666666666667 + 0.0*I)*y_00*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (3.0 + 0.0*I)*z_00*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2) 199 (0.666666666666667 + 0.0*I)*y_11*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (3.0 + 0.0*I)*z_11*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2) 228 0.5*((0.666666666666667 + 0.0*I)*(0.0 + 1.0*y_01 + 1.0*y_10)*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (6.0 + 0.0*I)*z_01*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2)) 0 0 9 0 7.33145160811001915e+02 0.00000000000000000e+00 1.80337488238402216e+03 0.00000000000000000e+00 4.02122068318208903e+03 0.00000000000000000e+00 -2.72150003931949823e+03 0.00000000000000000e+00 -2.07313387957114037e+03 0.00000000000000000e+00 2.07640954281834911e+03 0.00000000000000000e+00 1.67425190103196053e+00 0.00000000000000000e+00 2.69685737072851328e+00 0.00000000000000000e+00 1.97851016739322927e+00 0.00000000000000000e+00 0 0 9 0 0 0 314 0.0 + 0.0*I + (-1.5 + 0.0*I)*y_11 + (1.5 + 0.0*I)*y_11*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_00*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_11 2 314 0.0 + 0.0*I + (-1.5 + 0.0*I)*y_00 + (1.5 + 0.0*I)*y_00*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_11*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_00 5 91 (2.0 + 0.0*I)*x**(-1 + 1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*(1.0*y_00*y_11 - 1.0*y_01*y_10) 1 273 1.5 + 0.0*I + (1.5 + 0.0*I)*(1.0*y_00*y_11 - 1.0*y_01*y_10)*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10)) + sin((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) 0 316 0.0 + 0.0*I + (1.5 + 0.0*I)*y_01 + (-1.5 + 0.0*I)*y_01*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_01*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (-2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_01 4 316 0.0 + 0.0*I + (1.5 + 0.0*I)*y_10 + (-1.5 + 0.0*I)*y_10*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_01*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (-2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_10 3 228 0.5*((0.666666666666667 + 0.0*I)*(0.0 + 1.0*y_01 + 1.0*y_10)*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (6.0 + 0.0*I)*z_01*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2)) 8 199 (0.666666666666667 + 0.0*I)*y_11*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (3.0 + 0.0*I)*z_11*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2) 7 199 (0.666666666666667 + 0.0*I)*y_00*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (3.0 + 0.0*I)*z_00*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2) 6 1 1 8 0 1 x 4 z_11 4 z_00 4 z_01 4 y_01 4 y_00 4 y_11 4 y_10 0 0 0 0 0 0 9 0 273 1.5 + 0.0*I + (1.5 + 0.0*I)*(1.0*y_00*y_11 - 1.0*y_01*y_10)*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10)) + sin((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) 91 (2.0 + 0.0*I)*x**(-1 + 1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*(1.0*y_00*y_11 - 1.0*y_01*y_10) 314 0.0 + 0.0*I + (-1.5 + 0.0*I)*y_11 + (1.5 + 0.0*I)*y_11*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_00*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_11 316 0.0 + 0.0*I + (1.5 + 0.0*I)*y_10 + (-1.5 + 0.0*I)*y_10*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_01*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (-2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_10 316 0.0 + 0.0*I + (1.5 + 0.0*I)*y_01 + (-1.5 + 0.0*I)*y_01*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_01*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (-2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_01 314 0.0 + 0.0*I + (-1.5 + 0.0*I)*y_00 + (1.5 + 0.0*I)*y_00*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_11*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_00 199 (0.666666666666667 + 0.0*I)*y_00*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (3.0 + 0.0*I)*z_00*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2) 199 (0.666666666666667 + 0.0*I)*y_11*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (3.0 + 0.0*I)*z_11*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2) 228 0.5*((0.666666666666667 + 0.0*I)*(0.0 + 1.0*y_01 + 1.0*y_10)*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (6.0 + 0.0*I)*z_01*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2))
+
+DEAL:Serialization:Complex double:Optimisation + substitution::symb_s: 1.5 + 0.0*I + (1.5 + 0.0*I)*(1.0*y_00*y_11 - 1.0*y_01*y_10)*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10)) + sin((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01))
+DEAL:Serialization:Complex double:Optimisation + substitution::symb_ds_dy: 0.0 + 0.0*I + (-1.5 + 0.0*I)*y_11 + (1.5 + 0.0*I)*y_11*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_00*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_11 0.0 + 0.0*I + (1.5 + 0.0*I)*y_10 + (-1.5 + 0.0*I)*y_10*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_01*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (-2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_10 0.0 + 0.0*I + (1.5 + 0.0*I)*y_01 + (-1.5 + 0.0*I)*y_01*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_01*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (-2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_01 0.0 + 0.0*I + (-1.5 + 0.0*I)*y_00 + (1.5 + 0.0*I)*y_00*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_11*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_00
+DEAL:Serialization:Complex double:Optimisation + substitution::Deserializing...
+DEAL:Serialization:Complex double:Optimisation + substitution::Deserialized optimizer: 
+DEAL:Serialization:Complex double:Optimisation + substitution::0 0 0 0 0 0 8 0 0 0 0 0 1 x 3 2.5 4 z_11 11 5.7 + 0.0*I 4 z_00 11 4.7 + 0.0*I 4 z_01 11 5.7 + 0.0*I 4 y_01 11 3.2 + 0.0*I 4 y_00 11 3.2 + 0.0*I 4 y_11 11 6.2 + 0.0*I 4 y_10 11 4.2 + 0.0*I 0 0 9 0 273 1.5 + 0.0*I + (1.5 + 0.0*I)*(1.0*y_00*y_11 - 1.0*y_01*y_10)*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10)) + sin((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) 91 (2.0 + 0.0*I)*x**(-1 + 1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*(1.0*y_00*y_11 - 1.0*y_01*y_10) 300 (-1.5 + 0.0*I)*y_11 + (1.5 + 0.0*I)*y_11*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_00*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_11 302 (1.5 + 0.0*I)*y_10 + (-1.5 + 0.0*I)*y_10*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_01*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (-2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_10 302 (1.5 + 0.0*I)*y_01 + (-1.5 + 0.0*I)*y_01*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_01*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (-2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_01 300 (-1.5 + 0.0*I)*y_00 + (1.5 + 0.0*I)*y_00*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_11*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_00 199 (0.666666666666667 + 0.0*I)*y_00*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (3.0 + 0.0*I)*z_00*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2) 199 (0.666666666666667 + 0.0*I)*y_11*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (3.0 + 0.0*I)*z_11*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2) 222 0.5*((0.666666666666667 + 0.0*I)*(1.0*y_01 + 1.0*y_10)*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (6.0 + 0.0*I)*z_01*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2)) 0 0 9 0 7.33145160811001915e+02 0.00000000000000000e+00 1.80337488238402216e+03 0.00000000000000000e+00 4.02122068318208903e+03 0.00000000000000000e+00 -2.72150003931949823e+03 0.00000000000000000e+00 -2.07313387957114037e+03 0.00000000000000000e+00 2.07640954281834911e+03 0.00000000000000000e+00 1.67425190103196053e+00 0.00000000000000000e+00 2.69685737072851328e+00 0.00000000000000000e+00 1.97851016739322927e+00 0.00000000000000000e+00 0 0 9 0 0 0 300 (-1.5 + 0.0*I)*y_00 + (1.5 + 0.0*I)*y_00*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_11*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_00 5 300 (-1.5 + 0.0*I)*y_11 + (1.5 + 0.0*I)*y_11*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_00*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_11 2 91 (2.0 + 0.0*I)*x**(-1 + 1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*(1.0*y_00*y_11 - 1.0*y_01*y_10) 1 222 0.5*((0.666666666666667 + 0.0*I)*(1.0*y_01 + 1.0*y_10)*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (6.0 + 0.0*I)*z_01*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2)) 8 273 1.5 + 0.0*I + (1.5 + 0.0*I)*(1.0*y_00*y_11 - 1.0*y_01*y_10)*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10)) + sin((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) 0 302 (1.5 + 0.0*I)*y_01 + (-1.5 + 0.0*I)*y_01*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_01*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (-2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_01 4 302 (1.5 + 0.0*I)*y_10 + (-1.5 + 0.0*I)*y_10*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_01*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (-2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_10 3 199 (0.666666666666667 + 0.0*I)*y_11*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (3.0 + 0.0*I)*z_11*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2) 7 199 (0.666666666666667 + 0.0*I)*y_00*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (3.0 + 0.0*I)*z_00*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2) 6 1 1 8 0 1 x 4 z_11 4 z_00 4 z_01 4 y_01 4 y_00 4 y_11 4 y_10 0 0 0 0 0 0 9 0 273 1.5 + 0.0*I + (1.5 + 0.0*I)*(1.0*y_00*y_11 - 1.0*y_01*y_10)*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10)) + sin((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) 91 (2.0 + 0.0*I)*x**(-1 + 1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*(1.0*y_00*y_11 - 1.0*y_01*y_10) 300 (-1.5 + 0.0*I)*y_11 + (1.5 + 0.0*I)*y_11*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_00*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_11 302 (1.5 + 0.0*I)*y_10 + (-1.5 + 0.0*I)*y_10*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_01*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (-2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_10 302 (1.5 + 0.0*I)*y_01 + (-1.5 + 0.0*I)*y_01*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_01*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (-2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_01 300 (-1.5 + 0.0*I)*y_00 + (1.5 + 0.0*I)*y_00*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_11*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_00 199 (0.666666666666667 + 0.0*I)*y_00*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (3.0 + 0.0*I)*z_00*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2) 199 (0.666666666666667 + 0.0*I)*y_11*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (3.0 + 0.0*I)*z_11*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2) 222 0.5*((0.666666666666667 + 0.0*I)*(1.0*y_01 + 1.0*y_10)*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (6.0 + 0.0*I)*z_01*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2))
+DEAL:Serialization:Complex double:Optimisation + substitution::Checking deserialisation...
+DEAL:Serialization:Complex double:Optimisation + substitution::Evaluation (post-serialization):   s: (733.145,0.00000)  ds_dx: (1803.37,0.00000)  ds_dy: (4021.22,0.00000) (-2721.50,0.00000) (-2073.13,0.00000) (2076.41,0.00000)  ds_dz: (1.67425,0.00000) (1.97851,0.00000) (1.97851,0.00000) (2.69686,0.00000)
+DEAL::OK
diff --git a/tests/symengine/batch_optimizer_06_1b.cc b/tests/symengine/batch_optimizer_06_1b.cc
new file mode 100644 (file)
index 0000000..95478a4
--- /dev/null
@@ -0,0 +1,39 @@
+// ---------------------------------------------------------------------
+//
+// Copyright (C) 2020 by the deal.II authors
+//
+// This file is part of the deal.II library.
+//
+// The deal.II library is free software; you can use it, redistribute
+// it, and/or modify it under the terms of the GNU Lesser General
+// Public License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+// The full text of the license can be found in the file LICENSE at
+// the top level of the deal.II distribution.
+//
+// ---------------------------------------------------------------------
+
+
+// Check that serialization for the BatchOptimizer works as expected.
+// In this test, we destroy the optimizer as well as all other expressions
+// and symbols that were used in the creation of the optimizer.
+//
+// Here we use only dictionary substitution, but invoke all symbolic
+// optimizations.
+
+#include "../tests.h"
+
+#include "sd_common_tests/batch_optimizer_06.h"
+
+int
+main()
+{
+  initlog();
+
+  const enum SD::OptimizerType     opt_method = SD::OptimizerType::dictionary;
+  const enum SD::OptimizationFlags opt_flags =
+    SD::OptimizationFlags::optimize_all;
+
+  const int dim = 2;
+  run_tests<dim, opt_method, opt_flags>();
+}
diff --git a/tests/symengine/batch_optimizer_06_1b.output b/tests/symengine/batch_optimizer_06_1b.output
new file mode 100644 (file)
index 0000000..38335c3
--- /dev/null
@@ -0,0 +1,62 @@
+
+DEAL:Serialization:Float::symb_s: 1.5 + 1.5*(1.0*y_00*y_11 - 1.0*y_01*y_10)*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10)) + sin(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01))
+DEAL:Serialization:Float::symb_ds_dy: 0.0 - 1.5*y_11 + 1.5*y_11*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_00*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_11 0.0 + 1.5*y_10 - 1.5*y_10*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_01*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) - 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_10 0.0 + 1.5*y_01 - 1.5*y_01*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_01*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) - 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_01 0.0 - 1.5*y_00 + 1.5*y_00*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_11*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_00
+DEAL:Serialization:Float:Optimisation + substitution::evaluation:   s: 733.145  ds_dx: 1803.38  ds_dy: 4021.22 -2721.50 -2073.13 2076.41  ds_dz: 1.67425 1.97851 1.97851 2.69685
+DEAL:Serialization:Float:Optimisation + substitution::Evaluation (pre-serialization):   s: 733.145  ds_dx: 1803.38  ds_dy: 4021.22 -2721.50 -2073.13 2076.41  ds_dz: 1.67425 1.97851 1.97851 2.69685
+DEAL:Serialization:Float:Optimisation + substitution::Serializing...
+DEAL:Serialization:Float:Optimisation + substitution::Serialized optimizer: 
+DEAL:Serialization:Float:Optimisation + substitution::0 0 0 3 0 0 8 0 0 0 0 0 1 x 3 2.5 4 z_11 16 5.69999980926514 4 z_00 16 4.69999980926514 4 z_01 16 5.69999980926514 4 y_01 16 3.20000004768372 4 y_00 16 3.20000004768372 4 y_11 16 6.19999980926514 4 y_10 16 4.19999980926514 0 0 9 0 235 1.5 + 1.5*(1.0*y_00*y_11 - 1.0*y_01*y_10)*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10)) + sin(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) 81 2.0*x**(-1 + 1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*(1.0*y_00*y_11 - 1.0*y_01*y_10) 254 0.0 - 1.5*y_11 + 1.5*y_11*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_00*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_11 254 0.0 + 1.5*y_10 - 1.5*y_10*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_01*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) - 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_10 254 0.0 + 1.5*y_01 - 1.5*y_01*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_01*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) - 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_01 254 0.0 - 1.5*y_00 + 1.5*y_00*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_11*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_00 169 0.666666666666667*y_00*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 3.0*z_00*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2) 169 0.666666666666667*y_11*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 3.0*z_11*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2) 198 0.5*(0.666666666666667*(0.0 + 1.0*y_01 + 1.0*y_10)*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 6.0*z_01*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2)) 9 0 7.331452026e+02 1.803375122e+03 4.021220703e+03 -2.721500000e+03 -2.073134033e+03 2.076409668e+03 1.674248815e+00 2.696851254e+00 1.978506565e+00 0 0 9 0 0 0 169 0.666666666666667*y_00*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 3.0*z_00*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2) 6 169 0.666666666666667*y_11*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 3.0*z_11*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2) 7 254 0.0 - 1.5*y_11 + 1.5*y_11*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_00*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_11 2 254 0.0 - 1.5*y_00 + 1.5*y_00*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_11*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_00 5 254 0.0 + 1.5*y_01 - 1.5*y_01*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_01*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) - 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_01 4 254 0.0 + 1.5*y_10 - 1.5*y_10*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_01*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) - 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_10 3 81 2.0*x**(-1 + 1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*(1.0*y_00*y_11 - 1.0*y_01*y_10) 1 235 1.5 + 1.5*(1.0*y_00*y_11 - 1.0*y_01*y_10)*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10)) + sin(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) 0 198 0.5*(0.666666666666667*(0.0 + 1.0*y_01 + 1.0*y_10)*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 6.0*z_01*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2)) 8 1 1 8 0 1 x 4 z_11 4 z_00 4 z_01 4 y_01 4 y_00 4 y_11 4 y_10 0 0 16 0 0 0 2 x0 66 0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01) 2 x1 8 1.0*y_10 2 x2 24 -x1*y_01 + 1.0*y_00*y_11 2 x3 6 1.0*x2 2 x4 9 2.0*x**x3 2 x5 29 z_00**2 + 2*z_01**2 + z_11**2 2 x6 14 log(1.0*x5/x2) 2 x7 8 1.5*y_11 2 x8 9 log(x)*x4 2 x9 25 0.666666666666667*cos(x0) 3 x10 8 1.5*y_10 3 x11 7 x9*z_01 3 x12 8 1.5*y_01 3 x13 8 1.5*y_00 3 x14 5 x2/x5 3 x15 7 3.0*x14 9 0 30 1.5 + x4 + 1.5*x2*x6 + sin(x0) 19 2.0*x**(-1 + x3)*x2 31 -x7 + x6*x7 + x8*y_11 + x9*z_00 28 x10 + x11 - x6*x10 - x8*y_10 28 x11 + x12 - x6*x12 - x8*y_01 33 -x13 + x6*x13 + x8*y_00 + x9*z_11 18 x15*z_00 + x9*y_00 18 x15*z_11 + x9*y_11 39 0.5*(6.0*x14*z_01 + x9*(x1 + 1.0*y_01)) 0 0
+
+DEAL:Serialization:Float:Optimisation + substitution::symb_s: 1.5 + 1.5*(1.0*y_00*y_11 - 1.0*y_01*y_10)*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10)) + sin(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01))
+DEAL:Serialization:Float:Optimisation + substitution::symb_ds_dy: 0.0 - 1.5*y_11 + 1.5*y_11*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_00*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_11 0.0 + 1.5*y_10 - 1.5*y_10*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_01*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) - 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_10 0.0 + 1.5*y_01 - 1.5*y_01*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_01*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) - 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_01 0.0 - 1.5*y_00 + 1.5*y_00*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_11*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_00
+DEAL:Serialization:Float:Optimisation + substitution::Deserializing...
+DEAL:Serialization:Float:Optimisation + substitution::Deserialized optimizer: 
+DEAL:Serialization:Float:Optimisation + substitution::0 0 0 3 0 0 8 0 0 0 0 0 1 x 3 2.5 4 z_11 16 5.69999980926514 4 z_00 16 4.69999980926514 4 z_01 16 5.69999980926514 4 y_01 16 3.20000004768372 4 y_00 16 3.20000004768372 4 y_11 16 6.19999980926514 4 y_10 16 4.19999980926514 0 0 9 0 235 1.5 + 1.5*(1.0*y_00*y_11 - 1.0*y_01*y_10)*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10)) + sin(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) 81 2.0*x**(-1 + 1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*(1.0*y_00*y_11 - 1.0*y_01*y_10) 249 -1.5*y_11 + 1.5*y_11*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_00*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_11 248 1.5*y_10 - 1.5*y_10*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_01*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) - 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_10 248 1.5*y_01 - 1.5*y_01*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_01*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) - 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_01 249 -1.5*y_00 + 1.5*y_00*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_11*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_00 169 0.666666666666667*y_00*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 3.0*z_00*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2) 169 0.666666666666667*y_11*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 3.0*z_11*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2) 192 0.5*(0.666666666666667*(1.0*y_01 + 1.0*y_10)*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 6.0*z_01*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2)) 9 0 7.331452026e+02 1.803375122e+03 4.021220703e+03 -2.721500000e+03 -2.073134033e+03 2.076409668e+03 1.674248815e+00 2.696851254e+00 1.978506565e+00 0 0 9 0 0 0 169 0.666666666666667*y_00*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 3.0*z_00*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2) 6 169 0.666666666666667*y_11*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 3.0*z_11*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2) 7 249 -1.5*y_11 + 1.5*y_11*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_00*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_11 2 249 -1.5*y_00 + 1.5*y_00*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_11*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_00 5 192 0.5*(0.666666666666667*(1.0*y_01 + 1.0*y_10)*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 6.0*z_01*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2)) 8 248 1.5*y_10 - 1.5*y_10*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_01*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) - 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_10 3 248 1.5*y_01 - 1.5*y_01*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_01*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) - 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_01 4 81 2.0*x**(-1 + 1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*(1.0*y_00*y_11 - 1.0*y_01*y_10) 1 235 1.5 + 1.5*(1.0*y_00*y_11 - 1.0*y_01*y_10)*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10)) + sin(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) 0 1 1 8 0 1 x 4 z_11 4 z_00 4 z_01 4 y_01 4 y_00 4 y_11 4 y_10 0 0 16 0 0 0 2 x0 66 0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01) 2 x1 8 1.0*y_10 2 x2 24 -x1*y_01 + 1.0*y_00*y_11 2 x3 6 1.0*x2 2 x4 9 2.0*x**x3 2 x5 29 z_00**2 + 2*z_01**2 + z_11**2 2 x6 14 log(1.0*x5/x2) 2 x7 8 1.5*y_11 2 x8 9 log(x)*x4 2 x9 25 0.666666666666667*cos(x0) 3 x10 8 1.5*y_10 3 x11 7 x9*z_01 3 x12 8 1.5*y_01 3 x13 8 1.5*y_00 3 x14 5 x2/x5 3 x15 7 3.0*x14 9 0 30 1.5 + x4 + 1.5*x2*x6 + sin(x0) 19 2.0*x**(-1 + x3)*x2 31 -x7 + x6*x7 + x8*y_11 + x9*z_00 28 x10 + x11 - x6*x10 - x8*y_10 28 x11 + x12 - x6*x12 - x8*y_01 33 -x13 + x6*x13 + x8*y_00 + x9*z_11 18 x15*z_00 + x9*y_00 18 x15*z_11 + x9*y_11 39 0.5*(6.0*x14*z_01 + x9*(x1 + 1.0*y_01)) 0 0
+DEAL:Serialization:Float:Optimisation + substitution::Checking deserialisation...
+DEAL:Serialization:Float:Optimisation + substitution::Evaluation (post-serialization):   s: 733.145  ds_dx: 1803.38  ds_dy: 4021.22 -2721.50 -2073.13 2076.41  ds_dz: 1.67425 1.97851 1.97851 2.69685
+DEAL:Serialization:Double::symb_s: 1.5 + 1.5*(1.0*y_00*y_11 - 1.0*y_01*y_10)*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10)) + sin(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01))
+DEAL:Serialization:Double::symb_ds_dy: 0.0 - 1.5*y_11 + 1.5*y_11*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_00*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_11 0.0 + 1.5*y_10 - 1.5*y_10*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_01*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) - 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_10 0.0 + 1.5*y_01 - 1.5*y_01*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_01*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) - 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_01 0.0 - 1.5*y_00 + 1.5*y_00*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_11*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_00
+DEAL:Serialization:Double:Optimisation + substitution::evaluation:   s: 733.145  ds_dx: 1803.37  ds_dy: 4021.22 -2721.50 -2073.13 2076.41  ds_dz: 1.67425 1.97851 1.97851 2.69686
+DEAL:Serialization:Double:Optimisation + substitution::Evaluation (pre-serialization):   s: 733.145  ds_dx: 1803.37  ds_dy: 4021.22 -2721.50 -2073.13 2076.41  ds_dz: 1.67425 1.97851 1.97851 2.69686
+DEAL:Serialization:Double:Optimisation + substitution::Serializing...
+DEAL:Serialization:Double:Optimisation + substitution::Serialized optimizer: 
+DEAL:Serialization:Double:Optimisation + substitution::0 0 0 3 0 0 8 0 0 0 0 0 1 x 3 2.5 4 z_11 3 5.7 4 z_00 3 4.7 4 z_01 3 5.7 4 y_01 3 3.2 4 y_00 3 3.2 4 y_11 3 6.2 4 y_10 3 4.2 0 0 9 0 235 1.5 + 1.5*(1.0*y_00*y_11 - 1.0*y_01*y_10)*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10)) + sin(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) 81 2.0*x**(-1 + 1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*(1.0*y_00*y_11 - 1.0*y_01*y_10) 254 0.0 - 1.5*y_11 + 1.5*y_11*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_00*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_11 254 0.0 + 1.5*y_10 - 1.5*y_10*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_01*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) - 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_10 254 0.0 + 1.5*y_01 - 1.5*y_01*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_01*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) - 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_01 254 0.0 - 1.5*y_00 + 1.5*y_00*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_11*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_00 169 0.666666666666667*y_00*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 3.0*z_00*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2) 169 0.666666666666667*y_11*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 3.0*z_11*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2) 198 0.5*(0.666666666666667*(0.0 + 1.0*y_01 + 1.0*y_10)*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 6.0*z_01*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2)) 9 0 7.33145160811001574e+02 1.80337488238402102e+03 4.02122068318208630e+03 -2.72150003931949686e+03 -2.07313387957113900e+03 2.07640954281834820e+03 1.67425190103196075e+00 2.69685737072851373e+00 1.97851016739322993e+00 0 0 9 0 0 0 169 0.666666666666667*y_00*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 3.0*z_00*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2) 6 169 0.666666666666667*y_11*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 3.0*z_11*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2) 7 254 0.0 - 1.5*y_11 + 1.5*y_11*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_00*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_11 2 254 0.0 - 1.5*y_00 + 1.5*y_00*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_11*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_00 5 254 0.0 + 1.5*y_01 - 1.5*y_01*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_01*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) - 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_01 4 254 0.0 + 1.5*y_10 - 1.5*y_10*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_01*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) - 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_10 3 81 2.0*x**(-1 + 1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*(1.0*y_00*y_11 - 1.0*y_01*y_10) 1 235 1.5 + 1.5*(1.0*y_00*y_11 - 1.0*y_01*y_10)*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10)) + sin(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) 0 198 0.5*(0.666666666666667*(0.0 + 1.0*y_01 + 1.0*y_10)*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 6.0*z_01*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2)) 8 1 1 8 0 1 x 4 z_11 4 z_00 4 z_01 4 y_01 4 y_00 4 y_11 4 y_10 0 0 16 0 0 0 2 x0 66 0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01) 2 x1 8 1.0*y_10 2 x2 24 -x1*y_01 + 1.0*y_00*y_11 2 x3 6 1.0*x2 2 x4 9 2.0*x**x3 2 x5 29 z_00**2 + 2*z_01**2 + z_11**2 2 x6 14 log(1.0*x5/x2) 2 x7 8 1.5*y_11 2 x8 9 log(x)*x4 2 x9 25 0.666666666666667*cos(x0) 3 x10 8 1.5*y_10 3 x11 7 x9*z_01 3 x12 8 1.5*y_01 3 x13 8 1.5*y_00 3 x14 5 x2/x5 3 x15 7 3.0*x14 9 0 30 1.5 + x4 + 1.5*x2*x6 + sin(x0) 19 2.0*x**(-1 + x3)*x2 31 -x7 + x6*x7 + x8*y_11 + x9*z_00 28 x10 + x11 - x6*x10 - x8*y_10 28 x11 + x12 - x6*x12 - x8*y_01 33 -x13 + x6*x13 + x8*y_00 + x9*z_11 18 x15*z_00 + x9*y_00 18 x15*z_11 + x9*y_11 39 0.5*(6.0*x14*z_01 + x9*(x1 + 1.0*y_01)) 0 0
+
+DEAL:Serialization:Double:Optimisation + substitution::symb_s: 1.5 + 1.5*(1.0*y_00*y_11 - 1.0*y_01*y_10)*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10)) + sin(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01))
+DEAL:Serialization:Double:Optimisation + substitution::symb_ds_dy: 0.0 - 1.5*y_11 + 1.5*y_11*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_00*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_11 0.0 + 1.5*y_10 - 1.5*y_10*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_01*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) - 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_10 0.0 + 1.5*y_01 - 1.5*y_01*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_01*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) - 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_01 0.0 - 1.5*y_00 + 1.5*y_00*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_11*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_00
+DEAL:Serialization:Double:Optimisation + substitution::Deserializing...
+DEAL:Serialization:Double:Optimisation + substitution::Deserialized optimizer: 
+DEAL:Serialization:Double:Optimisation + substitution::0 0 0 3 0 0 8 0 0 0 0 0 1 x 3 2.5 4 z_11 3 5.7 4 z_00 3 4.7 4 z_01 3 5.7 4 y_01 3 3.2 4 y_00 3 3.2 4 y_11 3 6.2 4 y_10 3 4.2 0 0 9 0 235 1.5 + 1.5*(1.0*y_00*y_11 - 1.0*y_01*y_10)*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10)) + sin(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) 81 2.0*x**(-1 + 1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*(1.0*y_00*y_11 - 1.0*y_01*y_10) 249 -1.5*y_11 + 1.5*y_11*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_00*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_11 248 1.5*y_10 - 1.5*y_10*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_01*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) - 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_10 248 1.5*y_01 - 1.5*y_01*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_01*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) - 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_01 249 -1.5*y_00 + 1.5*y_00*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_11*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_00 169 0.666666666666667*y_00*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 3.0*z_00*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2) 169 0.666666666666667*y_11*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 3.0*z_11*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2) 192 0.5*(0.666666666666667*(1.0*y_01 + 1.0*y_10)*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 6.0*z_01*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2)) 9 0 7.33145160811001574e+02 1.80337488238402102e+03 4.02122068318208630e+03 -2.72150003931949686e+03 -2.07313387957113900e+03 2.07640954281834820e+03 1.67425190103196075e+00 2.69685737072851373e+00 1.97851016739322993e+00 0 0 9 0 0 0 169 0.666666666666667*y_00*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 3.0*z_00*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2) 6 169 0.666666666666667*y_11*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 3.0*z_11*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2) 7 249 -1.5*y_11 + 1.5*y_11*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_00*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_11 2 249 -1.5*y_00 + 1.5*y_00*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_11*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_00 5 192 0.5*(0.666666666666667*(1.0*y_01 + 1.0*y_10)*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 6.0*z_01*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2)) 8 248 1.5*y_10 - 1.5*y_10*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_01*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) - 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_10 3 248 1.5*y_01 - 1.5*y_01*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_01*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) - 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_01 4 81 2.0*x**(-1 + 1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*(1.0*y_00*y_11 - 1.0*y_01*y_10) 1 235 1.5 + 1.5*(1.0*y_00*y_11 - 1.0*y_01*y_10)*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10)) + sin(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) 0 1 1 8 0 1 x 4 z_11 4 z_00 4 z_01 4 y_01 4 y_00 4 y_11 4 y_10 0 0 16 0 0 0 2 x0 66 0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01) 2 x1 8 1.0*y_10 2 x2 24 -x1*y_01 + 1.0*y_00*y_11 2 x3 6 1.0*x2 2 x4 9 2.0*x**x3 2 x5 29 z_00**2 + 2*z_01**2 + z_11**2 2 x6 14 log(1.0*x5/x2) 2 x7 8 1.5*y_11 2 x8 9 log(x)*x4 2 x9 25 0.666666666666667*cos(x0) 3 x10 8 1.5*y_10 3 x11 7 x9*z_01 3 x12 8 1.5*y_01 3 x13 8 1.5*y_00 3 x14 5 x2/x5 3 x15 7 3.0*x14 9 0 30 1.5 + x4 + 1.5*x2*x6 + sin(x0) 19 2.0*x**(-1 + x3)*x2 31 -x7 + x6*x7 + x8*y_11 + x9*z_00 28 x10 + x11 - x6*x10 - x8*y_10 28 x11 + x12 - x6*x12 - x8*y_01 33 -x13 + x6*x13 + x8*y_00 + x9*z_11 18 x15*z_00 + x9*y_00 18 x15*z_11 + x9*y_11 39 0.5*(6.0*x14*z_01 + x9*(x1 + 1.0*y_01)) 0 0
+DEAL:Serialization:Double:Optimisation + substitution::Checking deserialisation...
+DEAL:Serialization:Double:Optimisation + substitution::Evaluation (post-serialization):   s: 733.145  ds_dx: 1803.37  ds_dy: 4021.22 -2721.50 -2073.13 2076.41  ds_dz: 1.67425 1.97851 1.97851 2.69686
+DEAL:Serialization:Complex float::symb_s: 1.5 + 0.0*I + (1.5 + 0.0*I)*(1.0*y_00*y_11 - 1.0*y_01*y_10)*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10)) + sin((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01))
+DEAL:Serialization:Complex float::symb_ds_dy: 0.0 + 0.0*I + (-1.5 + 0.0*I)*y_11 + (1.5 + 0.0*I)*y_11*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_00*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_11 0.0 + 0.0*I + (1.5 + 0.0*I)*y_10 + (-1.5 + 0.0*I)*y_10*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_01*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (-2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_10 0.0 + 0.0*I + (1.5 + 0.0*I)*y_01 + (-1.5 + 0.0*I)*y_01*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_01*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (-2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_01 0.0 + 0.0*I + (-1.5 + 0.0*I)*y_00 + (1.5 + 0.0*I)*y_00*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_11*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_00
+DEAL:Serialization:Complex float:Optimisation + substitution::evaluation:   s: (733.145,0.00000)  ds_dx: (1803.38,0.00000)  ds_dy: (4021.22,0.00000) (-2721.50,0.00000) (-2073.13,0.00000) (2076.41,0.00000)  ds_dz: (1.67425,0.00000) (1.97851,0.00000) (1.97851,0.00000) (2.69685,0.00000)
+DEAL:Serialization:Complex float:Optimisation + substitution::Evaluation (pre-serialization):   s: (733.145,0.00000)  ds_dx: (1803.38,0.00000)  ds_dy: (4021.22,0.00000) (-2721.50,0.00000) (-2073.13,0.00000) (2076.41,0.00000)  ds_dz: (1.67425,0.00000) (1.97851,0.00000) (1.97851,0.00000) (2.69685,0.00000)
+DEAL:Serialization:Complex float:Optimisation + substitution::Serializing...
+DEAL:Serialization:Complex float:Optimisation + substitution::Serialized optimizer: 
+DEAL:Serialization:Complex float:Optimisation + substitution::0 0 0 3 0 0 8 0 0 0 0 0 1 x 3 2.5 4 z_11 24 5.69999980926514 + 0.0*I 4 z_00 24 4.69999980926514 + 0.0*I 4 z_01 24 5.69999980926514 + 0.0*I 4 y_01 24 3.20000004768372 + 0.0*I 4 y_00 24 3.20000004768372 + 0.0*I 4 y_11 24 6.19999980926514 + 0.0*I 4 y_10 24 4.19999980926514 + 0.0*I 0 0 9 0 273 1.5 + 0.0*I + (1.5 + 0.0*I)*(1.0*y_00*y_11 - 1.0*y_01*y_10)*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10)) + sin((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) 91 (2.0 + 0.0*I)*x**(-1 + 1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*(1.0*y_00*y_11 - 1.0*y_01*y_10) 314 0.0 + 0.0*I + (-1.5 + 0.0*I)*y_11 + (1.5 + 0.0*I)*y_11*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_00*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_11 316 0.0 + 0.0*I + (1.5 + 0.0*I)*y_10 + (-1.5 + 0.0*I)*y_10*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_01*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (-2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_10 316 0.0 + 0.0*I + (1.5 + 0.0*I)*y_01 + (-1.5 + 0.0*I)*y_01*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_01*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (-2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_01 314 0.0 + 0.0*I + (-1.5 + 0.0*I)*y_00 + (1.5 + 0.0*I)*y_00*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_11*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_00 199 (0.666666666666667 + 0.0*I)*y_00*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (3.0 + 0.0*I)*z_00*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2) 199 (0.666666666666667 + 0.0*I)*y_11*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (3.0 + 0.0*I)*z_11*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2) 228 0.5*((0.666666666666667 + 0.0*I)*(0.0 + 1.0*y_01 + 1.0*y_10)*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (6.0 + 0.0*I)*z_01*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2)) 0 0 9 0 7.331452026e+02 0.000000000e+00 1.803375122e+03 0.000000000e+00 4.021220703e+03 0.000000000e+00 -2.721500000e+03 0.000000000e+00 -2.073134033e+03 0.000000000e+00 2.076409668e+03 0.000000000e+00 1.674248815e+00 0.000000000e+00 2.696851254e+00 0.000000000e+00 1.978506565e+00 0.000000000e+00 0 0 9 0 0 0 314 0.0 + 0.0*I + (-1.5 + 0.0*I)*y_11 + (1.5 + 0.0*I)*y_11*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_00*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_11 2 314 0.0 + 0.0*I + (-1.5 + 0.0*I)*y_00 + (1.5 + 0.0*I)*y_00*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_11*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_00 5 91 (2.0 + 0.0*I)*x**(-1 + 1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*(1.0*y_00*y_11 - 1.0*y_01*y_10) 1 273 1.5 + 0.0*I + (1.5 + 0.0*I)*(1.0*y_00*y_11 - 1.0*y_01*y_10)*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10)) + sin((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) 0 316 0.0 + 0.0*I + (1.5 + 0.0*I)*y_01 + (-1.5 + 0.0*I)*y_01*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_01*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (-2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_01 4 316 0.0 + 0.0*I + (1.5 + 0.0*I)*y_10 + (-1.5 + 0.0*I)*y_10*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_01*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (-2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_10 3 228 0.5*((0.666666666666667 + 0.0*I)*(0.0 + 1.0*y_01 + 1.0*y_10)*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (6.0 + 0.0*I)*z_01*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2)) 8 199 (0.666666666666667 + 0.0*I)*y_11*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (3.0 + 0.0*I)*z_11*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2) 7 199 (0.666666666666667 + 0.0*I)*y_00*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (3.0 + 0.0*I)*z_00*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2) 6 1 1 8 0 1 x 4 z_11 4 z_00 4 z_01 4 y_01 4 y_00 4 y_11 4 y_10 0 0 17 0 0 0 2 x0 76 (0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01) 2 x1 8 1.0*y_10 2 x2 24 -x1*y_01 + 1.0*y_00*y_11 2 x3 6 1.0*x2 2 x4 5 x**x3 2 x5 16 (2.0 + 0.0*I)*x4 2 x6 29 z_00**2 + 2*z_01**2 + z_11**2 2 x7 14 log(1.0*x6/x2) 2 x8 16 (1.5 + 0.0*I)*x7 2 x9 6 log(x) 3 x10 5 x5*x9 3 x11 35 (0.666666666666667 + 0.0*I)*cos(x0) 3 x12 21 (-2.0 + 0.0*I)*x4*x9 3 x13 18 (-1.5 + 0.0*I)*x7 3 x14 8 x11*z_01 3 x15 5 x2/x6 3 x16 17 (3.0 + 0.0*I)*x15 9 0 34 1.5 + 0.0*I + x5 + x2*x8 + sin(x0) 29 (2.0 + 0.0*I)*x**(-1 + x3)*x2 52 (-1.5 + 0.0*I)*y_11 + x10*y_11 + x11*z_00 + x8*y_11 46 x14 + (1.5 + 0.0*I)*y_10 + x12*y_10 + x13*y_10 46 x14 + (1.5 + 0.0*I)*y_01 + x12*y_01 + x13*y_01 52 (-1.5 + 0.0*I)*y_00 + x10*y_00 + x11*z_11 + x8*y_00 19 x11*y_00 + x16*z_00 19 x11*y_11 + x16*z_11 50 0.5*(x11*(x1 + 1.0*y_01) + (6.0 + 0.0*I)*x15*z_01) 0 0
+
+DEAL:Serialization:Complex float:Optimisation + substitution::symb_s: 1.5 + 0.0*I + (1.5 + 0.0*I)*(1.0*y_00*y_11 - 1.0*y_01*y_10)*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10)) + sin((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01))
+DEAL:Serialization:Complex float:Optimisation + substitution::symb_ds_dy: 0.0 + 0.0*I + (-1.5 + 0.0*I)*y_11 + (1.5 + 0.0*I)*y_11*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_00*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_11 0.0 + 0.0*I + (1.5 + 0.0*I)*y_10 + (-1.5 + 0.0*I)*y_10*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_01*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (-2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_10 0.0 + 0.0*I + (1.5 + 0.0*I)*y_01 + (-1.5 + 0.0*I)*y_01*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_01*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (-2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_01 0.0 + 0.0*I + (-1.5 + 0.0*I)*y_00 + (1.5 + 0.0*I)*y_00*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_11*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_00
+DEAL:Serialization:Complex float:Optimisation + substitution::Deserializing...
+DEAL:Serialization:Complex float:Optimisation + substitution::Deserialized optimizer: 
+DEAL:Serialization:Complex float:Optimisation + substitution::0 0 0 3 0 0 8 0 0 0 0 0 1 x 3 2.5 4 z_11 24 5.69999980926514 + 0.0*I 4 z_00 24 4.69999980926514 + 0.0*I 4 z_01 24 5.69999980926514 + 0.0*I 4 y_01 24 3.20000004768372 + 0.0*I 4 y_00 24 3.20000004768372 + 0.0*I 4 y_11 24 6.19999980926514 + 0.0*I 4 y_10 24 4.19999980926514 + 0.0*I 0 0 9 0 273 1.5 + 0.0*I + (1.5 + 0.0*I)*(1.0*y_00*y_11 - 1.0*y_01*y_10)*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10)) + sin((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) 91 (2.0 + 0.0*I)*x**(-1 + 1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*(1.0*y_00*y_11 - 1.0*y_01*y_10) 300 (-1.5 + 0.0*I)*y_11 + (1.5 + 0.0*I)*y_11*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_00*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_11 302 (1.5 + 0.0*I)*y_10 + (-1.5 + 0.0*I)*y_10*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_01*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (-2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_10 302 (1.5 + 0.0*I)*y_01 + (-1.5 + 0.0*I)*y_01*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_01*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (-2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_01 300 (-1.5 + 0.0*I)*y_00 + (1.5 + 0.0*I)*y_00*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_11*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_00 199 (0.666666666666667 + 0.0*I)*y_00*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (3.0 + 0.0*I)*z_00*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2) 199 (0.666666666666667 + 0.0*I)*y_11*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (3.0 + 0.0*I)*z_11*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2) 222 0.5*((0.666666666666667 + 0.0*I)*(1.0*y_01 + 1.0*y_10)*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (6.0 + 0.0*I)*z_01*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2)) 0 0 9 0 7.331452026e+02 0.000000000e+00 1.803375122e+03 0.000000000e+00 4.021220703e+03 0.000000000e+00 -2.721500000e+03 0.000000000e+00 -2.073134033e+03 0.000000000e+00 2.076409668e+03 0.000000000e+00 1.674248815e+00 0.000000000e+00 2.696851254e+00 0.000000000e+00 1.978506565e+00 0.000000000e+00 0 0 9 0 0 0 300 (-1.5 + 0.0*I)*y_00 + (1.5 + 0.0*I)*y_00*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_11*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_00 5 300 (-1.5 + 0.0*I)*y_11 + (1.5 + 0.0*I)*y_11*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_00*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_11 2 91 (2.0 + 0.0*I)*x**(-1 + 1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*(1.0*y_00*y_11 - 1.0*y_01*y_10) 1 222 0.5*((0.666666666666667 + 0.0*I)*(1.0*y_01 + 1.0*y_10)*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (6.0 + 0.0*I)*z_01*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2)) 8 273 1.5 + 0.0*I + (1.5 + 0.0*I)*(1.0*y_00*y_11 - 1.0*y_01*y_10)*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10)) + sin((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) 0 302 (1.5 + 0.0*I)*y_01 + (-1.5 + 0.0*I)*y_01*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_01*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (-2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_01 4 302 (1.5 + 0.0*I)*y_10 + (-1.5 + 0.0*I)*y_10*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_01*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (-2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_10 3 199 (0.666666666666667 + 0.0*I)*y_11*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (3.0 + 0.0*I)*z_11*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2) 7 199 (0.666666666666667 + 0.0*I)*y_00*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (3.0 + 0.0*I)*z_00*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2) 6 1 1 8 0 1 x 4 z_11 4 z_00 4 z_01 4 y_01 4 y_00 4 y_11 4 y_10 0 0 17 0 0 0 2 x0 76 (0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01) 2 x1 8 1.0*y_10 2 x2 24 -x1*y_01 + 1.0*y_00*y_11 2 x3 6 1.0*x2 2 x4 5 x**x3 2 x5 16 (2.0 + 0.0*I)*x4 2 x6 29 z_00**2 + 2*z_01**2 + z_11**2 2 x7 14 log(1.0*x6/x2) 2 x8 16 (1.5 + 0.0*I)*x7 2 x9 6 log(x) 3 x10 5 x5*x9 3 x11 35 (0.666666666666667 + 0.0*I)*cos(x0) 3 x12 21 (-2.0 + 0.0*I)*x4*x9 3 x13 18 (-1.5 + 0.0*I)*x7 3 x14 8 x11*z_01 3 x15 5 x2/x6 3 x16 17 (3.0 + 0.0*I)*x15 9 0 34 1.5 + 0.0*I + x5 + x2*x8 + sin(x0) 29 (2.0 + 0.0*I)*x**(-1 + x3)*x2 52 (-1.5 + 0.0*I)*y_11 + x10*y_11 + x11*z_00 + x8*y_11 46 x14 + (1.5 + 0.0*I)*y_10 + x12*y_10 + x13*y_10 46 x14 + (1.5 + 0.0*I)*y_01 + x12*y_01 + x13*y_01 52 (-1.5 + 0.0*I)*y_00 + x10*y_00 + x11*z_11 + x8*y_00 19 x11*y_00 + x16*z_00 19 x11*y_11 + x16*z_11 50 0.5*(x11*(x1 + 1.0*y_01) + (6.0 + 0.0*I)*x15*z_01) 0 0
+DEAL:Serialization:Complex float:Optimisation + substitution::Checking deserialisation...
+DEAL:Serialization:Complex float:Optimisation + substitution::Evaluation (post-serialization):   s: (733.145,0.00000)  ds_dx: (1803.38,0.00000)  ds_dy: (4021.22,0.00000) (-2721.50,0.00000) (-2073.13,0.00000) (2076.41,0.00000)  ds_dz: (1.67425,0.00000) (1.97851,0.00000) (1.97851,0.00000) (2.69685,0.00000)
+DEAL:Serialization:Complex double::symb_s: 1.5 + 0.0*I + (1.5 + 0.0*I)*(1.0*y_00*y_11 - 1.0*y_01*y_10)*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10)) + sin((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01))
+DEAL:Serialization:Complex double::symb_ds_dy: 0.0 + 0.0*I + (-1.5 + 0.0*I)*y_11 + (1.5 + 0.0*I)*y_11*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_00*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_11 0.0 + 0.0*I + (1.5 + 0.0*I)*y_10 + (-1.5 + 0.0*I)*y_10*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_01*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (-2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_10 0.0 + 0.0*I + (1.5 + 0.0*I)*y_01 + (-1.5 + 0.0*I)*y_01*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_01*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (-2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_01 0.0 + 0.0*I + (-1.5 + 0.0*I)*y_00 + (1.5 + 0.0*I)*y_00*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_11*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_00
+DEAL:Serialization:Complex double:Optimisation + substitution::evaluation:   s: (733.145,0.00000)  ds_dx: (1803.37,0.00000)  ds_dy: (4021.22,0.00000) (-2721.50,0.00000) (-2073.13,0.00000) (2076.41,0.00000)  ds_dz: (1.67425,0.00000) (1.97851,0.00000) (1.97851,0.00000) (2.69686,0.00000)
+DEAL:Serialization:Complex double:Optimisation + substitution::Evaluation (pre-serialization):   s: (733.145,0.00000)  ds_dx: (1803.37,0.00000)  ds_dy: (4021.22,0.00000) (-2721.50,0.00000) (-2073.13,0.00000) (2076.41,0.00000)  ds_dz: (1.67425,0.00000) (1.97851,0.00000) (1.97851,0.00000) (2.69686,0.00000)
+DEAL:Serialization:Complex double:Optimisation + substitution::Serializing...
+DEAL:Serialization:Complex double:Optimisation + substitution::Serialized optimizer: 
+DEAL:Serialization:Complex double:Optimisation + substitution::0 0 0 3 0 0 8 0 0 0 0 0 1 x 3 2.5 4 z_11 11 5.7 + 0.0*I 4 z_00 11 4.7 + 0.0*I 4 z_01 11 5.7 + 0.0*I 4 y_01 11 3.2 + 0.0*I 4 y_00 11 3.2 + 0.0*I 4 y_11 11 6.2 + 0.0*I 4 y_10 11 4.2 + 0.0*I 0 0 9 0 273 1.5 + 0.0*I + (1.5 + 0.0*I)*(1.0*y_00*y_11 - 1.0*y_01*y_10)*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10)) + sin((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) 91 (2.0 + 0.0*I)*x**(-1 + 1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*(1.0*y_00*y_11 - 1.0*y_01*y_10) 314 0.0 + 0.0*I + (-1.5 + 0.0*I)*y_11 + (1.5 + 0.0*I)*y_11*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_00*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_11 316 0.0 + 0.0*I + (1.5 + 0.0*I)*y_10 + (-1.5 + 0.0*I)*y_10*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_01*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (-2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_10 316 0.0 + 0.0*I + (1.5 + 0.0*I)*y_01 + (-1.5 + 0.0*I)*y_01*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_01*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (-2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_01 314 0.0 + 0.0*I + (-1.5 + 0.0*I)*y_00 + (1.5 + 0.0*I)*y_00*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_11*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_00 199 (0.666666666666667 + 0.0*I)*y_00*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (3.0 + 0.0*I)*z_00*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2) 199 (0.666666666666667 + 0.0*I)*y_11*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (3.0 + 0.0*I)*z_11*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2) 228 0.5*((0.666666666666667 + 0.0*I)*(0.0 + 1.0*y_01 + 1.0*y_10)*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (6.0 + 0.0*I)*z_01*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2)) 0 0 9 0 7.33145160811002029e+02 0.00000000000000000e+00 1.80337488238402216e+03 0.00000000000000000e+00 4.02122068318208858e+03 0.00000000000000000e+00 -2.72150003931949823e+03 0.00000000000000000e+00 -2.07313387957114037e+03 0.00000000000000000e+00 2.07640954281834911e+03 0.00000000000000000e+00 1.67425190103196053e+00 0.00000000000000000e+00 2.69685737072851328e+00 0.00000000000000000e+00 1.97851016739322949e+00 0.00000000000000000e+00 0 0 9 0 0 0 314 0.0 + 0.0*I + (-1.5 + 0.0*I)*y_11 + (1.5 + 0.0*I)*y_11*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_00*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_11 2 314 0.0 + 0.0*I + (-1.5 + 0.0*I)*y_00 + (1.5 + 0.0*I)*y_00*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_11*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_00 5 91 (2.0 + 0.0*I)*x**(-1 + 1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*(1.0*y_00*y_11 - 1.0*y_01*y_10) 1 273 1.5 + 0.0*I + (1.5 + 0.0*I)*(1.0*y_00*y_11 - 1.0*y_01*y_10)*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10)) + sin((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) 0 316 0.0 + 0.0*I + (1.5 + 0.0*I)*y_01 + (-1.5 + 0.0*I)*y_01*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_01*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (-2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_01 4 316 0.0 + 0.0*I + (1.5 + 0.0*I)*y_10 + (-1.5 + 0.0*I)*y_10*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_01*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (-2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_10 3 228 0.5*((0.666666666666667 + 0.0*I)*(0.0 + 1.0*y_01 + 1.0*y_10)*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (6.0 + 0.0*I)*z_01*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2)) 8 199 (0.666666666666667 + 0.0*I)*y_11*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (3.0 + 0.0*I)*z_11*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2) 7 199 (0.666666666666667 + 0.0*I)*y_00*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (3.0 + 0.0*I)*z_00*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2) 6 1 1 8 0 1 x 4 z_11 4 z_00 4 z_01 4 y_01 4 y_00 4 y_11 4 y_10 0 0 17 0 0 0 2 x0 76 (0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01) 2 x1 8 1.0*y_10 2 x2 24 -x1*y_01 + 1.0*y_00*y_11 2 x3 6 1.0*x2 2 x4 5 x**x3 2 x5 16 (2.0 + 0.0*I)*x4 2 x6 29 z_00**2 + 2*z_01**2 + z_11**2 2 x7 14 log(1.0*x6/x2) 2 x8 16 (1.5 + 0.0*I)*x7 2 x9 6 log(x) 3 x10 5 x5*x9 3 x11 35 (0.666666666666667 + 0.0*I)*cos(x0) 3 x12 21 (-2.0 + 0.0*I)*x4*x9 3 x13 18 (-1.5 + 0.0*I)*x7 3 x14 8 x11*z_01 3 x15 5 x2/x6 3 x16 17 (3.0 + 0.0*I)*x15 9 0 34 1.5 + 0.0*I + x5 + x2*x8 + sin(x0) 29 (2.0 + 0.0*I)*x**(-1 + x3)*x2 52 (-1.5 + 0.0*I)*y_11 + x10*y_11 + x11*z_00 + x8*y_11 46 x14 + (1.5 + 0.0*I)*y_10 + x12*y_10 + x13*y_10 46 x14 + (1.5 + 0.0*I)*y_01 + x12*y_01 + x13*y_01 52 (-1.5 + 0.0*I)*y_00 + x10*y_00 + x11*z_11 + x8*y_00 19 x11*y_00 + x16*z_00 19 x11*y_11 + x16*z_11 50 0.5*(x11*(x1 + 1.0*y_01) + (6.0 + 0.0*I)*x15*z_01) 0 0
+
+DEAL:Serialization:Complex double:Optimisation + substitution::symb_s: 1.5 + 0.0*I + (1.5 + 0.0*I)*(1.0*y_00*y_11 - 1.0*y_01*y_10)*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10)) + sin((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01))
+DEAL:Serialization:Complex double:Optimisation + substitution::symb_ds_dy: 0.0 + 0.0*I + (-1.5 + 0.0*I)*y_11 + (1.5 + 0.0*I)*y_11*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_00*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_11 0.0 + 0.0*I + (1.5 + 0.0*I)*y_10 + (-1.5 + 0.0*I)*y_10*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_01*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (-2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_10 0.0 + 0.0*I + (1.5 + 0.0*I)*y_01 + (-1.5 + 0.0*I)*y_01*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_01*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (-2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_01 0.0 + 0.0*I + (-1.5 + 0.0*I)*y_00 + (1.5 + 0.0*I)*y_00*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_11*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_00
+DEAL:Serialization:Complex double:Optimisation + substitution::Deserializing...
+DEAL:Serialization:Complex double:Optimisation + substitution::Deserialized optimizer: 
+DEAL:Serialization:Complex double:Optimisation + substitution::0 0 0 3 0 0 8 0 0 0 0 0 1 x 3 2.5 4 z_11 11 5.7 + 0.0*I 4 z_00 11 4.7 + 0.0*I 4 z_01 11 5.7 + 0.0*I 4 y_01 11 3.2 + 0.0*I 4 y_00 11 3.2 + 0.0*I 4 y_11 11 6.2 + 0.0*I 4 y_10 11 4.2 + 0.0*I 0 0 9 0 273 1.5 + 0.0*I + (1.5 + 0.0*I)*(1.0*y_00*y_11 - 1.0*y_01*y_10)*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10)) + sin((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) 91 (2.0 + 0.0*I)*x**(-1 + 1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*(1.0*y_00*y_11 - 1.0*y_01*y_10) 300 (-1.5 + 0.0*I)*y_11 + (1.5 + 0.0*I)*y_11*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_00*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_11 302 (1.5 + 0.0*I)*y_10 + (-1.5 + 0.0*I)*y_10*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_01*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (-2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_10 302 (1.5 + 0.0*I)*y_01 + (-1.5 + 0.0*I)*y_01*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_01*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (-2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_01 300 (-1.5 + 0.0*I)*y_00 + (1.5 + 0.0*I)*y_00*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_11*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_00 199 (0.666666666666667 + 0.0*I)*y_00*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (3.0 + 0.0*I)*z_00*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2) 199 (0.666666666666667 + 0.0*I)*y_11*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (3.0 + 0.0*I)*z_11*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2) 222 0.5*((0.666666666666667 + 0.0*I)*(1.0*y_01 + 1.0*y_10)*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (6.0 + 0.0*I)*z_01*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2)) 0 0 9 0 7.33145160811002029e+02 0.00000000000000000e+00 1.80337488238402216e+03 0.00000000000000000e+00 4.02122068318208858e+03 0.00000000000000000e+00 -2.72150003931949823e+03 0.00000000000000000e+00 -2.07313387957114037e+03 0.00000000000000000e+00 2.07640954281834911e+03 0.00000000000000000e+00 1.67425190103196053e+00 0.00000000000000000e+00 2.69685737072851328e+00 0.00000000000000000e+00 1.97851016739322949e+00 0.00000000000000000e+00 0 0 9 0 0 0 300 (-1.5 + 0.0*I)*y_00 + (1.5 + 0.0*I)*y_00*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_11*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_00 5 300 (-1.5 + 0.0*I)*y_11 + (1.5 + 0.0*I)*y_11*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_00*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_11 2 91 (2.0 + 0.0*I)*x**(-1 + 1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*(1.0*y_00*y_11 - 1.0*y_01*y_10) 1 222 0.5*((0.666666666666667 + 0.0*I)*(1.0*y_01 + 1.0*y_10)*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (6.0 + 0.0*I)*z_01*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2)) 8 273 1.5 + 0.0*I + (1.5 + 0.0*I)*(1.0*y_00*y_11 - 1.0*y_01*y_10)*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10)) + sin((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) 0 302 (1.5 + 0.0*I)*y_01 + (-1.5 + 0.0*I)*y_01*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_01*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (-2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_01 4 302 (1.5 + 0.0*I)*y_10 + (-1.5 + 0.0*I)*y_10*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_01*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (-2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_10 3 199 (0.666666666666667 + 0.0*I)*y_11*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (3.0 + 0.0*I)*z_11*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2) 7 199 (0.666666666666667 + 0.0*I)*y_00*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (3.0 + 0.0*I)*z_00*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2) 6 1 1 8 0 1 x 4 z_11 4 z_00 4 z_01 4 y_01 4 y_00 4 y_11 4 y_10 0 0 17 0 0 0 2 x0 76 (0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01) 2 x1 8 1.0*y_10 2 x2 24 -x1*y_01 + 1.0*y_00*y_11 2 x3 6 1.0*x2 2 x4 5 x**x3 2 x5 16 (2.0 + 0.0*I)*x4 2 x6 29 z_00**2 + 2*z_01**2 + z_11**2 2 x7 14 log(1.0*x6/x2) 2 x8 16 (1.5 + 0.0*I)*x7 2 x9 6 log(x) 3 x10 5 x5*x9 3 x11 35 (0.666666666666667 + 0.0*I)*cos(x0) 3 x12 21 (-2.0 + 0.0*I)*x4*x9 3 x13 18 (-1.5 + 0.0*I)*x7 3 x14 8 x11*z_01 3 x15 5 x2/x6 3 x16 17 (3.0 + 0.0*I)*x15 9 0 34 1.5 + 0.0*I + x5 + x2*x8 + sin(x0) 29 (2.0 + 0.0*I)*x**(-1 + x3)*x2 52 (-1.5 + 0.0*I)*y_11 + x10*y_11 + x11*z_00 + x8*y_11 46 x14 + (1.5 + 0.0*I)*y_10 + x12*y_10 + x13*y_10 46 x14 + (1.5 + 0.0*I)*y_01 + x12*y_01 + x13*y_01 52 (-1.5 + 0.0*I)*y_00 + x10*y_00 + x11*z_11 + x8*y_00 19 x11*y_00 + x16*z_00 19 x11*y_11 + x16*z_11 50 0.5*(x11*(x1 + 1.0*y_01) + (6.0 + 0.0*I)*x15*z_01) 0 0
+DEAL:Serialization:Complex double:Optimisation + substitution::Checking deserialisation...
+DEAL:Serialization:Complex double:Optimisation + substitution::Evaluation (post-serialization):   s: (733.145,0.00000)  ds_dx: (1803.37,0.00000)  ds_dy: (4021.22,0.00000) (-2721.50,0.00000) (-2073.13,0.00000) (2076.41,0.00000)  ds_dz: (1.67425,0.00000) (1.97851,0.00000) (1.97851,0.00000) (2.69686,0.00000)
+DEAL::OK
diff --git a/tests/symengine/batch_optimizer_06_2a.cc b/tests/symengine/batch_optimizer_06_2a.cc
new file mode 100644 (file)
index 0000000..b90cc79
--- /dev/null
@@ -0,0 +1,38 @@
+// ---------------------------------------------------------------------
+//
+// Copyright (C) 2020 by the deal.II authors
+//
+// This file is part of the deal.II library.
+//
+// The deal.II library is free software; you can use it, redistribute
+// it, and/or modify it under the terms of the GNU Lesser General
+// Public License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+// The full text of the license can be found in the file LICENSE at
+// the top level of the deal.II distribution.
+//
+// ---------------------------------------------------------------------
+
+
+// Check that serialization for the BatchOptimizer works as expected.
+// In this test, we destroy the optimizer as well as all other expressions
+// and symbols that were used in the creation of the optimizer.
+//
+// Here we use only lambda substitution,and invoke no symbolic optimizations.
+
+#include "../tests.h"
+
+#include "sd_common_tests/batch_optimizer_06.h"
+
+int
+main()
+{
+  initlog();
+
+  const enum SD::OptimizerType     opt_method = SD::OptimizerType::lambda;
+  const enum SD::OptimizationFlags opt_flags =
+    SD::OptimizationFlags::optimize_default;
+
+  const int dim = 2;
+  run_tests<dim, opt_method, opt_flags>();
+}
diff --git a/tests/symengine/batch_optimizer_06_2a.output b/tests/symengine/batch_optimizer_06_2a.output
new file mode 100644 (file)
index 0000000..9ee63b2
--- /dev/null
@@ -0,0 +1,62 @@
+
+DEAL:Serialization:Float::symb_s: 1.5 + 1.5*(1.0*y_00*y_11 - 1.0*y_01*y_10)*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10)) + sin(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01))
+DEAL:Serialization:Float::symb_ds_dy: 0.0 - 1.5*y_11 + 1.5*y_11*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_00*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_11 0.0 + 1.5*y_10 - 1.5*y_10*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_01*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) - 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_10 0.0 + 1.5*y_01 - 1.5*y_01*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_01*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) - 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_01 0.0 - 1.5*y_00 + 1.5*y_00*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_11*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_00
+DEAL:Serialization:Float:Optimisation + substitution::evaluation:   s: 733.145  ds_dx: 1803.38  ds_dy: 4021.22 -2721.50 -2073.13 2076.41  ds_dz: 1.67425 1.97850 1.97850 2.69685
+DEAL:Serialization:Float:Optimisation + substitution::Evaluation (pre-serialization):   s: 733.145  ds_dx: 1803.38  ds_dy: 4021.22 -2721.50 -2073.13 2076.41  ds_dz: 1.67425 1.97850 1.97850 2.69685
+DEAL:Serialization:Float:Optimisation + substitution::Serializing...
+DEAL:Serialization:Float:Optimisation + substitution::Serialized optimizer: 
+DEAL:Serialization:Float:Optimisation + substitution::0 0 1 0 0 0 8 0 0 0 0 0 1 x 3 2.5 4 z_11 16 5.69999980926514 4 z_00 16 4.69999980926514 4 z_01 16 5.69999980926514 4 y_01 16 3.20000004768372 4 y_00 16 3.20000004768372 4 y_11 16 6.19999980926514 4 y_10 16 4.19999980926514 0 0 9 0 235 1.5 + 1.5*(1.0*y_00*y_11 - 1.0*y_01*y_10)*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10)) + sin(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) 81 2.0*x**(-1 + 1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*(1.0*y_00*y_11 - 1.0*y_01*y_10) 254 0.0 - 1.5*y_11 + 1.5*y_11*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_00*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_11 254 0.0 + 1.5*y_10 - 1.5*y_10*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_01*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) - 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_10 254 0.0 + 1.5*y_01 - 1.5*y_01*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_01*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) - 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_01 254 0.0 - 1.5*y_00 + 1.5*y_00*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_11*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_00 169 0.666666666666667*y_00*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 3.0*z_00*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2) 169 0.666666666666667*y_11*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 3.0*z_11*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2) 198 0.5*(0.666666666666667*(0.0 + 1.0*y_01 + 1.0*y_10)*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 6.0*z_01*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2)) 9 0 7.331452026e+02 1.803375122e+03 4.021220947e+03 -2.721500244e+03 -2.073134033e+03 2.076409668e+03 1.674245715e+00 2.696845293e+00 1.978502989e+00 0 0 9 0 0 0 169 0.666666666666667*y_00*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 3.0*z_00*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2) 6 169 0.666666666666667*y_11*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 3.0*z_11*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2) 7 254 0.0 - 1.5*y_11 + 1.5*y_11*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_00*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_11 2 254 0.0 - 1.5*y_00 + 1.5*y_00*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_11*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_00 5 254 0.0 + 1.5*y_01 - 1.5*y_01*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_01*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) - 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_01 4 254 0.0 + 1.5*y_10 - 1.5*y_10*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_01*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) - 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_10 3 81 2.0*x**(-1 + 1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*(1.0*y_00*y_11 - 1.0*y_01*y_10) 1 235 1.5 + 1.5*(1.0*y_00*y_11 - 1.0*y_01*y_10)*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10)) + sin(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) 0 198 0.5*(0.666666666666667*(0.0 + 1.0*y_01 + 1.0*y_10)*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 6.0*z_01*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2)) 8 1 1
+
+DEAL:Serialization:Float:Optimisation + substitution::symb_s: 1.5 + 1.5*(1.0*y_00*y_11 - 1.0*y_01*y_10)*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10)) + sin(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01))
+DEAL:Serialization:Float:Optimisation + substitution::symb_ds_dy: 0.0 - 1.5*y_11 + 1.5*y_11*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_00*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_11 0.0 + 1.5*y_10 - 1.5*y_10*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_01*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) - 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_10 0.0 + 1.5*y_01 - 1.5*y_01*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_01*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) - 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_01 0.0 - 1.5*y_00 + 1.5*y_00*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_11*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_00
+DEAL:Serialization:Float:Optimisation + substitution::Deserializing...
+DEAL:Serialization:Float:Optimisation + substitution::Deserialized optimizer: 
+DEAL:Serialization:Float:Optimisation + substitution::0 0 1 0 0 0 8 0 0 0 0 0 1 x 3 2.5 4 z_11 16 5.69999980926514 4 z_00 16 4.69999980926514 4 z_01 16 5.69999980926514 4 y_01 16 3.20000004768372 4 y_00 16 3.20000004768372 4 y_11 16 6.19999980926514 4 y_10 16 4.19999980926514 0 0 9 0 235 1.5 + 1.5*(1.0*y_00*y_11 - 1.0*y_01*y_10)*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10)) + sin(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) 81 2.0*x**(-1 + 1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*(1.0*y_00*y_11 - 1.0*y_01*y_10) 249 -1.5*y_11 + 1.5*y_11*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_00*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_11 248 1.5*y_10 - 1.5*y_10*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_01*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) - 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_10 248 1.5*y_01 - 1.5*y_01*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_01*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) - 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_01 249 -1.5*y_00 + 1.5*y_00*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_11*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_00 169 0.666666666666667*y_00*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 3.0*z_00*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2) 169 0.666666666666667*y_11*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 3.0*z_11*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2) 192 0.5*(0.666666666666667*(1.0*y_01 + 1.0*y_10)*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 6.0*z_01*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2)) 9 0 7.331452026e+02 1.803375122e+03 4.021220947e+03 -2.721500244e+03 -2.073134033e+03 2.076409668e+03 1.674245715e+00 2.696845293e+00 1.978502989e+00 0 0 9 0 0 0 169 0.666666666666667*y_00*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 3.0*z_00*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2) 6 169 0.666666666666667*y_11*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 3.0*z_11*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2) 7 249 -1.5*y_11 + 1.5*y_11*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_00*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_11 2 249 -1.5*y_00 + 1.5*y_00*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_11*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_00 5 192 0.5*(0.666666666666667*(1.0*y_01 + 1.0*y_10)*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 6.0*z_01*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2)) 8 248 1.5*y_10 - 1.5*y_10*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_01*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) - 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_10 3 248 1.5*y_01 - 1.5*y_01*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_01*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) - 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_01 4 81 2.0*x**(-1 + 1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*(1.0*y_00*y_11 - 1.0*y_01*y_10) 1 235 1.5 + 1.5*(1.0*y_00*y_11 - 1.0*y_01*y_10)*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10)) + sin(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) 0 1 1
+DEAL:Serialization:Float:Optimisation + substitution::Checking deserialisation...
+DEAL:Serialization:Float:Optimisation + substitution::Evaluation (post-serialization):   s: 733.145  ds_dx: 1803.38  ds_dy: 4021.22 -2721.50 -2073.13 2076.41  ds_dz: 1.67425 1.97850 1.97850 2.69685
+DEAL:Serialization:Double::symb_s: 1.5 + 1.5*(1.0*y_00*y_11 - 1.0*y_01*y_10)*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10)) + sin(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01))
+DEAL:Serialization:Double::symb_ds_dy: 0.0 - 1.5*y_11 + 1.5*y_11*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_00*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_11 0.0 + 1.5*y_10 - 1.5*y_10*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_01*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) - 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_10 0.0 + 1.5*y_01 - 1.5*y_01*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_01*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) - 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_01 0.0 - 1.5*y_00 + 1.5*y_00*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_11*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_00
+DEAL:Serialization:Double:Optimisation + substitution::evaluation:   s: 733.145  ds_dx: 1803.37  ds_dy: 4021.22 -2721.50 -2073.13 2076.41  ds_dz: 1.67425 1.97851 1.97851 2.69686
+DEAL:Serialization:Double:Optimisation + substitution::Evaluation (pre-serialization):   s: 733.145  ds_dx: 1803.37  ds_dy: 4021.22 -2721.50 -2073.13 2076.41  ds_dz: 1.67425 1.97851 1.97851 2.69686
+DEAL:Serialization:Double:Optimisation + substitution::Serializing...
+DEAL:Serialization:Double:Optimisation + substitution::Serialized optimizer: 
+DEAL:Serialization:Double:Optimisation + substitution::0 0 1 0 0 0 8 0 0 0 0 0 1 x 3 2.5 4 z_11 3 5.7 4 z_00 3 4.7 4 z_01 3 5.7 4 y_01 3 3.2 4 y_00 3 3.2 4 y_11 3 6.2 4 y_10 3 4.2 0 0 9 0 235 1.5 + 1.5*(1.0*y_00*y_11 - 1.0*y_01*y_10)*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10)) + sin(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) 81 2.0*x**(-1 + 1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*(1.0*y_00*y_11 - 1.0*y_01*y_10) 254 0.0 - 1.5*y_11 + 1.5*y_11*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_00*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_11 254 0.0 + 1.5*y_10 - 1.5*y_10*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_01*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) - 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_10 254 0.0 + 1.5*y_01 - 1.5*y_01*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_01*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) - 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_01 254 0.0 - 1.5*y_00 + 1.5*y_00*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_11*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_00 169 0.666666666666667*y_00*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 3.0*z_00*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2) 169 0.666666666666667*y_11*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 3.0*z_11*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2) 198 0.5*(0.666666666666667*(0.0 + 1.0*y_01 + 1.0*y_10)*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 6.0*z_01*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2)) 9 0 7.33145160811001688e+02 1.80337488238402102e+03 4.02122068318208676e+03 -2.72150003931949686e+03 -2.07313387957113946e+03 2.07640954281834865e+03 1.67425190103196075e+00 2.69685737072851328e+00 1.97851016739322949e+00 0 0 9 0 0 0 169 0.666666666666667*y_00*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 3.0*z_00*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2) 6 169 0.666666666666667*y_11*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 3.0*z_11*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2) 7 254 0.0 - 1.5*y_11 + 1.5*y_11*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_00*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_11 2 254 0.0 - 1.5*y_00 + 1.5*y_00*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_11*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_00 5 254 0.0 + 1.5*y_01 - 1.5*y_01*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_01*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) - 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_01 4 254 0.0 + 1.5*y_10 - 1.5*y_10*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_01*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) - 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_10 3 81 2.0*x**(-1 + 1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*(1.0*y_00*y_11 - 1.0*y_01*y_10) 1 235 1.5 + 1.5*(1.0*y_00*y_11 - 1.0*y_01*y_10)*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10)) + sin(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) 0 198 0.5*(0.666666666666667*(0.0 + 1.0*y_01 + 1.0*y_10)*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 6.0*z_01*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2)) 8 1 1
+
+DEAL:Serialization:Double:Optimisation + substitution::symb_s: 1.5 + 1.5*(1.0*y_00*y_11 - 1.0*y_01*y_10)*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10)) + sin(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01))
+DEAL:Serialization:Double:Optimisation + substitution::symb_ds_dy: 0.0 - 1.5*y_11 + 1.5*y_11*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_00*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_11 0.0 + 1.5*y_10 - 1.5*y_10*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_01*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) - 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_10 0.0 + 1.5*y_01 - 1.5*y_01*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_01*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) - 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_01 0.0 - 1.5*y_00 + 1.5*y_00*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_11*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_00
+DEAL:Serialization:Double:Optimisation + substitution::Deserializing...
+DEAL:Serialization:Double:Optimisation + substitution::Deserialized optimizer: 
+DEAL:Serialization:Double:Optimisation + substitution::0 0 1 0 0 0 8 0 0 0 0 0 1 x 3 2.5 4 z_11 3 5.7 4 z_00 3 4.7 4 z_01 3 5.7 4 y_01 3 3.2 4 y_00 3 3.2 4 y_11 3 6.2 4 y_10 3 4.2 0 0 9 0 235 1.5 + 1.5*(1.0*y_00*y_11 - 1.0*y_01*y_10)*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10)) + sin(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) 81 2.0*x**(-1 + 1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*(1.0*y_00*y_11 - 1.0*y_01*y_10) 249 -1.5*y_11 + 1.5*y_11*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_00*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_11 248 1.5*y_10 - 1.5*y_10*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_01*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) - 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_10 248 1.5*y_01 - 1.5*y_01*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_01*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) - 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_01 249 -1.5*y_00 + 1.5*y_00*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_11*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_00 169 0.666666666666667*y_00*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 3.0*z_00*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2) 169 0.666666666666667*y_11*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 3.0*z_11*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2) 192 0.5*(0.666666666666667*(1.0*y_01 + 1.0*y_10)*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 6.0*z_01*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2)) 9 0 7.33145160811001688e+02 1.80337488238402102e+03 4.02122068318208676e+03 -2.72150003931949686e+03 -2.07313387957113946e+03 2.07640954281834865e+03 1.67425190103196075e+00 2.69685737072851328e+00 1.97851016739322949e+00 0 0 9 0 0 0 169 0.666666666666667*y_00*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 3.0*z_00*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2) 6 169 0.666666666666667*y_11*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 3.0*z_11*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2) 7 249 -1.5*y_11 + 1.5*y_11*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_00*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_11 2 249 -1.5*y_00 + 1.5*y_00*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_11*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_00 5 192 0.5*(0.666666666666667*(1.0*y_01 + 1.0*y_10)*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 6.0*z_01*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2)) 8 248 1.5*y_10 - 1.5*y_10*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_01*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) - 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_10 3 248 1.5*y_01 - 1.5*y_01*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_01*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) - 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_01 4 81 2.0*x**(-1 + 1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*(1.0*y_00*y_11 - 1.0*y_01*y_10) 1 235 1.5 + 1.5*(1.0*y_00*y_11 - 1.0*y_01*y_10)*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10)) + sin(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) 0 1 1
+DEAL:Serialization:Double:Optimisation + substitution::Checking deserialisation...
+DEAL:Serialization:Double:Optimisation + substitution::Evaluation (post-serialization):   s: 733.145  ds_dx: 1803.37  ds_dy: 4021.22 -2721.50 -2073.13 2076.41  ds_dz: 1.67425 1.97851 1.97851 2.69686
+DEAL:Serialization:Complex float::symb_s: 1.5 + 0.0*I + (1.5 + 0.0*I)*(1.0*y_00*y_11 - 1.0*y_01*y_10)*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10)) + sin((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01))
+DEAL:Serialization:Complex float::symb_ds_dy: 0.0 + 0.0*I + (-1.5 + 0.0*I)*y_11 + (1.5 + 0.0*I)*y_11*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_00*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_11 0.0 + 0.0*I + (1.5 + 0.0*I)*y_10 + (-1.5 + 0.0*I)*y_10*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_01*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (-2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_10 0.0 + 0.0*I + (1.5 + 0.0*I)*y_01 + (-1.5 + 0.0*I)*y_01*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_01*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (-2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_01 0.0 + 0.0*I + (-1.5 + 0.0*I)*y_00 + (1.5 + 0.0*I)*y_00*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_11*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_00
+DEAL:Serialization:Complex float:Optimisation + substitution::evaluation:   s: (733.145,0.00000)  ds_dx: (1803.38,0.00000)  ds_dy: (4021.22,0.00000) (-2721.50,0.00000) (-2073.13,0.00000) (2076.41,0.00000)  ds_dz: (1.67425,0.00000) (1.97850,0.00000) (1.97850,0.00000) (2.69685,0.00000)
+DEAL:Serialization:Complex float:Optimisation + substitution::Evaluation (pre-serialization):   s: (733.145,0.00000)  ds_dx: (1803.38,0.00000)  ds_dy: (4021.22,0.00000) (-2721.50,0.00000) (-2073.13,0.00000) (2076.41,0.00000)  ds_dz: (1.67425,0.00000) (1.97850,0.00000) (1.97850,0.00000) (2.69685,0.00000)
+DEAL:Serialization:Complex float:Optimisation + substitution::Serializing...
+DEAL:Serialization:Complex float:Optimisation + substitution::Serialized optimizer: 
+DEAL:Serialization:Complex float:Optimisation + substitution::0 0 1 0 0 0 8 0 0 0 0 0 1 x 3 2.5 4 z_11 24 5.69999980926514 + 0.0*I 4 z_00 24 4.69999980926514 + 0.0*I 4 z_01 24 5.69999980926514 + 0.0*I 4 y_01 24 3.20000004768372 + 0.0*I 4 y_00 24 3.20000004768372 + 0.0*I 4 y_11 24 6.19999980926514 + 0.0*I 4 y_10 24 4.19999980926514 + 0.0*I 0 0 9 0 273 1.5 + 0.0*I + (1.5 + 0.0*I)*(1.0*y_00*y_11 - 1.0*y_01*y_10)*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10)) + sin((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) 91 (2.0 + 0.0*I)*x**(-1 + 1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*(1.0*y_00*y_11 - 1.0*y_01*y_10) 314 0.0 + 0.0*I + (-1.5 + 0.0*I)*y_11 + (1.5 + 0.0*I)*y_11*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_00*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_11 316 0.0 + 0.0*I + (1.5 + 0.0*I)*y_10 + (-1.5 + 0.0*I)*y_10*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_01*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (-2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_10 316 0.0 + 0.0*I + (1.5 + 0.0*I)*y_01 + (-1.5 + 0.0*I)*y_01*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_01*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (-2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_01 314 0.0 + 0.0*I + (-1.5 + 0.0*I)*y_00 + (1.5 + 0.0*I)*y_00*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_11*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_00 199 (0.666666666666667 + 0.0*I)*y_00*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (3.0 + 0.0*I)*z_00*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2) 199 (0.666666666666667 + 0.0*I)*y_11*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (3.0 + 0.0*I)*z_11*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2) 228 0.5*((0.666666666666667 + 0.0*I)*(0.0 + 1.0*y_01 + 1.0*y_10)*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (6.0 + 0.0*I)*z_01*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2)) 0 0 9 0 7.331452026e+02 0.000000000e+00 1.803375122e+03 0.000000000e+00 4.021220947e+03 0.000000000e+00 -2.721500244e+03 0.000000000e+00 -2.073134033e+03 0.000000000e+00 2.076409668e+03 0.000000000e+00 1.674245715e+00 0.000000000e+00 2.696845293e+00 0.000000000e+00 1.978502989e+00 0.000000000e+00 0 0 9 0 0 0 314 0.0 + 0.0*I + (-1.5 + 0.0*I)*y_11 + (1.5 + 0.0*I)*y_11*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_00*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_11 2 314 0.0 + 0.0*I + (-1.5 + 0.0*I)*y_00 + (1.5 + 0.0*I)*y_00*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_11*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_00 5 91 (2.0 + 0.0*I)*x**(-1 + 1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*(1.0*y_00*y_11 - 1.0*y_01*y_10) 1 273 1.5 + 0.0*I + (1.5 + 0.0*I)*(1.0*y_00*y_11 - 1.0*y_01*y_10)*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10)) + sin((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) 0 316 0.0 + 0.0*I + (1.5 + 0.0*I)*y_01 + (-1.5 + 0.0*I)*y_01*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_01*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (-2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_01 4 316 0.0 + 0.0*I + (1.5 + 0.0*I)*y_10 + (-1.5 + 0.0*I)*y_10*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_01*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (-2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_10 3 228 0.5*((0.666666666666667 + 0.0*I)*(0.0 + 1.0*y_01 + 1.0*y_10)*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (6.0 + 0.0*I)*z_01*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2)) 8 199 (0.666666666666667 + 0.0*I)*y_11*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (3.0 + 0.0*I)*z_11*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2) 7 199 (0.666666666666667 + 0.0*I)*y_00*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (3.0 + 0.0*I)*z_00*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2) 6 1 1
+
+DEAL:Serialization:Complex float:Optimisation + substitution::symb_s: 1.5 + 0.0*I + (1.5 + 0.0*I)*(1.0*y_00*y_11 - 1.0*y_01*y_10)*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10)) + sin((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01))
+DEAL:Serialization:Complex float:Optimisation + substitution::symb_ds_dy: 0.0 + 0.0*I + (-1.5 + 0.0*I)*y_11 + (1.5 + 0.0*I)*y_11*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_00*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_11 0.0 + 0.0*I + (1.5 + 0.0*I)*y_10 + (-1.5 + 0.0*I)*y_10*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_01*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (-2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_10 0.0 + 0.0*I + (1.5 + 0.0*I)*y_01 + (-1.5 + 0.0*I)*y_01*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_01*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (-2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_01 0.0 + 0.0*I + (-1.5 + 0.0*I)*y_00 + (1.5 + 0.0*I)*y_00*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_11*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_00
+DEAL:Serialization:Complex float:Optimisation + substitution::Deserializing...
+DEAL:Serialization:Complex float:Optimisation + substitution::Deserialized optimizer: 
+DEAL:Serialization:Complex float:Optimisation + substitution::0 0 1 0 0 0 8 0 0 0 0 0 1 x 3 2.5 4 z_11 24 5.69999980926514 + 0.0*I 4 z_00 24 4.69999980926514 + 0.0*I 4 z_01 24 5.69999980926514 + 0.0*I 4 y_01 24 3.20000004768372 + 0.0*I 4 y_00 24 3.20000004768372 + 0.0*I 4 y_11 24 6.19999980926514 + 0.0*I 4 y_10 24 4.19999980926514 + 0.0*I 0 0 9 0 273 1.5 + 0.0*I + (1.5 + 0.0*I)*(1.0*y_00*y_11 - 1.0*y_01*y_10)*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10)) + sin((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) 91 (2.0 + 0.0*I)*x**(-1 + 1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*(1.0*y_00*y_11 - 1.0*y_01*y_10) 300 (-1.5 + 0.0*I)*y_11 + (1.5 + 0.0*I)*y_11*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_00*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_11 302 (1.5 + 0.0*I)*y_10 + (-1.5 + 0.0*I)*y_10*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_01*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (-2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_10 302 (1.5 + 0.0*I)*y_01 + (-1.5 + 0.0*I)*y_01*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_01*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (-2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_01 300 (-1.5 + 0.0*I)*y_00 + (1.5 + 0.0*I)*y_00*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_11*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_00 199 (0.666666666666667 + 0.0*I)*y_00*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (3.0 + 0.0*I)*z_00*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2) 199 (0.666666666666667 + 0.0*I)*y_11*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (3.0 + 0.0*I)*z_11*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2) 222 0.5*((0.666666666666667 + 0.0*I)*(1.0*y_01 + 1.0*y_10)*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (6.0 + 0.0*I)*z_01*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2)) 0 0 9 0 7.331452026e+02 0.000000000e+00 1.803375122e+03 0.000000000e+00 4.021220947e+03 0.000000000e+00 -2.721500244e+03 0.000000000e+00 -2.073134033e+03 0.000000000e+00 2.076409668e+03 0.000000000e+00 1.674245715e+00 0.000000000e+00 2.696845293e+00 0.000000000e+00 1.978502989e+00 0.000000000e+00 0 0 9 0 0 0 300 (-1.5 + 0.0*I)*y_00 + (1.5 + 0.0*I)*y_00*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_11*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_00 5 300 (-1.5 + 0.0*I)*y_11 + (1.5 + 0.0*I)*y_11*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_00*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_11 2 91 (2.0 + 0.0*I)*x**(-1 + 1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*(1.0*y_00*y_11 - 1.0*y_01*y_10) 1 222 0.5*((0.666666666666667 + 0.0*I)*(1.0*y_01 + 1.0*y_10)*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (6.0 + 0.0*I)*z_01*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2)) 8 273 1.5 + 0.0*I + (1.5 + 0.0*I)*(1.0*y_00*y_11 - 1.0*y_01*y_10)*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10)) + sin((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) 0 302 (1.5 + 0.0*I)*y_01 + (-1.5 + 0.0*I)*y_01*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_01*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (-2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_01 4 302 (1.5 + 0.0*I)*y_10 + (-1.5 + 0.0*I)*y_10*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_01*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (-2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_10 3 199 (0.666666666666667 + 0.0*I)*y_11*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (3.0 + 0.0*I)*z_11*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2) 7 199 (0.666666666666667 + 0.0*I)*y_00*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (3.0 + 0.0*I)*z_00*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2) 6 1 1
+DEAL:Serialization:Complex float:Optimisation + substitution::Checking deserialisation...
+DEAL:Serialization:Complex float:Optimisation + substitution::Evaluation (post-serialization):   s: (733.145,0.00000)  ds_dx: (1803.38,0.00000)  ds_dy: (4021.22,0.00000) (-2721.50,0.00000) (-2073.13,0.00000) (2076.41,0.00000)  ds_dz: (1.67425,0.00000) (1.97850,0.00000) (1.97850,0.00000) (2.69685,0.00000)
+DEAL:Serialization:Complex double::symb_s: 1.5 + 0.0*I + (1.5 + 0.0*I)*(1.0*y_00*y_11 - 1.0*y_01*y_10)*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10)) + sin((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01))
+DEAL:Serialization:Complex double::symb_ds_dy: 0.0 + 0.0*I + (-1.5 + 0.0*I)*y_11 + (1.5 + 0.0*I)*y_11*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_00*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_11 0.0 + 0.0*I + (1.5 + 0.0*I)*y_10 + (-1.5 + 0.0*I)*y_10*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_01*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (-2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_10 0.0 + 0.0*I + (1.5 + 0.0*I)*y_01 + (-1.5 + 0.0*I)*y_01*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_01*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (-2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_01 0.0 + 0.0*I + (-1.5 + 0.0*I)*y_00 + (1.5 + 0.0*I)*y_00*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_11*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_00
+DEAL:Serialization:Complex double:Optimisation + substitution::evaluation:   s: (733.145,0.00000)  ds_dx: (1803.37,0.00000)  ds_dy: (4021.22,0.00000) (-2721.50,0.00000) (-2073.13,0.00000) (2076.41,0.00000)  ds_dz: (1.67425,0.00000) (1.97851,0.00000) (1.97851,0.00000) (2.69686,0.00000)
+DEAL:Serialization:Complex double:Optimisation + substitution::Evaluation (pre-serialization):   s: (733.145,0.00000)  ds_dx: (1803.37,0.00000)  ds_dy: (4021.22,0.00000) (-2721.50,0.00000) (-2073.13,0.00000) (2076.41,0.00000)  ds_dz: (1.67425,0.00000) (1.97851,0.00000) (1.97851,0.00000) (2.69686,0.00000)
+DEAL:Serialization:Complex double:Optimisation + substitution::Serializing...
+DEAL:Serialization:Complex double:Optimisation + substitution::Serialized optimizer: 
+DEAL:Serialization:Complex double:Optimisation + substitution::0 0 1 0 0 0 8 0 0 0 0 0 1 x 3 2.5 4 z_11 11 5.7 + 0.0*I 4 z_00 11 4.7 + 0.0*I 4 z_01 11 5.7 + 0.0*I 4 y_01 11 3.2 + 0.0*I 4 y_00 11 3.2 + 0.0*I 4 y_11 11 6.2 + 0.0*I 4 y_10 11 4.2 + 0.0*I 0 0 9 0 273 1.5 + 0.0*I + (1.5 + 0.0*I)*(1.0*y_00*y_11 - 1.0*y_01*y_10)*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10)) + sin((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) 91 (2.0 + 0.0*I)*x**(-1 + 1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*(1.0*y_00*y_11 - 1.0*y_01*y_10) 314 0.0 + 0.0*I + (-1.5 + 0.0*I)*y_11 + (1.5 + 0.0*I)*y_11*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_00*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_11 316 0.0 + 0.0*I + (1.5 + 0.0*I)*y_10 + (-1.5 + 0.0*I)*y_10*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_01*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (-2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_10 316 0.0 + 0.0*I + (1.5 + 0.0*I)*y_01 + (-1.5 + 0.0*I)*y_01*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_01*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (-2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_01 314 0.0 + 0.0*I + (-1.5 + 0.0*I)*y_00 + (1.5 + 0.0*I)*y_00*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_11*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_00 199 (0.666666666666667 + 0.0*I)*y_00*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (3.0 + 0.0*I)*z_00*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2) 199 (0.666666666666667 + 0.0*I)*y_11*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (3.0 + 0.0*I)*z_11*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2) 228 0.5*((0.666666666666667 + 0.0*I)*(0.0 + 1.0*y_01 + 1.0*y_10)*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (6.0 + 0.0*I)*z_01*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2)) 0 0 9 0 7.33145160811001915e+02 0.00000000000000000e+00 1.80337488238402216e+03 0.00000000000000000e+00 4.02122068318208949e+03 0.00000000000000000e+00 -2.72150003931949823e+03 0.00000000000000000e+00 -2.07313387957114037e+03 0.00000000000000000e+00 2.07640954281834911e+03 0.00000000000000000e+00 1.67425190103196053e+00 0.00000000000000000e+00 2.69685737072851373e+00 0.00000000000000000e+00 1.97851016739322971e+00 0.00000000000000000e+00 0 0 9 0 0 0 314 0.0 + 0.0*I + (-1.5 + 0.0*I)*y_11 + (1.5 + 0.0*I)*y_11*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_00*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_11 2 314 0.0 + 0.0*I + (-1.5 + 0.0*I)*y_00 + (1.5 + 0.0*I)*y_00*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_11*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_00 5 91 (2.0 + 0.0*I)*x**(-1 + 1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*(1.0*y_00*y_11 - 1.0*y_01*y_10) 1 273 1.5 + 0.0*I + (1.5 + 0.0*I)*(1.0*y_00*y_11 - 1.0*y_01*y_10)*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10)) + sin((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) 0 316 0.0 + 0.0*I + (1.5 + 0.0*I)*y_01 + (-1.5 + 0.0*I)*y_01*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_01*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (-2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_01 4 316 0.0 + 0.0*I + (1.5 + 0.0*I)*y_10 + (-1.5 + 0.0*I)*y_10*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_01*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (-2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_10 3 228 0.5*((0.666666666666667 + 0.0*I)*(0.0 + 1.0*y_01 + 1.0*y_10)*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (6.0 + 0.0*I)*z_01*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2)) 8 199 (0.666666666666667 + 0.0*I)*y_11*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (3.0 + 0.0*I)*z_11*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2) 7 199 (0.666666666666667 + 0.0*I)*y_00*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (3.0 + 0.0*I)*z_00*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2) 6 1 1
+
+DEAL:Serialization:Complex double:Optimisation + substitution::symb_s: 1.5 + 0.0*I + (1.5 + 0.0*I)*(1.0*y_00*y_11 - 1.0*y_01*y_10)*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10)) + sin((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01))
+DEAL:Serialization:Complex double:Optimisation + substitution::symb_ds_dy: 0.0 + 0.0*I + (-1.5 + 0.0*I)*y_11 + (1.5 + 0.0*I)*y_11*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_00*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_11 0.0 + 0.0*I + (1.5 + 0.0*I)*y_10 + (-1.5 + 0.0*I)*y_10*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_01*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (-2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_10 0.0 + 0.0*I + (1.5 + 0.0*I)*y_01 + (-1.5 + 0.0*I)*y_01*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_01*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (-2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_01 0.0 + 0.0*I + (-1.5 + 0.0*I)*y_00 + (1.5 + 0.0*I)*y_00*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_11*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_00
+DEAL:Serialization:Complex double:Optimisation + substitution::Deserializing...
+DEAL:Serialization:Complex double:Optimisation + substitution::Deserialized optimizer: 
+DEAL:Serialization:Complex double:Optimisation + substitution::0 0 1 0 0 0 8 0 0 0 0 0 1 x 3 2.5 4 z_11 11 5.7 + 0.0*I 4 z_00 11 4.7 + 0.0*I 4 z_01 11 5.7 + 0.0*I 4 y_01 11 3.2 + 0.0*I 4 y_00 11 3.2 + 0.0*I 4 y_11 11 6.2 + 0.0*I 4 y_10 11 4.2 + 0.0*I 0 0 9 0 273 1.5 + 0.0*I + (1.5 + 0.0*I)*(1.0*y_00*y_11 - 1.0*y_01*y_10)*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10)) + sin((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) 91 (2.0 + 0.0*I)*x**(-1 + 1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*(1.0*y_00*y_11 - 1.0*y_01*y_10) 300 (-1.5 + 0.0*I)*y_11 + (1.5 + 0.0*I)*y_11*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_00*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_11 302 (1.5 + 0.0*I)*y_10 + (-1.5 + 0.0*I)*y_10*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_01*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (-2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_10 302 (1.5 + 0.0*I)*y_01 + (-1.5 + 0.0*I)*y_01*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_01*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (-2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_01 300 (-1.5 + 0.0*I)*y_00 + (1.5 + 0.0*I)*y_00*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_11*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_00 199 (0.666666666666667 + 0.0*I)*y_00*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (3.0 + 0.0*I)*z_00*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2) 199 (0.666666666666667 + 0.0*I)*y_11*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (3.0 + 0.0*I)*z_11*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2) 222 0.5*((0.666666666666667 + 0.0*I)*(1.0*y_01 + 1.0*y_10)*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (6.0 + 0.0*I)*z_01*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2)) 0 0 9 0 7.33145160811001915e+02 0.00000000000000000e+00 1.80337488238402216e+03 0.00000000000000000e+00 4.02122068318208949e+03 0.00000000000000000e+00 -2.72150003931949823e+03 0.00000000000000000e+00 -2.07313387957114037e+03 0.00000000000000000e+00 2.07640954281834911e+03 0.00000000000000000e+00 1.67425190103196053e+00 0.00000000000000000e+00 2.69685737072851373e+00 0.00000000000000000e+00 1.97851016739322971e+00 0.00000000000000000e+00 0 0 9 0 0 0 300 (-1.5 + 0.0*I)*y_00 + (1.5 + 0.0*I)*y_00*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_11*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_00 5 300 (-1.5 + 0.0*I)*y_11 + (1.5 + 0.0*I)*y_11*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_00*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_11 2 91 (2.0 + 0.0*I)*x**(-1 + 1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*(1.0*y_00*y_11 - 1.0*y_01*y_10) 1 222 0.5*((0.666666666666667 + 0.0*I)*(1.0*y_01 + 1.0*y_10)*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (6.0 + 0.0*I)*z_01*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2)) 8 273 1.5 + 0.0*I + (1.5 + 0.0*I)*(1.0*y_00*y_11 - 1.0*y_01*y_10)*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10)) + sin((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) 0 302 (1.5 + 0.0*I)*y_01 + (-1.5 + 0.0*I)*y_01*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_01*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (-2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_01 4 302 (1.5 + 0.0*I)*y_10 + (-1.5 + 0.0*I)*y_10*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_01*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (-2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_10 3 199 (0.666666666666667 + 0.0*I)*y_11*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (3.0 + 0.0*I)*z_11*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2) 7 199 (0.666666666666667 + 0.0*I)*y_00*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (3.0 + 0.0*I)*z_00*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2) 6 1 1
+DEAL:Serialization:Complex double:Optimisation + substitution::Checking deserialisation...
+DEAL:Serialization:Complex double:Optimisation + substitution::Evaluation (post-serialization):   s: (733.145,0.00000)  ds_dx: (1803.37,0.00000)  ds_dy: (4021.22,0.00000) (-2721.50,0.00000) (-2073.13,0.00000) (2076.41,0.00000)  ds_dz: (1.67425,0.00000) (1.97851,0.00000) (1.97851,0.00000) (2.69686,0.00000)
+DEAL::OK
diff --git a/tests/symengine/batch_optimizer_06_2b.cc b/tests/symengine/batch_optimizer_06_2b.cc
new file mode 100644 (file)
index 0000000..4a9eb90
--- /dev/null
@@ -0,0 +1,38 @@
+// ---------------------------------------------------------------------
+//
+// Copyright (C) 2020 by the deal.II authors
+//
+// This file is part of the deal.II library.
+//
+// The deal.II library is free software; you can use it, redistribute
+// it, and/or modify it under the terms of the GNU Lesser General
+// Public License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+// The full text of the license can be found in the file LICENSE at
+// the top level of the deal.II distribution.
+//
+// ---------------------------------------------------------------------
+
+
+// Check that serialization for the BatchOptimizer works as expected.
+// In this test, we destroy the optimizer as well as all other expressions
+// and symbols that were used in the creation of the optimizer.
+//
+// Here we use only lambda substitution, but invoke all symbolic optimizations.
+
+#include "../tests.h"
+
+#include "sd_common_tests/batch_optimizer_06.h"
+
+int
+main()
+{
+  initlog();
+
+  const enum SD::OptimizerType     opt_method = SD::OptimizerType::lambda;
+  const enum SD::OptimizationFlags opt_flags =
+    SD::OptimizationFlags::optimize_all;
+
+  const int dim = 2;
+  run_tests<dim, opt_method, opt_flags>();
+}
diff --git a/tests/symengine/batch_optimizer_06_2b.output b/tests/symengine/batch_optimizer_06_2b.output
new file mode 100644 (file)
index 0000000..e647497
--- /dev/null
@@ -0,0 +1,62 @@
+
+DEAL:Serialization:Float::symb_s: 1.5 + 1.5*(1.0*y_00*y_11 - 1.0*y_01*y_10)*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10)) + sin(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01))
+DEAL:Serialization:Float::symb_ds_dy: 0.0 - 1.5*y_11 + 1.5*y_11*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_00*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_11 0.0 + 1.5*y_10 - 1.5*y_10*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_01*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) - 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_10 0.0 + 1.5*y_01 - 1.5*y_01*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_01*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) - 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_01 0.0 - 1.5*y_00 + 1.5*y_00*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_11*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_00
+DEAL:Serialization:Float:Optimisation + substitution::evaluation:   s: 733.145  ds_dx: 1803.38  ds_dy: 4021.22 -2721.50 -2073.13 2076.41  ds_dz: 1.67425 1.97850 1.97850 2.69685
+DEAL:Serialization:Float:Optimisation + substitution::Evaluation (pre-serialization):   s: 733.145  ds_dx: 1803.38  ds_dy: 4021.22 -2721.50 -2073.13 2076.41  ds_dz: 1.67425 1.97850 1.97850 2.69685
+DEAL:Serialization:Float:Optimisation + substitution::Serializing...
+DEAL:Serialization:Float:Optimisation + substitution::Serialized optimizer: 
+DEAL:Serialization:Float:Optimisation + substitution::0 0 1 3 0 0 8 0 0 0 0 0 1 x 3 2.5 4 z_11 16 5.69999980926514 4 z_00 16 4.69999980926514 4 z_01 16 5.69999980926514 4 y_01 16 3.20000004768372 4 y_00 16 3.20000004768372 4 y_11 16 6.19999980926514 4 y_10 16 4.19999980926514 0 0 9 0 235 1.5 + 1.5*(1.0*y_00*y_11 - 1.0*y_01*y_10)*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10)) + sin(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) 81 2.0*x**(-1 + 1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*(1.0*y_00*y_11 - 1.0*y_01*y_10) 254 0.0 - 1.5*y_11 + 1.5*y_11*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_00*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_11 254 0.0 + 1.5*y_10 - 1.5*y_10*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_01*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) - 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_10 254 0.0 + 1.5*y_01 - 1.5*y_01*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_01*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) - 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_01 254 0.0 - 1.5*y_00 + 1.5*y_00*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_11*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_00 169 0.666666666666667*y_00*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 3.0*z_00*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2) 169 0.666666666666667*y_11*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 3.0*z_11*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2) 198 0.5*(0.666666666666667*(0.0 + 1.0*y_01 + 1.0*y_10)*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 6.0*z_01*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2)) 9 0 7.331452026e+02 1.803375122e+03 4.021220947e+03 -2.721500244e+03 -2.073134033e+03 2.076409668e+03 1.674245715e+00 2.696845293e+00 1.978502989e+00 0 0 9 0 0 0 169 0.666666666666667*y_00*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 3.0*z_00*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2) 6 169 0.666666666666667*y_11*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 3.0*z_11*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2) 7 254 0.0 - 1.5*y_11 + 1.5*y_11*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_00*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_11 2 254 0.0 - 1.5*y_00 + 1.5*y_00*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_11*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_00 5 254 0.0 + 1.5*y_01 - 1.5*y_01*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_01*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) - 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_01 4 254 0.0 + 1.5*y_10 - 1.5*y_10*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_01*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) - 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_10 3 81 2.0*x**(-1 + 1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*(1.0*y_00*y_11 - 1.0*y_01*y_10) 1 235 1.5 + 1.5*(1.0*y_00*y_11 - 1.0*y_01*y_10)*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10)) + sin(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) 0 198 0.5*(0.666666666666667*(0.0 + 1.0*y_01 + 1.0*y_10)*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 6.0*z_01*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2)) 8 1 1
+
+DEAL:Serialization:Float:Optimisation + substitution::symb_s: 1.5 + 1.5*(1.0*y_00*y_11 - 1.0*y_01*y_10)*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10)) + sin(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01))
+DEAL:Serialization:Float:Optimisation + substitution::symb_ds_dy: 0.0 - 1.5*y_11 + 1.5*y_11*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_00*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_11 0.0 + 1.5*y_10 - 1.5*y_10*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_01*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) - 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_10 0.0 + 1.5*y_01 - 1.5*y_01*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_01*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) - 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_01 0.0 - 1.5*y_00 + 1.5*y_00*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_11*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_00
+DEAL:Serialization:Float:Optimisation + substitution::Deserializing...
+DEAL:Serialization:Float:Optimisation + substitution::Deserialized optimizer: 
+DEAL:Serialization:Float:Optimisation + substitution::0 0 1 3 0 0 8 0 0 0 0 0 1 x 3 2.5 4 z_11 16 5.69999980926514 4 z_00 16 4.69999980926514 4 z_01 16 5.69999980926514 4 y_01 16 3.20000004768372 4 y_00 16 3.20000004768372 4 y_11 16 6.19999980926514 4 y_10 16 4.19999980926514 0 0 9 0 235 1.5 + 1.5*(1.0*y_00*y_11 - 1.0*y_01*y_10)*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10)) + sin(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) 81 2.0*x**(-1 + 1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*(1.0*y_00*y_11 - 1.0*y_01*y_10) 249 -1.5*y_11 + 1.5*y_11*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_00*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_11 248 1.5*y_10 - 1.5*y_10*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_01*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) - 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_10 248 1.5*y_01 - 1.5*y_01*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_01*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) - 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_01 249 -1.5*y_00 + 1.5*y_00*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_11*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_00 169 0.666666666666667*y_00*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 3.0*z_00*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2) 169 0.666666666666667*y_11*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 3.0*z_11*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2) 192 0.5*(0.666666666666667*(1.0*y_01 + 1.0*y_10)*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 6.0*z_01*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2)) 9 0 7.331452026e+02 1.803375122e+03 4.021220947e+03 -2.721500244e+03 -2.073134033e+03 2.076409668e+03 1.674245715e+00 2.696845293e+00 1.978502989e+00 0 0 9 0 0 0 169 0.666666666666667*y_00*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 3.0*z_00*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2) 6 169 0.666666666666667*y_11*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 3.0*z_11*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2) 7 249 -1.5*y_11 + 1.5*y_11*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_00*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_11 2 249 -1.5*y_00 + 1.5*y_00*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_11*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_00 5 192 0.5*(0.666666666666667*(1.0*y_01 + 1.0*y_10)*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 6.0*z_01*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2)) 8 248 1.5*y_10 - 1.5*y_10*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_01*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) - 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_10 3 248 1.5*y_01 - 1.5*y_01*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_01*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) - 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_01 4 81 2.0*x**(-1 + 1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*(1.0*y_00*y_11 - 1.0*y_01*y_10) 1 235 1.5 + 1.5*(1.0*y_00*y_11 - 1.0*y_01*y_10)*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10)) + sin(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) 0 1 1
+DEAL:Serialization:Float:Optimisation + substitution::Checking deserialisation...
+DEAL:Serialization:Float:Optimisation + substitution::Evaluation (post-serialization):   s: 733.145  ds_dx: 1803.38  ds_dy: 4021.22 -2721.50 -2073.13 2076.41  ds_dz: 1.67425 1.97850 1.97850 2.69685
+DEAL:Serialization:Double::symb_s: 1.5 + 1.5*(1.0*y_00*y_11 - 1.0*y_01*y_10)*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10)) + sin(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01))
+DEAL:Serialization:Double::symb_ds_dy: 0.0 - 1.5*y_11 + 1.5*y_11*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_00*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_11 0.0 + 1.5*y_10 - 1.5*y_10*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_01*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) - 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_10 0.0 + 1.5*y_01 - 1.5*y_01*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_01*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) - 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_01 0.0 - 1.5*y_00 + 1.5*y_00*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_11*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_00
+DEAL:Serialization:Double:Optimisation + substitution::evaluation:   s: 733.145  ds_dx: 1803.37  ds_dy: 4021.22 -2721.50 -2073.13 2076.41  ds_dz: 1.67425 1.97851 1.97851 2.69686
+DEAL:Serialization:Double:Optimisation + substitution::Evaluation (pre-serialization):   s: 733.145  ds_dx: 1803.37  ds_dy: 4021.22 -2721.50 -2073.13 2076.41  ds_dz: 1.67425 1.97851 1.97851 2.69686
+DEAL:Serialization:Double:Optimisation + substitution::Serializing...
+DEAL:Serialization:Double:Optimisation + substitution::Serialized optimizer: 
+DEAL:Serialization:Double:Optimisation + substitution::0 0 1 3 0 0 8 0 0 0 0 0 1 x 3 2.5 4 z_11 3 5.7 4 z_00 3 4.7 4 z_01 3 5.7 4 y_01 3 3.2 4 y_00 3 3.2 4 y_11 3 6.2 4 y_10 3 4.2 0 0 9 0 235 1.5 + 1.5*(1.0*y_00*y_11 - 1.0*y_01*y_10)*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10)) + sin(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) 81 2.0*x**(-1 + 1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*(1.0*y_00*y_11 - 1.0*y_01*y_10) 254 0.0 - 1.5*y_11 + 1.5*y_11*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_00*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_11 254 0.0 + 1.5*y_10 - 1.5*y_10*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_01*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) - 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_10 254 0.0 + 1.5*y_01 - 1.5*y_01*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_01*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) - 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_01 254 0.0 - 1.5*y_00 + 1.5*y_00*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_11*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_00 169 0.666666666666667*y_00*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 3.0*z_00*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2) 169 0.666666666666667*y_11*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 3.0*z_11*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2) 198 0.5*(0.666666666666667*(0.0 + 1.0*y_01 + 1.0*y_10)*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 6.0*z_01*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2)) 9 0 7.33145160811001574e+02 1.80337488238402102e+03 4.02122068318208630e+03 -2.72150003931949686e+03 -2.07313387957113900e+03 2.07640954281834820e+03 1.67425190103196075e+00 2.69685737072851373e+00 1.97851016739322993e+00 0 0 9 0 0 0 169 0.666666666666667*y_00*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 3.0*z_00*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2) 6 169 0.666666666666667*y_11*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 3.0*z_11*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2) 7 254 0.0 - 1.5*y_11 + 1.5*y_11*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_00*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_11 2 254 0.0 - 1.5*y_00 + 1.5*y_00*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_11*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_00 5 254 0.0 + 1.5*y_01 - 1.5*y_01*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_01*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) - 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_01 4 254 0.0 + 1.5*y_10 - 1.5*y_10*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_01*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) - 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_10 3 81 2.0*x**(-1 + 1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*(1.0*y_00*y_11 - 1.0*y_01*y_10) 1 235 1.5 + 1.5*(1.0*y_00*y_11 - 1.0*y_01*y_10)*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10)) + sin(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) 0 198 0.5*(0.666666666666667*(0.0 + 1.0*y_01 + 1.0*y_10)*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 6.0*z_01*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2)) 8 1 1
+
+DEAL:Serialization:Double:Optimisation + substitution::symb_s: 1.5 + 1.5*(1.0*y_00*y_11 - 1.0*y_01*y_10)*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10)) + sin(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01))
+DEAL:Serialization:Double:Optimisation + substitution::symb_ds_dy: 0.0 - 1.5*y_11 + 1.5*y_11*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_00*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_11 0.0 + 1.5*y_10 - 1.5*y_10*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_01*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) - 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_10 0.0 + 1.5*y_01 - 1.5*y_01*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_01*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) - 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_01 0.0 - 1.5*y_00 + 1.5*y_00*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_11*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_00
+DEAL:Serialization:Double:Optimisation + substitution::Deserializing...
+DEAL:Serialization:Double:Optimisation + substitution::Deserialized optimizer: 
+DEAL:Serialization:Double:Optimisation + substitution::0 0 1 3 0 0 8 0 0 0 0 0 1 x 3 2.5 4 z_11 3 5.7 4 z_00 3 4.7 4 z_01 3 5.7 4 y_01 3 3.2 4 y_00 3 3.2 4 y_11 3 6.2 4 y_10 3 4.2 0 0 9 0 235 1.5 + 1.5*(1.0*y_00*y_11 - 1.0*y_01*y_10)*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10)) + sin(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) 81 2.0*x**(-1 + 1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*(1.0*y_00*y_11 - 1.0*y_01*y_10) 249 -1.5*y_11 + 1.5*y_11*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_00*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_11 248 1.5*y_10 - 1.5*y_10*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_01*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) - 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_10 248 1.5*y_01 - 1.5*y_01*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_01*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) - 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_01 249 -1.5*y_00 + 1.5*y_00*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_11*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_00 169 0.666666666666667*y_00*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 3.0*z_00*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2) 169 0.666666666666667*y_11*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 3.0*z_11*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2) 192 0.5*(0.666666666666667*(1.0*y_01 + 1.0*y_10)*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 6.0*z_01*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2)) 9 0 7.33145160811001574e+02 1.80337488238402102e+03 4.02122068318208630e+03 -2.72150003931949686e+03 -2.07313387957113900e+03 2.07640954281834820e+03 1.67425190103196075e+00 2.69685737072851373e+00 1.97851016739322993e+00 0 0 9 0 0 0 169 0.666666666666667*y_00*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 3.0*z_00*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2) 6 169 0.666666666666667*y_11*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 3.0*z_11*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2) 7 249 -1.5*y_11 + 1.5*y_11*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_00*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_11 2 249 -1.5*y_00 + 1.5*y_00*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_11*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_00 5 192 0.5*(0.666666666666667*(1.0*y_01 + 1.0*y_10)*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 6.0*z_01*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2)) 8 248 1.5*y_10 - 1.5*y_10*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_01*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) - 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_10 3 248 1.5*y_01 - 1.5*y_01*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_01*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) - 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_01 4 81 2.0*x**(-1 + 1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*(1.0*y_00*y_11 - 1.0*y_01*y_10) 1 235 1.5 + 1.5*(1.0*y_00*y_11 - 1.0*y_01*y_10)*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10)) + sin(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) 0 1 1
+DEAL:Serialization:Double:Optimisation + substitution::Checking deserialisation...
+DEAL:Serialization:Double:Optimisation + substitution::Evaluation (post-serialization):   s: 733.145  ds_dx: 1803.37  ds_dy: 4021.22 -2721.50 -2073.13 2076.41  ds_dz: 1.67425 1.97851 1.97851 2.69686
+DEAL:Serialization:Complex float::symb_s: 1.5 + 0.0*I + (1.5 + 0.0*I)*(1.0*y_00*y_11 - 1.0*y_01*y_10)*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10)) + sin((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01))
+DEAL:Serialization:Complex float::symb_ds_dy: 0.0 + 0.0*I + (-1.5 + 0.0*I)*y_11 + (1.5 + 0.0*I)*y_11*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_00*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_11 0.0 + 0.0*I + (1.5 + 0.0*I)*y_10 + (-1.5 + 0.0*I)*y_10*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_01*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (-2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_10 0.0 + 0.0*I + (1.5 + 0.0*I)*y_01 + (-1.5 + 0.0*I)*y_01*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_01*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (-2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_01 0.0 + 0.0*I + (-1.5 + 0.0*I)*y_00 + (1.5 + 0.0*I)*y_00*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_11*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_00
+DEAL:Serialization:Complex float:Optimisation + substitution::evaluation:   s: (733.145,0.00000)  ds_dx: (1803.38,0.00000)  ds_dy: (4021.22,0.00000) (-2721.50,-3.34260e-13) (-2073.13,-2.54674e-13) (2076.41,0.00000)  ds_dz: (1.67425,0.00000) (1.97850,0.00000) (1.97850,0.00000) (2.69685,0.00000)
+DEAL:Serialization:Complex float:Optimisation + substitution::Evaluation (pre-serialization):   s: (733.145,0.00000)  ds_dx: (1803.38,0.00000)  ds_dy: (4021.22,0.00000) (-2721.50,-3.34260e-13) (-2073.13,-2.54674e-13) (2076.41,0.00000)  ds_dz: (1.67425,0.00000) (1.97850,0.00000) (1.97850,0.00000) (2.69685,0.00000)
+DEAL:Serialization:Complex float:Optimisation + substitution::Serializing...
+DEAL:Serialization:Complex float:Optimisation + substitution::Serialized optimizer: 
+DEAL:Serialization:Complex float:Optimisation + substitution::0 0 1 3 0 0 8 0 0 0 0 0 1 x 3 2.5 4 z_11 24 5.69999980926514 + 0.0*I 4 z_00 24 4.69999980926514 + 0.0*I 4 z_01 24 5.69999980926514 + 0.0*I 4 y_01 24 3.20000004768372 + 0.0*I 4 y_00 24 3.20000004768372 + 0.0*I 4 y_11 24 6.19999980926514 + 0.0*I 4 y_10 24 4.19999980926514 + 0.0*I 0 0 9 0 273 1.5 + 0.0*I + (1.5 + 0.0*I)*(1.0*y_00*y_11 - 1.0*y_01*y_10)*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10)) + sin((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) 91 (2.0 + 0.0*I)*x**(-1 + 1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*(1.0*y_00*y_11 - 1.0*y_01*y_10) 314 0.0 + 0.0*I + (-1.5 + 0.0*I)*y_11 + (1.5 + 0.0*I)*y_11*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_00*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_11 316 0.0 + 0.0*I + (1.5 + 0.0*I)*y_10 + (-1.5 + 0.0*I)*y_10*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_01*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (-2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_10 316 0.0 + 0.0*I + (1.5 + 0.0*I)*y_01 + (-1.5 + 0.0*I)*y_01*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_01*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (-2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_01 314 0.0 + 0.0*I + (-1.5 + 0.0*I)*y_00 + (1.5 + 0.0*I)*y_00*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_11*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_00 199 (0.666666666666667 + 0.0*I)*y_00*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (3.0 + 0.0*I)*z_00*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2) 199 (0.666666666666667 + 0.0*I)*y_11*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (3.0 + 0.0*I)*z_11*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2) 228 0.5*((0.666666666666667 + 0.0*I)*(0.0 + 1.0*y_01 + 1.0*y_10)*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (6.0 + 0.0*I)*z_01*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2)) 0 0 9 0 7.331452026e+02 0.000000000e+00 1.803375122e+03 0.000000000e+00 4.021220947e+03 0.000000000e+00 -2.721500244e+03 -3.342597466e-13 -2.073134033e+03 -2.546741030e-13 2.076409668e+03 0.000000000e+00 1.674245715e+00 0.000000000e+00 2.696845293e+00 0.000000000e+00 1.978502989e+00 0.000000000e+00 0 0 9 0 0 0 314 0.0 + 0.0*I + (-1.5 + 0.0*I)*y_11 + (1.5 + 0.0*I)*y_11*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_00*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_11 2 314 0.0 + 0.0*I + (-1.5 + 0.0*I)*y_00 + (1.5 + 0.0*I)*y_00*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_11*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_00 5 91 (2.0 + 0.0*I)*x**(-1 + 1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*(1.0*y_00*y_11 - 1.0*y_01*y_10) 1 273 1.5 + 0.0*I + (1.5 + 0.0*I)*(1.0*y_00*y_11 - 1.0*y_01*y_10)*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10)) + sin((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) 0 316 0.0 + 0.0*I + (1.5 + 0.0*I)*y_01 + (-1.5 + 0.0*I)*y_01*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_01*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (-2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_01 4 316 0.0 + 0.0*I + (1.5 + 0.0*I)*y_10 + (-1.5 + 0.0*I)*y_10*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_01*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (-2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_10 3 228 0.5*((0.666666666666667 + 0.0*I)*(0.0 + 1.0*y_01 + 1.0*y_10)*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (6.0 + 0.0*I)*z_01*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2)) 8 199 (0.666666666666667 + 0.0*I)*y_11*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (3.0 + 0.0*I)*z_11*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2) 7 199 (0.666666666666667 + 0.0*I)*y_00*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (3.0 + 0.0*I)*z_00*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2) 6 1 1
+
+DEAL:Serialization:Complex float:Optimisation + substitution::symb_s: 1.5 + 0.0*I + (1.5 + 0.0*I)*(1.0*y_00*y_11 - 1.0*y_01*y_10)*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10)) + sin((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01))
+DEAL:Serialization:Complex float:Optimisation + substitution::symb_ds_dy: 0.0 + 0.0*I + (-1.5 + 0.0*I)*y_11 + (1.5 + 0.0*I)*y_11*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_00*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_11 0.0 + 0.0*I + (1.5 + 0.0*I)*y_10 + (-1.5 + 0.0*I)*y_10*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_01*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (-2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_10 0.0 + 0.0*I + (1.5 + 0.0*I)*y_01 + (-1.5 + 0.0*I)*y_01*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_01*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (-2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_01 0.0 + 0.0*I + (-1.5 + 0.0*I)*y_00 + (1.5 + 0.0*I)*y_00*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_11*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_00
+DEAL:Serialization:Complex float:Optimisation + substitution::Deserializing...
+DEAL:Serialization:Complex float:Optimisation + substitution::Deserialized optimizer: 
+DEAL:Serialization:Complex float:Optimisation + substitution::0 0 1 3 0 0 8 0 0 0 0 0 1 x 3 2.5 4 z_11 24 5.69999980926514 + 0.0*I 4 z_00 24 4.69999980926514 + 0.0*I 4 z_01 24 5.69999980926514 + 0.0*I 4 y_01 24 3.20000004768372 + 0.0*I 4 y_00 24 3.20000004768372 + 0.0*I 4 y_11 24 6.19999980926514 + 0.0*I 4 y_10 24 4.19999980926514 + 0.0*I 0 0 9 0 273 1.5 + 0.0*I + (1.5 + 0.0*I)*(1.0*y_00*y_11 - 1.0*y_01*y_10)*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10)) + sin((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) 91 (2.0 + 0.0*I)*x**(-1 + 1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*(1.0*y_00*y_11 - 1.0*y_01*y_10) 300 (-1.5 + 0.0*I)*y_11 + (1.5 + 0.0*I)*y_11*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_00*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_11 302 (1.5 + 0.0*I)*y_10 + (-1.5 + 0.0*I)*y_10*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_01*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (-2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_10 302 (1.5 + 0.0*I)*y_01 + (-1.5 + 0.0*I)*y_01*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_01*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (-2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_01 300 (-1.5 + 0.0*I)*y_00 + (1.5 + 0.0*I)*y_00*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_11*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_00 199 (0.666666666666667 + 0.0*I)*y_00*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (3.0 + 0.0*I)*z_00*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2) 199 (0.666666666666667 + 0.0*I)*y_11*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (3.0 + 0.0*I)*z_11*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2) 222 0.5*((0.666666666666667 + 0.0*I)*(1.0*y_01 + 1.0*y_10)*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (6.0 + 0.0*I)*z_01*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2)) 0 0 9 0 7.331452026e+02 0.000000000e+00 1.803375122e+03 0.000000000e+00 4.021220947e+03 0.000000000e+00 -2.721500244e+03 -3.342597466e-13 -2.073134033e+03 -2.546741030e-13 2.076409668e+03 0.000000000e+00 1.674245715e+00 0.000000000e+00 2.696845293e+00 0.000000000e+00 1.978502989e+00 0.000000000e+00 0 0 9 0 0 0 300 (-1.5 + 0.0*I)*y_00 + (1.5 + 0.0*I)*y_00*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_11*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_00 5 300 (-1.5 + 0.0*I)*y_11 + (1.5 + 0.0*I)*y_11*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_00*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_11 2 91 (2.0 + 0.0*I)*x**(-1 + 1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*(1.0*y_00*y_11 - 1.0*y_01*y_10) 1 222 0.5*((0.666666666666667 + 0.0*I)*(1.0*y_01 + 1.0*y_10)*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (6.0 + 0.0*I)*z_01*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2)) 8 273 1.5 + 0.0*I + (1.5 + 0.0*I)*(1.0*y_00*y_11 - 1.0*y_01*y_10)*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10)) + sin((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) 0 302 (1.5 + 0.0*I)*y_01 + (-1.5 + 0.0*I)*y_01*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_01*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (-2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_01 4 302 (1.5 + 0.0*I)*y_10 + (-1.5 + 0.0*I)*y_10*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_01*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (-2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_10 3 199 (0.666666666666667 + 0.0*I)*y_11*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (3.0 + 0.0*I)*z_11*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2) 7 199 (0.666666666666667 + 0.0*I)*y_00*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (3.0 + 0.0*I)*z_00*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2) 6 1 1
+DEAL:Serialization:Complex float:Optimisation + substitution::Checking deserialisation...
+DEAL:Serialization:Complex float:Optimisation + substitution::Evaluation (post-serialization):   s: (733.145,0.00000)  ds_dx: (1803.38,0.00000)  ds_dy: (4021.22,0.00000) (-2721.50,-3.34260e-13) (-2073.13,-2.54674e-13) (2076.41,0.00000)  ds_dz: (1.67425,0.00000) (1.97850,0.00000) (1.97850,0.00000) (2.69685,0.00000)
+DEAL:Serialization:Complex double::symb_s: 1.5 + 0.0*I + (1.5 + 0.0*I)*(1.0*y_00*y_11 - 1.0*y_01*y_10)*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10)) + sin((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01))
+DEAL:Serialization:Complex double::symb_ds_dy: 0.0 + 0.0*I + (-1.5 + 0.0*I)*y_11 + (1.5 + 0.0*I)*y_11*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_00*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_11 0.0 + 0.0*I + (1.5 + 0.0*I)*y_10 + (-1.5 + 0.0*I)*y_10*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_01*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (-2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_10 0.0 + 0.0*I + (1.5 + 0.0*I)*y_01 + (-1.5 + 0.0*I)*y_01*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_01*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (-2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_01 0.0 + 0.0*I + (-1.5 + 0.0*I)*y_00 + (1.5 + 0.0*I)*y_00*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_11*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_00
+DEAL:Serialization:Complex double:Optimisation + substitution::evaluation:   s: (733.145,0.00000)  ds_dx: (1803.37,0.00000)  ds_dy: (4021.22,0.00000) (-2721.50,-3.34260e-13) (-2073.13,-2.54674e-13) (2076.41,0.00000)  ds_dz: (1.67425,0.00000) (1.97851,0.00000) (1.97851,0.00000) (2.69686,0.00000)
+DEAL:Serialization:Complex double:Optimisation + substitution::Evaluation (pre-serialization):   s: (733.145,0.00000)  ds_dx: (1803.37,0.00000)  ds_dy: (4021.22,0.00000) (-2721.50,-3.34260e-13) (-2073.13,-2.54674e-13) (2076.41,0.00000)  ds_dz: (1.67425,0.00000) (1.97851,0.00000) (1.97851,0.00000) (2.69686,0.00000)
+DEAL:Serialization:Complex double:Optimisation + substitution::Serializing...
+DEAL:Serialization:Complex double:Optimisation + substitution::Serialized optimizer: 
+DEAL:Serialization:Complex double:Optimisation + substitution::0 0 1 3 0 0 8 0 0 0 0 0 1 x 3 2.5 4 z_11 11 5.7 + 0.0*I 4 z_00 11 4.7 + 0.0*I 4 z_01 11 5.7 + 0.0*I 4 y_01 11 3.2 + 0.0*I 4 y_00 11 3.2 + 0.0*I 4 y_11 11 6.2 + 0.0*I 4 y_10 11 4.2 + 0.0*I 0 0 9 0 273 1.5 + 0.0*I + (1.5 + 0.0*I)*(1.0*y_00*y_11 - 1.0*y_01*y_10)*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10)) + sin((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) 91 (2.0 + 0.0*I)*x**(-1 + 1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*(1.0*y_00*y_11 - 1.0*y_01*y_10) 314 0.0 + 0.0*I + (-1.5 + 0.0*I)*y_11 + (1.5 + 0.0*I)*y_11*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_00*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_11 316 0.0 + 0.0*I + (1.5 + 0.0*I)*y_10 + (-1.5 + 0.0*I)*y_10*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_01*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (-2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_10 316 0.0 + 0.0*I + (1.5 + 0.0*I)*y_01 + (-1.5 + 0.0*I)*y_01*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_01*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (-2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_01 314 0.0 + 0.0*I + (-1.5 + 0.0*I)*y_00 + (1.5 + 0.0*I)*y_00*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_11*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_00 199 (0.666666666666667 + 0.0*I)*y_00*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (3.0 + 0.0*I)*z_00*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2) 199 (0.666666666666667 + 0.0*I)*y_11*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (3.0 + 0.0*I)*z_11*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2) 228 0.5*((0.666666666666667 + 0.0*I)*(0.0 + 1.0*y_01 + 1.0*y_10)*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (6.0 + 0.0*I)*z_01*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2)) 0 0 9 0 7.33145160811002029e+02 0.00000000000000000e+00 1.80337488238402216e+03 0.00000000000000000e+00 4.02122068318208903e+03 0.00000000000000000e+00 -2.72150003931949823e+03 -3.34259735212203695e-13 -2.07313387957114037e+03 -2.54674083971202827e-13 2.07640954281834911e+03 0.00000000000000000e+00 1.67425190103196031e+00 0.00000000000000000e+00 2.69685737072851328e+00 0.00000000000000000e+00 1.97851016739322971e+00 0.00000000000000000e+00 0 0 9 0 0 0 314 0.0 + 0.0*I + (-1.5 + 0.0*I)*y_11 + (1.5 + 0.0*I)*y_11*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_00*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_11 2 314 0.0 + 0.0*I + (-1.5 + 0.0*I)*y_00 + (1.5 + 0.0*I)*y_00*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_11*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_00 5 91 (2.0 + 0.0*I)*x**(-1 + 1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*(1.0*y_00*y_11 - 1.0*y_01*y_10) 1 273 1.5 + 0.0*I + (1.5 + 0.0*I)*(1.0*y_00*y_11 - 1.0*y_01*y_10)*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10)) + sin((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) 0 316 0.0 + 0.0*I + (1.5 + 0.0*I)*y_01 + (-1.5 + 0.0*I)*y_01*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_01*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (-2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_01 4 316 0.0 + 0.0*I + (1.5 + 0.0*I)*y_10 + (-1.5 + 0.0*I)*y_10*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_01*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (-2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_10 3 228 0.5*((0.666666666666667 + 0.0*I)*(0.0 + 1.0*y_01 + 1.0*y_10)*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (6.0 + 0.0*I)*z_01*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2)) 8 199 (0.666666666666667 + 0.0*I)*y_11*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (3.0 + 0.0*I)*z_11*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2) 7 199 (0.666666666666667 + 0.0*I)*y_00*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (3.0 + 0.0*I)*z_00*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2) 6 1 1
+
+DEAL:Serialization:Complex double:Optimisation + substitution::symb_s: 1.5 + 0.0*I + (1.5 + 0.0*I)*(1.0*y_00*y_11 - 1.0*y_01*y_10)*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10)) + sin((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01))
+DEAL:Serialization:Complex double:Optimisation + substitution::symb_ds_dy: 0.0 + 0.0*I + (-1.5 + 0.0*I)*y_11 + (1.5 + 0.0*I)*y_11*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_00*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_11 0.0 + 0.0*I + (1.5 + 0.0*I)*y_10 + (-1.5 + 0.0*I)*y_10*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_01*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (-2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_10 0.0 + 0.0*I + (1.5 + 0.0*I)*y_01 + (-1.5 + 0.0*I)*y_01*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_01*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (-2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_01 0.0 + 0.0*I + (-1.5 + 0.0*I)*y_00 + (1.5 + 0.0*I)*y_00*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_11*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_00
+DEAL:Serialization:Complex double:Optimisation + substitution::Deserializing...
+DEAL:Serialization:Complex double:Optimisation + substitution::Deserialized optimizer: 
+DEAL:Serialization:Complex double:Optimisation + substitution::0 0 1 3 0 0 8 0 0 0 0 0 1 x 3 2.5 4 z_11 11 5.7 + 0.0*I 4 z_00 11 4.7 + 0.0*I 4 z_01 11 5.7 + 0.0*I 4 y_01 11 3.2 + 0.0*I 4 y_00 11 3.2 + 0.0*I 4 y_11 11 6.2 + 0.0*I 4 y_10 11 4.2 + 0.0*I 0 0 9 0 273 1.5 + 0.0*I + (1.5 + 0.0*I)*(1.0*y_00*y_11 - 1.0*y_01*y_10)*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10)) + sin((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) 91 (2.0 + 0.0*I)*x**(-1 + 1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*(1.0*y_00*y_11 - 1.0*y_01*y_10) 300 (-1.5 + 0.0*I)*y_11 + (1.5 + 0.0*I)*y_11*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_00*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_11 302 (1.5 + 0.0*I)*y_10 + (-1.5 + 0.0*I)*y_10*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_01*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (-2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_10 302 (1.5 + 0.0*I)*y_01 + (-1.5 + 0.0*I)*y_01*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_01*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (-2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_01 300 (-1.5 + 0.0*I)*y_00 + (1.5 + 0.0*I)*y_00*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_11*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_00 199 (0.666666666666667 + 0.0*I)*y_00*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (3.0 + 0.0*I)*z_00*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2) 199 (0.666666666666667 + 0.0*I)*y_11*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (3.0 + 0.0*I)*z_11*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2) 222 0.5*((0.666666666666667 + 0.0*I)*(1.0*y_01 + 1.0*y_10)*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (6.0 + 0.0*I)*z_01*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2)) 0 0 9 0 7.33145160811002029e+02 0.00000000000000000e+00 1.80337488238402216e+03 0.00000000000000000e+00 4.02122068318208903e+03 0.00000000000000000e+00 -2.72150003931949823e+03 -3.34259735212203695e-13 -2.07313387957114037e+03 -2.54674083971202827e-13 2.07640954281834911e+03 0.00000000000000000e+00 1.67425190103196031e+00 0.00000000000000000e+00 2.69685737072851328e+00 0.00000000000000000e+00 1.97851016739322971e+00 0.00000000000000000e+00 0 0 9 0 0 0 300 (-1.5 + 0.0*I)*y_00 + (1.5 + 0.0*I)*y_00*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_11*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_00 5 300 (-1.5 + 0.0*I)*y_11 + (1.5 + 0.0*I)*y_11*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_00*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_11 2 91 (2.0 + 0.0*I)*x**(-1 + 1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*(1.0*y_00*y_11 - 1.0*y_01*y_10) 1 222 0.5*((0.666666666666667 + 0.0*I)*(1.0*y_01 + 1.0*y_10)*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (6.0 + 0.0*I)*z_01*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2)) 8 273 1.5 + 0.0*I + (1.5 + 0.0*I)*(1.0*y_00*y_11 - 1.0*y_01*y_10)*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10)) + sin((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) 0 302 (1.5 + 0.0*I)*y_01 + (-1.5 + 0.0*I)*y_01*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_01*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (-2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_01 4 302 (1.5 + 0.0*I)*y_10 + (-1.5 + 0.0*I)*y_10*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + (0.666666666666667 + 0.0*I)*z_01*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (-2.0 + 0.0*I)*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_10 3 199 (0.666666666666667 + 0.0*I)*y_11*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (3.0 + 0.0*I)*z_11*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2) 7 199 (0.666666666666667 + 0.0*I)*y_00*cos((0.666666666666667 + 0.0*I)*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + (3.0 + 0.0*I)*z_00*(1.0*y_00*y_11 - 1.0*y_01*y_10)/(z_00**2 + 2*z_01**2 + z_11**2) 6 1 1
+DEAL:Serialization:Complex double:Optimisation + substitution::Checking deserialisation...
+DEAL:Serialization:Complex double:Optimisation + substitution::Evaluation (post-serialization):   s: (733.145,0.00000)  ds_dx: (1803.37,0.00000)  ds_dy: (4021.22,0.00000) (-2721.50,-3.34260e-13) (-2073.13,-2.54674e-13) (2076.41,0.00000)  ds_dz: (1.67425,0.00000) (1.97851,0.00000) (1.97851,0.00000) (2.69686,0.00000)
+DEAL::OK
diff --git a/tests/symengine/batch_optimizer_06_3a.cc b/tests/symengine/batch_optimizer_06_3a.cc
new file mode 100644 (file)
index 0000000..a3ab531
--- /dev/null
@@ -0,0 +1,39 @@
+// ---------------------------------------------------------------------
+//
+// Copyright (C) 2020 by the deal.II authors
+//
+// This file is part of the deal.II library.
+//
+// The deal.II library is free software; you can use it, redistribute
+// it, and/or modify it under the terms of the GNU Lesser General
+// Public License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+// The full text of the license can be found in the file LICENSE at
+// the top level of the deal.II distribution.
+//
+// ---------------------------------------------------------------------
+
+
+// Check that serialization for the BatchOptimizer works as expected.
+// In this test, we destroy the optimizer as well as all other expressions
+// and symbols that were used in the creation of the optimizer.
+//
+// Here we invoke the LLVM optimizer before symbolic evaluation takes place,
+// and we invoke no additional symbolic optimizations as well.
+
+#include "../tests.h"
+
+#include "sd_common_tests/batch_optimizer_06.h"
+
+int
+main()
+{
+  initlog();
+
+  const enum SD::OptimizerType     opt_method = SD::OptimizerType::llvm;
+  const enum SD::OptimizationFlags opt_flags =
+    SD::OptimizationFlags::optimize_default;
+
+  const int dim = 2;
+  run_tests<dim, opt_method, opt_flags>();
+}
diff --git a/tests/symengine/batch_optimizer_06_3a.with_symengine_with_llvm.output b/tests/symengine/batch_optimizer_06_3a.with_symengine_with_llvm.output
new file mode 100644 (file)
index 0000000..ae208b3
--- /dev/null
@@ -0,0 +1,22 @@
+
+DEAL:Serialization:Float::symb_s: 1.5 + 1.5*(1.0*y_00*y_11 - 1.0*y_01*y_10)*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10)) + sin(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01))
+DEAL:Serialization:Float::symb_ds_dy: 0.0 - 1.5*y_11 + 1.5*y_11*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_00*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_11 0.0 + 1.5*y_10 - 1.5*y_10*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_01*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) - 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_10 0.0 + 1.5*y_01 - 1.5*y_01*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_01*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) - 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_01 0.0 - 1.5*y_00 + 1.5*y_00*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_11*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_00
+DEAL:Serialization:Float:Optimisation + substitution::evaluation:   s: 733.146  ds_dx: 1803.38  ds_dy: 4021.22 -2721.50 -2073.14 2076.41  ds_dz: 1.67425 1.97851 1.97851 2.69685
+DEAL:Serialization:Float:Optimisation + substitution::Evaluation (pre-serialization):   s: 733.146  ds_dx: 1803.38  ds_dy: 4021.22 -2721.50 -2073.14 2076.41  ds_dz: 1.67425 1.97851 1.97851 2.69685
+DEAL:Serialization:Float:Optimisation + substitution::Serializing...
+DEAL:Serialization:Float:Optimisation + substitution::symb_s: 1.5 + 1.5*(1.0*y_00*y_11 - 1.0*y_01*y_10)*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10)) + sin(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01))
+DEAL:Serialization:Float:Optimisation + substitution::symb_ds_dy: 0.0 - 1.5*y_11 + 1.5*y_11*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_00*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_11 0.0 + 1.5*y_10 - 1.5*y_10*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_01*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) - 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_10 0.0 + 1.5*y_01 - 1.5*y_01*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_01*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) - 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_01 0.0 - 1.5*y_00 + 1.5*y_00*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_11*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_00
+DEAL:Serialization:Float:Optimisation + substitution::Deserializing...
+DEAL:Serialization:Float:Optimisation + substitution::Checking deserialisation...
+DEAL:Serialization:Float:Optimisation + substitution::Evaluation (post-serialization):   s: 733.146  ds_dx: 1803.38  ds_dy: 4021.22 -2721.50 -2073.14 2076.41  ds_dz: 1.67425 1.97851 1.97851 2.69685
+DEAL:Serialization:Double::symb_s: 1.5 + 1.5*(1.0*y_00*y_11 - 1.0*y_01*y_10)*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10)) + sin(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01))
+DEAL:Serialization:Double::symb_ds_dy: 0.0 - 1.5*y_11 + 1.5*y_11*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_00*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_11 0.0 + 1.5*y_10 - 1.5*y_10*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_01*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) - 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_10 0.0 + 1.5*y_01 - 1.5*y_01*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_01*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) - 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_01 0.0 - 1.5*y_00 + 1.5*y_00*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_11*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_00
+DEAL:Serialization:Double:Optimisation + substitution::evaluation:   s: 733.145  ds_dx: 1803.37  ds_dy: 4021.22 -2721.50 -2073.13 2076.41  ds_dz: 1.67425 1.97851 1.97851 2.69686
+DEAL:Serialization:Double:Optimisation + substitution::Evaluation (pre-serialization):   s: 733.145  ds_dx: 1803.37  ds_dy: 4021.22 -2721.50 -2073.13 2076.41  ds_dz: 1.67425 1.97851 1.97851 2.69686
+DEAL:Serialization:Double:Optimisation + substitution::Serializing...
+DEAL:Serialization:Double:Optimisation + substitution::symb_s: 1.5 + 1.5*(1.0*y_00*y_11 - 1.0*y_01*y_10)*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10)) + sin(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01))
+DEAL:Serialization:Double:Optimisation + substitution::symb_ds_dy: 0.0 - 1.5*y_11 + 1.5*y_11*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_00*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_11 0.0 + 1.5*y_10 - 1.5*y_10*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_01*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) - 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_10 0.0 + 1.5*y_01 - 1.5*y_01*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_01*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) - 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_01 0.0 - 1.5*y_00 + 1.5*y_00*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_11*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_00
+DEAL:Serialization:Double:Optimisation + substitution::Deserializing...
+DEAL:Serialization:Double:Optimisation + substitution::Checking deserialisation...
+DEAL:Serialization:Double:Optimisation + substitution::Evaluation (post-serialization):   s: 733.145  ds_dx: 1803.37  ds_dy: 4021.22 -2721.50 -2073.13 2076.41  ds_dz: 1.67425 1.97851 1.97851 2.69686
+DEAL::OK
diff --git a/tests/symengine/batch_optimizer_06_3b.cc b/tests/symengine/batch_optimizer_06_3b.cc
new file mode 100644 (file)
index 0000000..f3c8176
--- /dev/null
@@ -0,0 +1,39 @@
+// ---------------------------------------------------------------------
+//
+// Copyright (C) 2020 by the deal.II authors
+//
+// This file is part of the deal.II library.
+//
+// The deal.II library is free software; you can use it, redistribute
+// it, and/or modify it under the terms of the GNU Lesser General
+// Public License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+// The full text of the license can be found in the file LICENSE at
+// the top level of the deal.II distribution.
+//
+// ---------------------------------------------------------------------
+
+
+// Check that serialization for the BatchOptimizer works as expected.
+// In this test, we destroy the optimizer as well as all other expressions
+// and symbols that were used in the creation of the optimizer.
+//
+// Here we invoke the LLVM optimizer before symbolic evaluation takes place,
+// as well as all additional symbolic optimizations.
+
+#include "../tests.h"
+
+#include "sd_common_tests/batch_optimizer_06.h"
+
+int
+main()
+{
+  initlog();
+
+  const enum SD::OptimizerType     opt_method = SD::OptimizerType::llvm;
+  const enum SD::OptimizationFlags opt_flags =
+    SD::OptimizationFlags::optimize_all;
+
+  const int dim = 2;
+  run_tests<dim, opt_method, opt_flags>();
+}
diff --git a/tests/symengine/batch_optimizer_06_3b.with_symengine_with_llvm.output b/tests/symengine/batch_optimizer_06_3b.with_symengine_with_llvm.output
new file mode 100644 (file)
index 0000000..0ee0676
--- /dev/null
@@ -0,0 +1,22 @@
+
+DEAL:Serialization:Float::symb_s: 1.5 + 1.5*(1.0*y_00*y_11 - 1.0*y_01*y_10)*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10)) + sin(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01))
+DEAL:Serialization:Float::symb_ds_dy: 0.0 - 1.5*y_11 + 1.5*y_11*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_00*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_11 0.0 + 1.5*y_10 - 1.5*y_10*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_01*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) - 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_10 0.0 + 1.5*y_01 - 1.5*y_01*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_01*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) - 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_01 0.0 - 1.5*y_00 + 1.5*y_00*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_11*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_00
+DEAL:Serialization:Float:Optimisation + substitution::evaluation:   s: 733.146  ds_dx: 1803.38  ds_dy: 4021.22 -2721.50 -2073.13 2076.41  ds_dz: 1.67425 1.97851 1.97851 2.69685
+DEAL:Serialization:Float:Optimisation + substitution::Evaluation (pre-serialization):   s: 733.146  ds_dx: 1803.38  ds_dy: 4021.22 -2721.50 -2073.13 2076.41  ds_dz: 1.67425 1.97851 1.97851 2.69685
+DEAL:Serialization:Float:Optimisation + substitution::Serializing...
+DEAL:Serialization:Float:Optimisation + substitution::symb_s: 1.5 + 1.5*(1.0*y_00*y_11 - 1.0*y_01*y_10)*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10)) + sin(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01))
+DEAL:Serialization:Float:Optimisation + substitution::symb_ds_dy: 0.0 - 1.5*y_11 + 1.5*y_11*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_00*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_11 0.0 + 1.5*y_10 - 1.5*y_10*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_01*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) - 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_10 0.0 + 1.5*y_01 - 1.5*y_01*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_01*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) - 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_01 0.0 - 1.5*y_00 + 1.5*y_00*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_11*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_00
+DEAL:Serialization:Float:Optimisation + substitution::Deserializing...
+DEAL:Serialization:Float:Optimisation + substitution::Checking deserialisation...
+DEAL:Serialization:Float:Optimisation + substitution::Evaluation (post-serialization):   s: 733.146  ds_dx: 1803.38  ds_dy: 4021.22 -2721.50 -2073.13 2076.41  ds_dz: 1.67425 1.97851 1.97851 2.69685
+DEAL:Serialization:Double::symb_s: 1.5 + 1.5*(1.0*y_00*y_11 - 1.0*y_01*y_10)*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10)) + sin(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01))
+DEAL:Serialization:Double::symb_ds_dy: 0.0 - 1.5*y_11 + 1.5*y_11*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_00*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_11 0.0 + 1.5*y_10 - 1.5*y_10*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_01*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) - 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_10 0.0 + 1.5*y_01 - 1.5*y_01*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_01*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) - 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_01 0.0 - 1.5*y_00 + 1.5*y_00*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_11*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_00
+DEAL:Serialization:Double:Optimisation + substitution::evaluation:   s: 733.145  ds_dx: 1803.37  ds_dy: 4021.22 -2721.50 -2073.13 2076.41  ds_dz: 1.67425 1.97851 1.97851 2.69686
+DEAL:Serialization:Double:Optimisation + substitution::Evaluation (pre-serialization):   s: 733.145  ds_dx: 1803.37  ds_dy: 4021.22 -2721.50 -2073.13 2076.41  ds_dz: 1.67425 1.97851 1.97851 2.69686
+DEAL:Serialization:Double:Optimisation + substitution::Serializing...
+DEAL:Serialization:Double:Optimisation + substitution::symb_s: 1.5 + 1.5*(1.0*y_00*y_11 - 1.0*y_01*y_10)*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10)) + sin(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01))
+DEAL:Serialization:Double:Optimisation + substitution::symb_ds_dy: 0.0 - 1.5*y_11 + 1.5*y_11*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_00*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_11 0.0 + 1.5*y_10 - 1.5*y_10*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_01*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) - 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_10 0.0 + 1.5*y_01 - 1.5*y_01*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_01*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) - 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_01 0.0 - 1.5*y_00 + 1.5*y_00*log(1.0*(z_00**2 + 2*z_01**2 + z_11**2)/(1.0*y_00*y_11 - 1.0*y_01*y_10)) + 0.666666666666667*z_11*cos(0.666666666666667*(z_00*y_00 + z_11*y_11 + 1.0*(y_01 + y_10)*z_01)) + 2.0*x**(1.0*(1.0*y_00*y_11 - 1.0*y_01*y_10))*log(x)*y_00
+DEAL:Serialization:Double:Optimisation + substitution::Deserializing...
+DEAL:Serialization:Double:Optimisation + substitution::Checking deserialisation...
+DEAL:Serialization:Double:Optimisation + substitution::Evaluation (post-serialization):   s: 733.145  ds_dx: 1803.37  ds_dy: 4021.22 -2721.50 -2073.13 2076.41  ds_dz: 1.67425 1.97851 1.97851 2.69686
+DEAL::OK
diff --git a/tests/symengine/batch_optimizer_07_1a.cc b/tests/symengine/batch_optimizer_07_1a.cc
new file mode 100644 (file)
index 0000000..961f6e3
--- /dev/null
@@ -0,0 +1,44 @@
+// ---------------------------------------------------------------------
+//
+// Copyright (C) 2020 by the deal.II authors
+//
+// This file is part of the deal.II library.
+//
+// The deal.II library is free software; you can use it, redistribute
+// it, and/or modify it under the terms of the GNU Lesser General
+// Public License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+// The full text of the license can be found in the file LICENSE at
+// the top level of the deal.II distribution.
+//
+// ---------------------------------------------------------------------
+
+
+// Check that the wrapper for symengine numbers can be integrated into the
+// tensor class and works as expected.
+// This test is the same as symengine_tensor_operations_03.cc, except that we
+// invoke the batch optimizer before symbolic evaluation takes place.
+//
+// Here we use only dictionary substitution, and invoke no symbolic
+// optimizations.
+
+#include "../tests.h"
+
+#include "sd_common_tests/batch_optimizer_07.h"
+
+int
+main()
+{
+  initlog();
+
+  // Show the difference between a SymEngine "value" and
+  // an evaluated, floating point number
+  // deallog << std::setprecision(3);
+
+  const enum SD::OptimizerType     opt_method = SD::OptimizerType::dictionary;
+  const enum SD::OptimizationFlags opt_flags =
+    SD::OptimizationFlags::optimize_default;
+
+  const int dim = 2;
+  run_tests<dim, opt_method, opt_flags>();
+}
diff --git a/tests/symengine/batch_optimizer_07_1a.output b/tests/symengine/batch_optimizer_07_1a.output
new file mode 100644 (file)
index 0000000..628f12b
--- /dev/null
@@ -0,0 +1,2 @@
+
+DEAL:dim 2::OK
diff --git a/tests/symengine/batch_optimizer_07_1b.cc b/tests/symengine/batch_optimizer_07_1b.cc
new file mode 100644 (file)
index 0000000..04475c0
--- /dev/null
@@ -0,0 +1,44 @@
+// ---------------------------------------------------------------------
+//
+// Copyright (C) 2020 by the deal.II authors
+//
+// This file is part of the deal.II library.
+//
+// The deal.II library is free software; you can use it, redistribute
+// it, and/or modify it under the terms of the GNU Lesser General
+// Public License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+// The full text of the license can be found in the file LICENSE at
+// the top level of the deal.II distribution.
+//
+// ---------------------------------------------------------------------
+
+
+// Check that the wrapper for symengine numbers can be integrated into the
+// tensor class and works as expected.
+// This test is the same as symengine_tensor_operations_03.cc, except that we
+// invoke the batch optimizer before symbolic evaluation takes place.
+//
+// Here we use only dictionary substitution, but invoke all symbolic
+// optimizations.
+
+#include "../tests.h"
+
+#include "sd_common_tests/batch_optimizer_07.h"
+
+int
+main()
+{
+  initlog();
+
+  // Show the difference between a SymEngine "value" and
+  // an evaluated, floating point number
+  // deallog << std::setprecision(3);
+
+  const enum SD::OptimizerType     opt_method = SD::OptimizerType::dictionary;
+  const enum SD::OptimizationFlags opt_flags =
+    SD::OptimizationFlags::optimize_all;
+
+  const int dim = 2;
+  run_tests<dim, opt_method, opt_flags>();
+}
diff --git a/tests/symengine/batch_optimizer_07_1b.output b/tests/symengine/batch_optimizer_07_1b.output
new file mode 100644 (file)
index 0000000..628f12b
--- /dev/null
@@ -0,0 +1,2 @@
+
+DEAL:dim 2::OK
diff --git a/tests/symengine/batch_optimizer_07_2a.cc b/tests/symengine/batch_optimizer_07_2a.cc
new file mode 100644 (file)
index 0000000..4fb559b
--- /dev/null
@@ -0,0 +1,43 @@
+// ---------------------------------------------------------------------
+//
+// Copyright (C) 2020 by the deal.II authors
+//
+// This file is part of the deal.II library.
+//
+// The deal.II library is free software; you can use it, redistribute
+// it, and/or modify it under the terms of the GNU Lesser General
+// Public License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+// The full text of the license can be found in the file LICENSE at
+// the top level of the deal.II distribution.
+//
+// ---------------------------------------------------------------------
+
+
+// Check that the wrapper for symengine numbers can be integrated into the
+// tensor class and works as expected.
+// This test is the same as symengine_tensor_operations_03.cc, except that we
+// invoke the batch optimizer before symbolic evaluation takes place.
+//
+// Here we use only lambda substitution,and invoke no symbolic optimizations.
+
+#include "../tests.h"
+
+#include "sd_common_tests/batch_optimizer_07.h"
+
+int
+main()
+{
+  initlog();
+
+  // Show the difference between a SymEngine "value" and
+  // an evaluated, floating point number
+  // deallog << std::setprecision(3);
+
+  const enum SD::OptimizerType     opt_method = SD::OptimizerType::lambda;
+  const enum SD::OptimizationFlags opt_flags =
+    SD::OptimizationFlags::optimize_default;
+
+  const int dim = 2;
+  run_tests<dim, opt_method, opt_flags>();
+}
diff --git a/tests/symengine/batch_optimizer_07_2a.output b/tests/symengine/batch_optimizer_07_2a.output
new file mode 100644 (file)
index 0000000..628f12b
--- /dev/null
@@ -0,0 +1,2 @@
+
+DEAL:dim 2::OK
diff --git a/tests/symengine/batch_optimizer_07_2b.cc b/tests/symengine/batch_optimizer_07_2b.cc
new file mode 100644 (file)
index 0000000..da71371
--- /dev/null
@@ -0,0 +1,43 @@
+// ---------------------------------------------------------------------
+//
+// Copyright (C) 2020 by the deal.II authors
+//
+// This file is part of the deal.II library.
+//
+// The deal.II library is free software; you can use it, redistribute
+// it, and/or modify it under the terms of the GNU Lesser General
+// Public License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+// The full text of the license can be found in the file LICENSE at
+// the top level of the deal.II distribution.
+//
+// ---------------------------------------------------------------------
+
+
+// Check that the wrapper for symengine numbers can be integrated into the
+// tensor class and works as expected.
+// This test is the same as symengine_tensor_operations_03.cc, except that we
+// invoke the batch optimizer before symbolic evaluation takes place.
+//
+// Here we use only lambda substitution, but invoke all symbolic optimizations.
+
+#include "../tests.h"
+
+#include "sd_common_tests/batch_optimizer_07.h"
+
+int
+main()
+{
+  initlog();
+
+  // Show the difference between a SymEngine "value" and
+  // an evaluated, floating point number
+  // deallog << std::setprecision(3);
+
+  const enum SD::OptimizerType     opt_method = SD::OptimizerType::lambda;
+  const enum SD::OptimizationFlags opt_flags =
+    SD::OptimizationFlags::optimize_all;
+
+  const int dim = 2;
+  run_tests<dim, opt_method, opt_flags>();
+}
diff --git a/tests/symengine/batch_optimizer_07_2b.output b/tests/symengine/batch_optimizer_07_2b.output
new file mode 100644 (file)
index 0000000..628f12b
--- /dev/null
@@ -0,0 +1,2 @@
+
+DEAL:dim 2::OK
diff --git a/tests/symengine/batch_optimizer_07_3a.cc b/tests/symengine/batch_optimizer_07_3a.cc
new file mode 100644 (file)
index 0000000..4a4de0e
--- /dev/null
@@ -0,0 +1,44 @@
+// ---------------------------------------------------------------------
+//
+// Copyright (C) 2020 by the deal.II authors
+//
+// This file is part of the deal.II library.
+//
+// The deal.II library is free software; you can use it, redistribute
+// it, and/or modify it under the terms of the GNU Lesser General
+// Public License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+// The full text of the license can be found in the file LICENSE at
+// the top level of the deal.II distribution.
+//
+// ---------------------------------------------------------------------
+
+
+// Check that the wrapper for symengine numbers can be integrated into the
+// tensor class and works as expected.
+// This test is the same as symengine_tensor_operations_03.cc, except that we
+// invoke the batch optimizer before symbolic evaluation takes place.
+//
+// Here we invoke the LLVM optimizer before symbolic evaluation takes place,
+// and we invoke no additional symbolic optimizations as well.
+
+#include "../tests.h"
+
+#include "sd_common_tests/batch_optimizer_07.h"
+
+int
+main()
+{
+  initlog();
+
+  // Show the difference between a SymEngine "value" and
+  // an evaluated, floating point number
+  // deallog << std::setprecision(3);
+
+  const enum SD::OptimizerType     opt_method = SD::OptimizerType::llvm;
+  const enum SD::OptimizationFlags opt_flags =
+    SD::OptimizationFlags::optimize_default;
+
+  const int dim = 2;
+  run_tests<dim, opt_method, opt_flags>();
+}
diff --git a/tests/symengine/batch_optimizer_07_3a.with_symengine_with_llvm.output b/tests/symengine/batch_optimizer_07_3a.with_symengine_with_llvm.output
new file mode 100644 (file)
index 0000000..628f12b
--- /dev/null
@@ -0,0 +1,2 @@
+
+DEAL:dim 2::OK
diff --git a/tests/symengine/batch_optimizer_07_3b.cc b/tests/symengine/batch_optimizer_07_3b.cc
new file mode 100644 (file)
index 0000000..5548e3a
--- /dev/null
@@ -0,0 +1,44 @@
+// ---------------------------------------------------------------------
+//
+// Copyright (C) 2020 by the deal.II authors
+//
+// This file is part of the deal.II library.
+//
+// The deal.II library is free software; you can use it, redistribute
+// it, and/or modify it under the terms of the GNU Lesser General
+// Public License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+// The full text of the license can be found in the file LICENSE at
+// the top level of the deal.II distribution.
+//
+// ---------------------------------------------------------------------
+
+
+// Check that the wrapper for symengine numbers can be integrated into the
+// tensor class and works as expected.
+// This test is the same as symengine_tensor_operations_03.cc, except that we
+// invoke the batch optimizer before symbolic evaluation takes place.
+//
+// Here we invoke the LLVM optimizer before symbolic evaluation takes place,
+// as well as all additional symbolic optimizations.
+
+#include "../tests.h"
+
+#include "sd_common_tests/batch_optimizer_07.h"
+
+int
+main()
+{
+  initlog();
+
+  // Show the difference between a SymEngine "value" and
+  // an evaluated, floating point number
+  // deallog << std::setprecision(3);
+
+  const enum SD::OptimizerType     opt_method = SD::OptimizerType::llvm;
+  const enum SD::OptimizationFlags opt_flags =
+    SD::OptimizationFlags::optimize_all;
+
+  const int dim = 2;
+  run_tests<dim, opt_method, opt_flags>();
+}
diff --git a/tests/symengine/batch_optimizer_07_3b.with_symengine_with_llvm.output b/tests/symengine/batch_optimizer_07_3b.with_symengine_with_llvm.output
new file mode 100644 (file)
index 0000000..628f12b
--- /dev/null
@@ -0,0 +1,2 @@
+
+DEAL:dim 2::OK
diff --git a/tests/symengine/prm/parameters-step-44.prm b/tests/symengine/prm/parameters-step-44.prm
new file mode 100644 (file)
index 0000000..5634653
--- /dev/null
@@ -0,0 +1,76 @@
+# Listing of Parameters
+# ---------------------
+subsection Finite element system
+  # Displacement system polynomial order
+  set Polynomial degree = 1
+
+  # Gauss quadrature order
+  set Quadrature order  = 2
+end
+
+
+subsection Geometry
+  # Global refinement level
+  # Low refinement level because symbolic computations are (apparently) rather slow at the moment...
+  set Global refinement   = 1
+
+  # Global grid scaling factor
+  set Grid scale          = 1e-3
+
+  # Ratio of applied pressure to reference pressure
+  set Pressure ratio p/p0 = 100
+end
+
+
+subsection Linear solver
+  # Linear solver iterations (multiples of the system matrix size)
+  # In 2-d, this value is best set at 2. In 3-d, a value of 1 work fine.
+  set Max iteration multiplier = 2
+
+  # Linear solver residual (scaled by residual norm)
+  set Residual                 = 1e-6
+
+  # Use static condensation and solve a 1-block system, or solve
+  # the full 3-block system using Linear Operators and the Schur
+  # complement
+  set Use static condensation = true
+
+  # Preconditioner type
+  set Preconditioner type  = ssor
+
+  # Preconditioner relaxation value
+  set Preconditioner relaxation  = 0.65
+
+  # Type of solver used to solve the linear system
+  set Solver type              = CG
+end
+
+
+subsection Material properties
+  # Poisson's ratio
+  set Poisson's ratio = 0.4999
+
+  # Shear modulus
+  set Shear modulus   = 80.194e6
+end
+
+
+subsection Nonlinear solver
+  # Number of Newton-Raphson iterations allowed
+  set Max iterations Newton-Raphson = 10
+
+  # Displacement error tolerance
+  set Tolerance displacement        = 1.0e-6
+
+  # Force residual tolerance
+  set Tolerance force               = 1.0e-9
+end
+
+
+subsection Time
+  # End time
+  set End time       = 1
+
+  # Time step size
+  set Time step size = 0.1
+end
diff --git a/tests/symengine/sd_common_tests/batch_optimizer_01.h b/tests/symengine/sd_common_tests/batch_optimizer_01.h
new file mode 100644 (file)
index 0000000..ec5c059
--- /dev/null
@@ -0,0 +1,681 @@
+// ---------------------------------------------------------------------
+//
+// Copyright (C) 2020 by the deal.II authors
+//
+// This file is part of the deal.II library.
+//
+// The deal.II library is free software; you can use it, redistribute
+// it, and/or modify it under the terms of the GNU Lesser General
+// Public License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+// The full text of the license can be found in the file LICENSE at
+// the top level of the deal.II distribution.
+//
+// ---------------------------------------------------------------------
+
+
+// Header file:
+// Test that all of the low-level math operations function as expected and
+// that their values and derivatives can be computed using the optimizer.
+
+#include <deal.II/differentiation/ad.h>
+#include <deal.II/differentiation/sd.h>
+
+#include <iostream>
+
+using namespace dealii;
+namespace AD = Differentiation::AD;
+namespace SD = Differentiation::SD;
+
+template <typename NumberType>
+struct FunctionAdd
+{
+  static std::string
+  name()
+  {
+    return "Add";
+  }
+
+  static NumberType
+  psi(const NumberType &s1, const NumberType &s2)
+  {
+    return (s1 + s2) * (s1 + s2);
+  };
+};
+
+template <typename NumberType>
+struct FunctionSub
+{
+  static std::string
+  name()
+  {
+    return "Subtract";
+  }
+
+  static NumberType
+  psi(const NumberType &s1, const NumberType &s2)
+  {
+    return (s1 - s2) * (s1 - s2);
+  };
+};
+
+template <typename NumberType>
+struct FunctionMul
+{
+  static std::string
+  name()
+  {
+    return "Multiply";
+  }
+
+  static NumberType
+  psi(const NumberType &s1, const NumberType &s2)
+  {
+    return (s1 * s2) * (s1 * s2);
+  };
+};
+
+template <typename NumberType>
+struct FunctionDiv
+{
+  static std::string
+  name()
+  {
+    return "Divide";
+  }
+
+  static NumberType
+  psi(const NumberType &s1, const NumberType &s2)
+  {
+    return (s1 / s2) * (s1 / s2);
+  };
+};
+
+template <typename NumberType>
+struct FunctionPow
+{
+  static std::string
+  name()
+  {
+    return "Power";
+  }
+
+  static NumberType
+  psi(const NumberType &s1, const NumberType &s2)
+  {
+    return NumberType(2.0) * std::pow(s1, s2);
+  };
+};
+
+template <typename NumberType>
+struct FunctionSqrt
+{
+  static std::string
+  name()
+  {
+    return "Sqrt";
+  }
+
+  static NumberType
+  psi(const NumberType &s1, const NumberType &s2)
+  {
+    return NumberType(2.0) * std::sqrt(s1 * s2);
+  };
+};
+
+template <typename NumberType>
+struct FunctionExp
+{
+  static std::string
+  name()
+  {
+    return "Exponential";
+  }
+
+  static NumberType
+  psi(const NumberType &s1, const NumberType &s2)
+  {
+    return s1 * s1 * std::exp(s2);
+  };
+};
+
+template <typename NumberType>
+struct FunctionLog
+{
+  static std::string
+  name()
+  {
+    return "Logarithm";
+  }
+
+  static NumberType
+  psi(const NumberType &s1, const NumberType &s2)
+  {
+    return s1 * s1 * std::log(s2);
+  };
+};
+
+template <typename NumberType>
+struct FunctionLogBase
+{
+  static std::string
+  name()
+  {
+    return "Logarithm with Base";
+  }
+
+  static NumberType
+  psi(const NumberType &s1, const NumberType &s2)
+  {
+    return std::log(s2) / std::log(s1);
+  };
+};
+
+template <>
+struct FunctionLogBase<SD::Expression>
+{
+  static std::string
+  name()
+  {
+    return "Logarithm with Base";
+  }
+
+  static SD::Expression
+  psi(const SD::Expression &s1, const SD::Expression &s2)
+  {
+    return SD::log(s2, s1);
+  };
+};
+
+template <typename NumberType>
+struct FunctionLog10
+{
+  static std::string
+  name()
+  {
+    return "Logarithm base 10";
+  }
+
+  static NumberType
+  psi(const NumberType &s1, const NumberType &s2)
+  {
+    return s1 * s1 * std::log10(s2);
+  };
+};
+
+template <typename NumberType>
+struct FunctionSin
+{
+  static std::string
+  name()
+  {
+    return "Sin";
+  }
+
+  static NumberType
+  psi(const NumberType &s1, const NumberType &s2)
+  {
+    return std::sin(s2 / s1);
+  };
+};
+
+template <typename NumberType>
+struct FunctionCos
+{
+  static std::string
+  name()
+  {
+    return "Cos";
+  }
+
+  static NumberType
+  psi(const NumberType &s1, const NumberType &s2)
+  {
+    return std::cos(s2 / s1);
+  };
+};
+
+template <typename NumberType>
+struct FunctionTan
+{
+  static std::string
+  name()
+  {
+    return "Tan";
+  }
+
+  static NumberType
+  psi(const NumberType &s1, const NumberType &s2)
+  {
+    return std::tan(s2 / s1);
+  };
+};
+
+template <typename NumberType>
+struct FunctionASin
+{
+  static std::string
+  name()
+  {
+    return "ASin";
+  }
+
+  static NumberType
+  psi(const NumberType &s1, const NumberType &s2)
+  {
+    return std::asin(NumberType(1.0) / (s1 * s2));
+  };
+};
+
+template <typename NumberType>
+struct FunctionACos
+{
+  static std::string
+  name()
+  {
+    return "ACos";
+  }
+
+  static NumberType
+  psi(const NumberType &s1, const NumberType &s2)
+  {
+    return std::acos(NumberType(1.0) / (s1 * s2));
+  };
+};
+
+template <typename NumberType>
+struct FunctionATan
+{
+  static std::string
+  name()
+  {
+    return "ATan";
+  }
+
+  static NumberType
+  psi(const NumberType &s1, const NumberType &s2)
+  {
+    return std::atan(NumberType(1.0) / (s1 * s2));
+  };
+};
+
+template <typename NumberType>
+struct FunctionATan2
+{
+  static std::string
+  name()
+  {
+    return "ATan2";
+  }
+
+  static NumberType
+  psi(const NumberType &s1, const NumberType &s2)
+  {
+    return NumberType(3.0) * std::atan2(s2, s1);
+  };
+};
+
+// TODO: cosec; sec; cot; acosec; asec; acot
+
+template <typename NumberType>
+struct FunctionSinh
+{
+  static std::string
+  name()
+  {
+    return "Sinh";
+  }
+
+  static NumberType
+  psi(const NumberType &s1, const NumberType &s2)
+  {
+    return std::sinh(s2 / s1);
+  };
+};
+
+template <typename NumberType>
+struct FunctionCosh
+{
+  static std::string
+  name()
+  {
+    return "Cosh";
+  }
+
+  static NumberType
+  psi(const NumberType &s1, const NumberType &s2)
+  {
+    return std::cosh(s2 / s1);
+  };
+};
+
+template <typename NumberType>
+struct FunctionTanh
+{
+  static std::string
+  name()
+  {
+    return "Tanh";
+  }
+
+  static NumberType
+  psi(const NumberType &s1, const NumberType &s2)
+  {
+    return std::tanh(s2 / s1);
+  };
+};
+
+template <typename NumberType>
+struct FunctionErf
+{
+  static std::string
+  name()
+  {
+    return "Erf";
+  }
+
+  static NumberType
+  psi(const NumberType &s1, const NumberType &s2)
+  {
+    return s1 * s1 * std::erf(s2);
+  };
+};
+
+template <typename NumberType>
+struct FunctionErfc
+{
+  static std::string
+  name()
+  {
+    return "Erfc";
+  }
+
+  static NumberType
+  psi(const NumberType &s1, const NumberType &s2)
+  {
+    return s1 * s1 * std::erfc(s2);
+  };
+};
+
+template <typename NumberType>
+struct FunctionASinh
+{
+  static std::string
+  name()
+  {
+    return "ASinh";
+  }
+
+  static NumberType
+  psi(const NumberType &s1, const NumberType &s2)
+  {
+    return std::asinh(NumberType(1.0) / (s1 * s2));
+  };
+};
+
+template <typename NumberType>
+struct FunctionACosh
+{
+  static std::string
+  name()
+  {
+    return "ACosh";
+  }
+
+  static NumberType
+  psi(const NumberType &s1, const NumberType &s2)
+  {
+    return std::acosh(s1 * s2);
+  };
+};
+
+template <typename NumberType>
+struct FunctionATanh
+{
+  static std::string
+  name()
+  {
+    return "ATanh";
+  }
+
+  static NumberType
+  psi(const NumberType &s1, const NumberType &s2)
+  {
+    return std::atanh(NumberType(1.0) / (s1 * s2));
+  };
+};
+
+template <typename NumberType>
+struct FunctionAbs
+{
+  static std::string
+  name()
+  {
+    return "Abs";
+  }
+
+  static NumberType
+  psi(const NumberType &s1, const NumberType &s2)
+  {
+    return std::abs(s1 * s2) * std::abs(-1.0 * s1 / s2);
+  };
+};
+
+template <typename NumberType>
+struct FunctionMax
+{
+  static std::string
+  name()
+  {
+    return "Max";
+  }
+
+  static NumberType
+  psi(const NumberType &s1, const NumberType &s2)
+  {
+    return 2.5 * std::max(s1, s2) * std::max(s1, s2);
+  };
+};
+
+template <typename NumberType>
+struct FunctionMin
+{
+  static std::string
+  name()
+  {
+    return "Min";
+  }
+
+  static NumberType
+  psi(const NumberType &s1, const NumberType &s2)
+  {
+    return 1.5 * std::min(s1, s2) * std::min(s1, s2);
+  };
+};
+
+template <typename number_t,
+          enum SD::OptimizerType     opt_method,
+          enum SD::OptimizationFlags opt_flags,
+          template <typename> class FunctionStruct>
+void
+test_functions()
+{
+  deallog.push(FunctionStruct<number_t>::name());
+
+  // Evaluation point
+  const number_t     s1                      = 3.0;
+  const number_t     s2                      = 2.0;
+  const unsigned int n_independent_variables = 2;
+
+  // Pure SD differentiation
+  number_t             psi_sd_sd = 0.0;
+  Vector<number_t>     Dpsi_sd_sd(n_independent_variables);
+  FullMatrix<number_t> D2psi_sd_sd(n_independent_variables,
+                                   n_independent_variables);
+  {
+    typedef SD::Expression SDNumberType;
+
+    // Function and its derivatives
+    typedef FunctionStruct<SDNumberType> func_sd;
+
+    deallog.push("Symbolic computation: Function initialisation");
+    const SDNumberType symb_s0("s1");
+    const SDNumberType symb_s1("s2");
+    const SDNumberType symb_psi = func_sd::psi(symb_s0, symb_s1);
+    deallog << "symb_s0: " << symb_s0 << std::endl;
+    deallog << "symb_s1: " << symb_s1 << std::endl;
+    deallog << "symb_psi: " << symb_psi << std::endl;
+    deallog.pop();
+
+    deallog.push("Symbolic computation: Differentiation");
+    const SDNumberType symb_dpsi_ds0 = symb_psi.differentiate(symb_s0);
+    const SDNumberType symb_dpsi_ds1 = symb_psi.differentiate(symb_s1);
+    const SDNumberType symb_d2psi_ds0_ds0 =
+      symb_dpsi_ds0.differentiate(symb_s0);
+    const SDNumberType symb_d2psi_ds1_ds0 =
+      symb_dpsi_ds0.differentiate(symb_s1);
+    const SDNumberType symb_d2psi_ds0_ds1 =
+      symb_dpsi_ds1.differentiate(symb_s0);
+    const SDNumberType symb_d2psi_ds1_ds1 =
+      symb_dpsi_ds1.differentiate(symb_s1);
+    deallog << "symb_dpsi_ds0: " << symb_dpsi_ds0 << std::endl;
+    deallog << "symb_dpsi_ds1: " << symb_dpsi_ds1 << std::endl;
+    deallog << "symb_d2psi_ds0_ds0: " << symb_d2psi_ds0_ds0 << std::endl;
+    deallog << "symb_d2psi_ds1_ds0: " << symb_d2psi_ds1_ds0 << std::endl;
+    deallog << "symb_d2psi_ds0_ds1: " << symb_d2psi_ds0_ds1 << std::endl;
+    deallog << "symb_d2psi_ds1_ds1: " << symb_d2psi_ds1_ds1 << std::endl;
+    deallog.pop();
+
+    deallog.push("Symbolic computation: Optimization");
+    SD::BatchOptimizer<number_t> optimizer;
+    optimizer.set_optimization_method(opt_method, opt_flags);
+    SD::types::substitution_map sub_vals_optim;
+    SD::add_to_symbol_map(sub_vals_optim, symb_s0, symb_s1);
+    optimizer.register_symbols(sub_vals_optim); // Independent symbols
+    optimizer.register_functions(
+      symb_psi,
+      symb_dpsi_ds0,
+      symb_dpsi_ds1,
+      symb_d2psi_ds0_ds0,
+      symb_d2psi_ds1_ds0,
+      symb_d2psi_ds0_ds1,
+      symb_d2psi_ds1_ds1); // Dependent symbolic functions
+    std::cout << FunctionStruct<number_t>::name() << ": About to optimise... "
+              << std::flush;
+    optimizer.optimize();
+    std::cout << "done." << std::endl;
+    deallog.pop();
+
+    deallog.push("Symbolic computation: Substitution");
+    SD::types::substitution_map sub_vals;
+    SD::add_to_substitution_map(sub_vals, symb_s0, s1);
+    SD::add_to_substitution_map(sub_vals, symb_s1, s2);
+
+    // Perform substitution of symbols
+    std::cout << FunctionStruct<number_t>::name() << ": About to substitute... "
+              << std::flush;
+    optimizer.substitute(sub_vals);
+    std::cout << "done." << std::endl;
+    // optimizer.print(std::cout);
+
+    // Evaluate
+    deallog << "subs_psi: " << optimizer.evaluate(symb_psi) << std::endl;
+    deallog << "subs_dpsi_ds0: " << optimizer.evaluate(symb_dpsi_ds0)
+            << std::endl;
+    deallog << "subs_dpsi_ds1: " << optimizer.evaluate(symb_dpsi_ds1)
+            << std::endl;
+    deallog << "subs_d2psi_ds0_ds0: " << optimizer.evaluate(symb_d2psi_ds0_ds0)
+            << std::endl;
+    deallog << "subs_d2psi_ds1_ds0: " << optimizer.evaluate(symb_d2psi_ds1_ds0)
+            << std::endl;
+    deallog << "subs_d2psi_ds0_ds1: " << optimizer.evaluate(symb_d2psi_ds0_ds1)
+            << std::endl;
+    deallog << "subs_d2psi_ds1_ds1: " << optimizer.evaluate(symb_d2psi_ds1_ds1)
+            << std::endl;
+    deallog.pop();
+  }
+
+  deallog.pop();
+}
+
+template <typename number_t,
+          enum SD::OptimizerType     opt_method,
+          enum SD::OptimizationFlags opt_flags>
+void
+test_all_functions()
+{
+  const bool skip_non_implemented_functions =
+    (numbers::NumberTraits<number_t>::is_complex &&
+     (opt_method == SD::OptimizerType::dictionary ||
+      opt_method == SD::OptimizerType::lambda));
+
+  std::cout << "Optimisation method: " << opt_method << "\n"
+            << "Optimisation flags: " << opt_flags << "\n"
+            << "Skip non-implemented functions: "
+            << skip_non_implemented_functions << std::endl;
+
+  test_functions<number_t, opt_method, opt_flags, FunctionAdd>();
+  test_functions<number_t, opt_method, opt_flags, FunctionSub>();
+  test_functions<number_t, opt_method, opt_flags, FunctionMul>();
+  test_functions<number_t, opt_method, opt_flags, FunctionDiv>();
+  test_functions<number_t, opt_method, opt_flags, FunctionPow>();
+  test_functions<number_t, opt_method, opt_flags, FunctionSqrt>();
+  test_functions<number_t, opt_method, opt_flags, FunctionExp>();
+  test_functions<number_t, opt_method, opt_flags, FunctionLog>();
+  test_functions<number_t, opt_method, opt_flags, FunctionLogBase>();
+  test_functions<number_t, opt_method, opt_flags, FunctionLog10>();
+  test_functions<number_t, opt_method, opt_flags, FunctionSin>();
+  test_functions<number_t, opt_method, opt_flags, FunctionCos>();
+  test_functions<number_t, opt_method, opt_flags, FunctionTan>();
+  test_functions<number_t, opt_method, opt_flags, FunctionASin>();
+  test_functions<number_t, opt_method, opt_flags, FunctionACos>();
+  test_functions<number_t, opt_method, opt_flags, FunctionATan>();
+  if (!skip_non_implemented_functions)
+    test_functions<number_t, opt_method, opt_flags, FunctionATan2>();
+  test_functions<number_t, opt_method, opt_flags, FunctionSinh>();
+  test_functions<number_t, opt_method, opt_flags, FunctionCosh>();
+  test_functions<number_t, opt_method, opt_flags, FunctionTanh>();
+  //  test_functions<number_t,opt_method,opt_flags,FunctionAbs>(); // Cannot
+  //  perform substitution on derivative
+  //  test_functions<number_t,opt_method,opt_flags,FunctionMax>(); // Cannot
+  //  perform substitution on derivative
+  //  test_functions<number_t,opt_method,opt_flags,FunctionMin>(); // Cannot
+  //  perform substitution on derivative
+
+  test_functions<number_t, opt_method, opt_flags, FunctionASinh>();
+  test_functions<number_t, opt_method, opt_flags, FunctionACosh>();
+  test_functions<number_t, opt_method, opt_flags, FunctionATanh>();
+
+  if (!skip_non_implemented_functions)
+    test_functions<number_t, opt_method, opt_flags, FunctionErf>();
+  if (!skip_non_implemented_functions)
+    test_functions<number_t, opt_method, opt_flags, FunctionErfc>();
+
+  deallog << "OK" << std::endl;
+}
+
+template <enum SD::OptimizerType     opt_method,
+          enum SD::OptimizationFlags opt_flags>
+void
+run_tests(const int n_runs = 1)
+{
+  deallog.push("Float");
+  test_all_functions<float, opt_method, opt_flags>();
+  deallog.pop();
+
+  deallog.push("Double");
+  test_all_functions<double, opt_method, opt_flags>();
+  deallog.pop();
+
+  // The LLVM optimizer does not currently support complex numbers.
+  if (opt_method != SD::OptimizerType::llvm)
+    {
+      deallog.push("Complex float");
+      test_all_functions<std::complex<float>, opt_method, opt_flags>();
+      deallog.pop();
+
+      deallog.push("Complex double");
+      test_all_functions<std::complex<double>, opt_method, opt_flags>();
+      deallog.pop();
+    }
+}
diff --git a/tests/symengine/sd_common_tests/batch_optimizer_02.h b/tests/symengine/sd_common_tests/batch_optimizer_02.h
new file mode 100644 (file)
index 0000000..f5b458c
--- /dev/null
@@ -0,0 +1,308 @@
+// ---------------------------------------------------------------------
+//
+// Copyright (C) 2020 by the deal.II authors
+//
+// This file is part of the deal.II library.
+//
+// The deal.II library is free software; you can use it, redistribute
+// it, and/or modify it under the terms of the GNU Lesser General
+// Public License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+// The full text of the license can be found in the file LICENSE at
+// the top level of the deal.II distribution.
+//
+// ---------------------------------------------------------------------
+
+
+// Check that the wrapper for symengine numbers can be integrated into the
+// tensor class and works as expected.
+// This test is the same as symengine_wrapper_03.cc, except that we invoke the
+// batch optimzer  before symbolic evaluation takes place.
+
+#include <deal.II/base/timer.h>
+
+#include <deal.II/differentiation/sd.h>
+
+#include "../../tests.h"
+
+using namespace dealii;
+namespace SD = Differentiation::SD;
+
+template <int dim, typename NumberType>
+Tensor<2, dim, NumberType>
+make_tensor(const NumberType &val)
+{
+  Tensor<2, dim, NumberType> out;
+  for (unsigned int i = 0; i < dim; ++i)
+    out[i][i] = 1.0;
+
+  for (unsigned int i = 0; i < out.n_independent_components; ++i)
+    out[out.unrolled_to_component_indices(i)] += i + val;
+  return out;
+}
+
+template <int dim, typename NumberType>
+SymmetricTensor<2, dim, NumberType>
+make_symm_tensor(const NumberType &val)
+{
+  SymmetricTensor<2, dim, NumberType> out;
+  for (unsigned int i = 0; i < dim; ++i)
+    out[i][i] = 1.0;
+
+  for (unsigned int i = 0; i < out.n_independent_components; ++i)
+    out[out.unrolled_to_component_indices(i)] += i + val;
+  return out;
+}
+
+template <typename NumberType,
+          enum SD::OptimizerType     opt_method,
+          enum SD::OptimizationFlags opt_flags>
+void
+test_scalar(const int n_runs, TimerOutput &timer)
+{
+  typedef SD::Expression SD_number_t;
+
+  const NumberType  a = NumberType(1.5);
+  const SD_number_t x("x");
+  const SD_number_t y("y");
+  timer.enter_subsection("Value calculation");
+  const SD_number_t symb_s = a + NumberType(2.0) * std::pow(x, y) +
+                             a * y / std::log(x) + std::sin(x * y * y / a);
+  deallog << "symb_s: " << symb_s << std::endl;
+  timer.leave_subsection("Value calculation");
+
+  timer.enter_subsection("Differentiation");
+  const SD_number_t symb_ds_dx = SD::differentiate(symb_s, x);
+  deallog << "symb_ds_dx: " << symb_ds_dx << std::endl;
+  timer.leave_subsection("Differentiation");
+
+  SD::types::substitution_map sub_vals;
+  SD::add_to_substitution_map(sub_vals, SD::make_substitution_map(x, 2.5));
+  SD::add_to_substitution_map(sub_vals, SD::make_substitution_map(y, 1.5));
+
+  deallog.push("Substitution");
+  {
+    TimerOutput::Scope timer_scope(timer, "Unoptimised substitution");
+    for (unsigned int i = 0; i < n_runs; ++i)
+      {
+        const SD_number_t subs_s     = SD::substitute(symb_s, sub_vals);
+        const SD_number_t subs_ds_dx = SD::substitute(symb_ds_dx, sub_vals);
+        if (i == 0)
+          deallog << "substitute: "
+                  << "  s: " << subs_s << "  ds_dx: " << subs_ds_dx
+                  << std::endl;
+
+        const NumberType val_s     = static_cast<NumberType>(subs_s);
+        const NumberType val_ds_dx = static_cast<NumberType>(subs_ds_dx);
+        if (i == 0)
+          deallog << "evaluation: "
+                  << "  s: " << val_s << "  ds_dx: " << val_ds_dx << std::endl;
+      }
+  }
+  deallog.pop();
+
+  deallog.push("Optimisation + substitution");
+  {
+    // Send our symbolic expression through
+    // a batch optimiser
+    timer.enter_subsection("Optimisation");
+    SD::BatchOptimizer<NumberType> optimizer(opt_method, opt_flags);
+    optimizer.register_symbols(sub_vals); // Independent symbols
+    optimizer.register_function(
+      symb_s); // Dependent symbolic expressions (scalar)
+    optimizer.register_function(
+      symb_ds_dx); // Dependent symbolic expressions (scalar)
+    optimizer.optimize();
+    timer.leave_subsection("Optimisation");
+
+    TimerOutput::Scope timer_scope(timer, "Optimised substitution");
+    for (unsigned int i = 0; i < n_runs; ++i)
+      {
+        optimizer.substitute(sub_vals);
+
+        const NumberType val_s     = optimizer.evaluate(symb_s);
+        const NumberType val_ds_dx = optimizer.evaluate(symb_ds_dx);
+        if (i == 0)
+          deallog << "evaluation: "
+                  << "  s: " << val_s << "  ds_dx: " << val_ds_dx << std::endl;
+      }
+  }
+  deallog.pop();
+}
+
+template <int dim,
+          typename NumberType,
+          enum SD::OptimizerType     opt_method,
+          enum SD::OptimizationFlags opt_flags>
+void
+test_tensor(const int n_runs, TimerOutput &timer)
+{
+  namespace SD = Differentiation::SD;
+  typedef SD::Expression                       SD_number_t;
+  typedef Tensor<2, dim, SD_number_t>          SD_tensor_t;
+  typedef SymmetricTensor<2, dim, SD_number_t> SD_symm_tensor_t;
+
+  const NumberType       a = NumberType(1.5);
+  const SD_number_t      x("x");
+  const SD_tensor_t      y(SD::make_tensor_of_symbols<2, dim>("y"));
+  const SD_symm_tensor_t z(SD::make_symmetric_tensor_of_symbols<2, dim>("z"));
+
+  timer.enter_subsection("Value calculation");
+  const SD_number_t symb_s =
+    a + NumberType(2.0) * std::pow(x, determinant(y)) +
+    a * determinant(y) * std::log((z * z) / determinant(y)) +
+    std::sin((z * symmetrize(y)) / a);
+  deallog << "symb_s: " << symb_s << std::endl;
+  timer.leave_subsection("Value calculation");
+
+  timer.enter_subsection("Differentiation");
+  const SD_number_t      symb_ds_dx = SD::differentiate(symb_s, x);
+  const SD_tensor_t      symb_ds_dy = SD::differentiate(symb_s, y);
+  const SD_symm_tensor_t symb_ds_dz = SD::differentiate(symb_s, z);
+  deallog << "symb_ds_dy: " << symb_ds_dy << std::endl;
+  timer.leave_subsection("Differentiation");
+
+  SD::types::substitution_map sub_vals;
+  SD::add_to_substitution_map(sub_vals, SD::make_substitution_map(x, 2.5));
+  SD::add_to_substitution_map(
+    sub_vals, SD::make_substitution_map(y, make_tensor<dim>(NumberType(2.2))));
+  SD::add_to_substitution_map(
+    sub_vals,
+    SD::make_substitution_map(z, make_symm_tensor<dim>(NumberType(3.7))));
+
+  deallog.push("Substitution");
+  {
+    TimerOutput::Scope timer_scope(timer, "Unoptimised substitution");
+    for (unsigned int i = 0; i < n_runs; ++i)
+      {
+        const SD_number_t subs_s     = SD::substitute(symb_s, sub_vals);
+        const SD_number_t subs_ds_dx = SD::substitute(symb_ds_dx, sub_vals);
+        const SD_tensor_t subs_ds_dy = SD::substitute(symb_ds_dy, sub_vals);
+        const SD_symm_tensor_t subs_ds_dz =
+          SD::substitute(symb_ds_dz, sub_vals);
+        if (i == 0)
+          deallog << "substitute: "
+                  << "  s: " << subs_s << "  ds_dx: " << subs_ds_dx
+                  << "  ds_dy: " << subs_ds_dy << "  ds_dz: " << subs_ds_dz
+                  << std::endl;
+
+        const NumberType val_s     = static_cast<NumberType>(subs_s);
+        const NumberType val_ds_dx = static_cast<NumberType>(subs_ds_dx);
+        const Tensor<2, dim, NumberType> val_ds_dy =
+          static_cast<Tensor<2, dim, NumberType>>(subs_ds_dy);
+        const SymmetricTensor<2, dim, NumberType> val_ds_dz =
+          static_cast<SymmetricTensor<2, dim, NumberType>>(subs_ds_dz);
+        if (i == 0)
+          deallog << "evaluation: "
+                  << "  s: " << val_s << "  ds_dx: " << val_ds_dx
+                  << "  ds_dy: " << val_ds_dy << "  ds_dz: " << val_ds_dz
+                  << std::endl;
+      }
+  }
+  deallog.pop();
+
+  deallog.push("Optimisation + substitution");
+  {
+    // Send our symbolic expression through
+    // a batch optimiser
+    timer.enter_subsection("Optimisation");
+    SD::BatchOptimizer<NumberType> optimizer(opt_method, opt_flags);
+    optimizer.register_symbols(sub_vals); // Independent symbols
+    optimizer.register_function(
+      symb_s); // Dependent symbolic expressions (scalar)
+    optimizer.register_function(
+      symb_ds_dx); // Dependent symbolic expressions (scalar)
+    optimizer.register_function(
+      symb_ds_dy); // Dependent symbolic expressions (tensor)
+    optimizer.register_function(
+      symb_ds_dz); // Dependent symbolic expressions (symm tensor)
+    optimizer.optimize();
+
+    timer.leave_subsection("Optimisation");
+
+
+    TimerOutput::Scope timer_scope(timer, "Optimised substitution");
+    for (unsigned int i = 0; i < n_runs; ++i)
+      {
+        optimizer.substitute(sub_vals);
+
+        const NumberType val_s     = optimizer.evaluate(symb_s);
+        const NumberType val_ds_dx = optimizer.evaluate(symb_ds_dx);
+        const Tensor<2, dim, NumberType> val_ds_dy =
+          optimizer.evaluate(symb_ds_dy);
+        const SymmetricTensor<2, dim, NumberType> val_ds_dz =
+          optimizer.evaluate(symb_ds_dz);
+
+        if (i == 0)
+          deallog << "evaluation: "
+                  << "  s: " << val_s << "  ds_dx: " << val_ds_dx
+                  << "  ds_dy: " << val_ds_dy << "  ds_dz: " << val_ds_dz
+                  << std::endl;
+      }
+  }
+  deallog.pop();
+}
+
+
+template <int                        dim,
+          enum SD::OptimizerType     opt_method,
+          enum SD::OptimizationFlags opt_flags>
+void
+run_tests(const int n_runs)
+{
+  // Show the difference between a SymEngine "value" and
+  // an evaluated, floating point number
+  // deallog << std::setprecision(3);
+
+  deallog.push("Scalar");
+  {
+    std::cout << "Scalar values" << std::endl;
+
+    TimerOutput timer(std::cout, TimerOutput::summary, TimerOutput::wall_times);
+
+    // deallog.push("Integer");
+    // test_scalar<int>(n_runs, timer);
+    // deallog.pop();
+
+    deallog.push("Float");
+    test_scalar<float, opt_method, opt_flags>(n_runs, timer);
+    deallog.pop();
+    //
+    deallog.push("Double");
+    test_scalar<double, opt_method, opt_flags>(n_runs, timer);
+    deallog.pop();
+
+    // Not available yet
+    // SymEngine::SymEngineException: Invalid Format: Expected Integer or
+    // Rational deallog.push("Complex double");
+    // test_tensor<dim,std::complex<double>>();
+  }
+  deallog.pop();
+
+  deallog.push("Tensor");
+  {
+    std::cout << "Tensor values" << std::endl;
+
+    TimerOutput timer(std::cout, TimerOutput::summary, TimerOutput::wall_times);
+
+    // deallog.push("Integer");
+    // test_tensor<dim,int>(n_runs, timer);
+    // deallog.pop();
+
+    deallog.push("Float");
+    test_tensor<dim, float, opt_method, opt_flags>(n_runs, timer);
+    deallog.pop();
+
+    deallog.push("Double");
+    test_tensor<dim, double, opt_method, opt_flags>(n_runs, timer);
+    deallog.pop();
+
+    // Not available yet
+    // SymEngine::SymEngineException: Invalid Format: Expected Integer or
+    // Rational deallog.push("Complex double");
+    // test_tensor<dim,std::complex<double>>();
+  }
+  deallog.pop();
+
+  deallog << "OK" << std::endl;
+}
diff --git a/tests/symengine/sd_common_tests/batch_optimizer_03.h b/tests/symengine/sd_common_tests/batch_optimizer_03.h
new file mode 100644 (file)
index 0000000..d38c275
--- /dev/null
@@ -0,0 +1,471 @@
+// ---------------------------------------------------------------------
+//
+// Copyright (C) 2020 by the deal.II authors
+//
+// This file is part of the deal.II library.
+//
+// The deal.II library is free software; you can use it, redistribute
+// it, and/or modify it under the terms of the GNU Lesser General
+// Public License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+// The full text of the license can be found in the file LICENSE at
+// the top level of the deal.II distribution.
+//
+// ---------------------------------------------------------------------
+
+
+// Check that one can perform substitution of symbolic derivatives that
+// are the result of explicit or implicit relationships between symbolic
+// variables.
+// See tests/symengine/basic_06.cc and tests/symengine/basic_07.cc for
+// a more simple example of differentiation of symbols with
+// explicit/implicit relationships.
+// We invoke the batch optimzer before symbolic evaluation takes place.
+
+#include <deal.II/base/symmetric_tensor.h>
+#include <deal.II/base/tensor.h>
+
+#include <deal.II/differentiation/sd.h>
+
+#include <iostream>
+#include <string>
+
+#include "../../tests.h"
+
+using namespace dealii;
+namespace SD = Differentiation::SD;
+
+namespace Diff_Test
+{
+  namespace internal
+  {
+    namespace
+    {
+      template <typename Stream, typename NumberType>
+      void
+      print(Stream &stream, const std::string &name, const NumberType &val)
+      {
+        stream << name << ": " << val << std::endl;
+      }
+      template <typename Stream, int dim, typename NumberType>
+      void
+      print(Stream &                          stream,
+            const std::string &               name,
+            const Tensor<0, dim, NumberType> &val)
+      {
+        stream << name << ": " << val << std::endl;
+      }
+      template <typename Stream, int dim, typename NumberType>
+      void
+      print(Stream &                          stream,
+            const std::string &               name,
+            const Tensor<1, dim, NumberType> &t)
+      {
+        for (unsigned int i = 0; i < dim; ++i)
+          stream << name << "[" << i << "]: " << t[i] << std::endl;
+      }
+      template <typename Stream, int dim, typename NumberType>
+      void
+      print(Stream &                          stream,
+            const std::string &               name,
+            const Tensor<2, dim, NumberType> &t)
+      {
+        for (unsigned int i = 0; i < dim; ++i)
+          for (unsigned int j = 0; j < dim; ++j)
+            stream << name << "[" << i << "][" << j << "]: " << t[i][j]
+                   << std::endl;
+      }
+      template <typename Stream, int dim, typename NumberType>
+      void
+      print(Stream &                                   stream,
+            const std::string &                        name,
+            const SymmetricTensor<2, dim, NumberType> &t)
+      {
+        for (unsigned int i = 0; i < dim; ++i)
+          for (unsigned int j = i; j < dim; ++j)
+            stream << name << "[" << i << "][" << j << "]: " << t[i][j]
+                   << std::endl;
+      }
+      template <typename Stream, int dim, typename NumberType>
+      void
+      print(Stream &                          stream,
+            const std::string &               name,
+            const Tensor<3, dim, NumberType> &t)
+      {
+        for (unsigned int i = 0; i < dim; ++i)
+          for (unsigned int j = 0; j < dim; ++j)
+            for (unsigned int k = 0; k < dim; ++k)
+              stream << name << "[" << i << "][" << j << "][" << k
+                     << "]: " << t[i][j][k] << std::endl;
+      }
+      template <typename Stream, int dim, typename NumberType>
+      void
+      print(Stream &                          stream,
+            const std::string &               name,
+            const Tensor<4, dim, NumberType> &t)
+      {
+        for (unsigned int i = 0; i < dim; ++i)
+          for (unsigned int j = 0; j < dim; ++j)
+            for (unsigned int k = 0; k < dim; ++k)
+              for (unsigned int l = 0; l < dim; ++l)
+                stream << name << "[" << i << "][" << j << "][" << k << "]["
+                       << l << "]: " << t[i][j][k][l] << std::endl;
+      }
+      template <typename Stream, int dim, typename NumberType>
+      void
+      print(Stream &                                   stream,
+            const std::string &                        name,
+            const SymmetricTensor<4, dim, NumberType> &t)
+      {
+        for (unsigned int i = 0; i < dim; ++i)
+          for (unsigned int j = i; j < dim; ++j)
+            for (unsigned int k = 0; k < dim; ++k)
+              for (unsigned int l = k; l < dim; ++l)
+                stream << name << "[" << i << "][" << j << "][" << k << "]["
+                       << l << "]: " << t[i][j][k][l] << std::endl;
+      }
+    } // namespace
+  }   // namespace internal
+
+  template <int dim,
+            typename NumberType,
+            enum SD::OptimizerType     opt_method,
+            enum SD::OptimizationFlags opt_flags>
+  void
+  test_standard()
+  {
+    SD::BatchOptimizer<NumberType> optimizer;
+
+    const SD::Expression mu_e_SD(SD::make_symbol("mu_e"));
+    const SD::Expression kappa_e_SD(SD::make_symbol("kappa_e"));
+    const SymmetricTensor<2, dim, SD::Expression> C_SD(
+      SD::make_symmetric_tensor_of_symbols<2, dim>("C"));
+
+    const SD::Expression symbolic_psi =
+      0.5 * mu_e_SD * (trace(C_SD) - 3) +
+      kappa_e_SD * (std::log(determinant(C_SD)));
+
+    // Compute partial derivatives of energy function
+    const SymmetricTensor<2, dim, SD::Expression> symbolic_S =
+      2.0 * SD::differentiate(symbolic_psi, C_SD); // S = 2*dpsi_dC
+    const SymmetricTensor<4, dim, SD::Expression> symbolic_HH =
+      2.0 * SD::differentiate(symbolic_S, C_SD); // HH = 2*dS_dC = 4*d2psi_dC_dC
+
+    // Configure optimizer
+    SD::types::substitution_map sub_vals_optim;
+    SD::add_to_symbol_map(sub_vals_optim, mu_e_SD, kappa_e_SD, C_SD);
+
+    optimizer.set_optimization_method(opt_method, opt_flags);
+
+    optimizer.register_symbols(sub_vals_optim); // Independent symbols
+    optimizer.register_functions(symbolic_psi,
+                                 symbolic_S,
+                                 symbolic_HH); // Dependent symbolic functions
+    optimizer.optimize();
+
+    const bool print_symbols = true;
+    if (print_symbols == true)
+      {
+        internal::print(deallog, "psi", symbolic_psi);
+        internal::print(deallog, "S", symbolic_S);
+        internal::print(deallog, "HH", symbolic_HH);
+      }
+
+    // Numerical substitution
+    SD::types::substitution_map               sub_vals_unresolved;
+    const double                              mu_e    = 3;
+    const double                              kappa_e = 10;
+    const SymmetricTensor<2, dim, NumberType> C =
+      2.0 * unit_symmetric_tensor<dim>();
+    SD::add_to_substitution_map(sub_vals_unresolved,
+                                std::make_pair(mu_e_SD, mu_e),
+                                std::make_pair(kappa_e_SD, kappa_e),
+                                std::make_pair(C_SD, C));
+    // NOTE: The recursive substitution is not really required in this case, but
+    // good to use in practise in case a more complex energy function is
+    // employed later
+    const SD::types::substitution_map sub_vals =
+      SD::resolve_explicit_dependencies(sub_vals_unresolved);
+
+    // Perform substitution of symbols
+    optimizer.substitute(sub_vals);
+
+    // Extract values
+    const bool print_values = true;
+    if (print_values == true)
+      {
+        internal::print(deallog, "psi", optimizer.evaluate(symbolic_psi));
+        internal::print(deallog, "S", optimizer.evaluate(symbolic_S));
+        internal::print(deallog, "HH", optimizer.evaluate(symbolic_HH));
+      }
+  }
+
+  template <int dim,
+            typename NumberType,
+            enum SD::OptimizerType     opt_method,
+            enum SD::OptimizationFlags opt_flags>
+  void
+  test_explicit()
+  {
+    SD::BatchOptimizer<NumberType> optimizer;
+
+    // Set up the primary independent variable
+    const SD::Expression mu_e_SD(SD::make_symbol("mu_e"));
+    const SD::Expression kappa_e_SD(SD::make_symbol("kappa_e"));
+    const SymmetricTensor<2, dim, SD::Expression> C_SD(
+      SD::make_symmetric_tensor_of_symbols<2, dim>("C"));
+
+    // Set up an internal variable that treated as an independent variable
+    const SD::Expression mu_v_SD(SD::make_symbol("mu_v"));
+    const SD::Expression kappa_v_SD(SD::make_symbol("kappa_v"));
+    const SymmetricTensor<2, dim, SD::Expression> Qi_SD(
+      SD::make_symmetric_tensor_of_symbols<2, dim>("Qi"));
+
+    // Compute the dependent variable
+    const SD::Expression symbolic_psi_CQi =
+      0.5 * mu_e_SD * (trace(C_SD) - 3) +
+      kappa_e_SD * (std::log(determinant(C_SD))) +
+      0.5 * mu_v_SD * ((C_SD * Qi_SD) - 3) +
+      kappa_v_SD * (std::log(C_SD * Qi_SD));
+
+    // Compute partial derivatives of energy function
+    const SymmetricTensor<2, dim, SD::Expression> symbolic_S_CQi =
+      2.0 * SD::differentiate(symbolic_psi_CQi, C_SD); // S = 2*dpsi_dC
+
+    // Here is the explicit definition of Q in terms of C
+    // We would know this when Q is linearly dependent on C
+    SD::types::substitution_map sub_vals_explicit;
+    SD::add_to_substitution_map(sub_vals_explicit,
+                                std::make_pair(Qi_SD, 2 * C_SD));
+
+    // Note: After performing these operations we should not longer
+    // need to consider the internal variable Q at all
+    const SD::Expression symbolic_psi =
+      SD::substitute(symbolic_psi_CQi, sub_vals_explicit);
+    const SymmetricTensor<2, dim, SD::Expression> symbolic_S =
+      SD::substitute(symbolic_S_CQi, sub_vals_explicit);
+    const SymmetricTensor<4, dim, SD::Expression> symbolic_HH =
+      2.0 * SD::differentiate(symbolic_S, C_SD); // HH = 2*dS_dC = 4*d2psi_dC_dC
+
+    // Configure optimizer
+    SD::types::substitution_map sub_vals_optim;
+    SD::add_to_symbol_map(
+      sub_vals_optim, mu_e_SD, kappa_e_SD, C_SD, mu_v_SD, kappa_v_SD);
+
+    optimizer.set_optimization_method(opt_method, opt_flags);
+
+    optimizer.register_symbols(sub_vals_optim); // Independent symbols
+    optimizer.register_functions(symbolic_psi,
+                                 symbolic_S,
+                                 symbolic_HH); // Dependent symbolic functions
+    optimizer.optimize();
+
+    const bool print_symbols = true;
+    if (print_symbols == true)
+      {
+        internal::print(deallog, "psi (Q)", symbolic_psi_CQi);
+        internal::print(deallog, "psi", symbolic_psi);
+        internal::print(deallog, "S (Q)", symbolic_S_CQi);
+        internal::print(deallog, "S", symbolic_S);
+        internal::print(deallog, "HH", symbolic_HH);
+      }
+
+    // Numerical substitution
+    SD::types::substitution_map               sub_vals_unresolved;
+    const double                              mu_e    = 3;
+    const double                              kappa_e = 10;
+    const SymmetricTensor<2, dim, NumberType> C =
+      2.0 * unit_symmetric_tensor<dim>();
+    const double mu_v    = 5;
+    const double kappa_v = 2;
+    SD::add_to_substitution_map(sub_vals_unresolved,
+                                std::make_pair(mu_e_SD, mu_e),
+                                std::make_pair(kappa_e_SD, kappa_e),
+                                std::make_pair(C_SD, C),
+                                std::make_pair(mu_v_SD, mu_v),
+                                std::make_pair(kappa_v_SD, kappa_v));
+    // NOTE: The recursive substitution is not really required in this case, but
+    // good to use in practise in case a more complex energy function is
+    // employed later
+    const SD::types::substitution_map sub_vals =
+      SD::resolve_explicit_dependencies(sub_vals_unresolved);
+
+    // Perform substitution of symbols
+    optimizer.substitute(sub_vals);
+
+    // Extract values
+    const bool print_values = true;
+    if (print_values == true)
+      {
+        internal::print(deallog, "psi", optimizer.evaluate(symbolic_psi));
+        internal::print(deallog, "S", optimizer.evaluate(symbolic_S));
+        internal::print(deallog, "HH", optimizer.evaluate(symbolic_HH));
+      }
+  }
+
+  template <int dim,
+            typename NumberType,
+            enum SD::OptimizerType     opt_method,
+            enum SD::OptimizationFlags opt_flags>
+  void
+  test_implicit()
+  {
+    SD::BatchOptimizer<NumberType> optimizer;
+
+    // Set up the primary independent variable
+    const SD::Expression mu_e_SD(SD::make_symbol("mu_e"));
+    const SD::Expression kappa_e_SD(SD::make_symbol("kappa_e"));
+    const SymmetricTensor<2, dim, SD::Expression> C_SD(
+      SD::make_symmetric_tensor_of_symbols<2, dim>("C"));
+
+    // Set up an internal variable that treated as an independent variable
+    const SD::Expression mu_v_SD(SD::make_symbol("mu_v"));
+    const SD::Expression kappa_v_SD(SD::make_symbol("kappa_v"));
+    const SymmetricTensor<2, dim, SD::Expression> Qi_SD(
+      SD::make_symmetric_tensor_of_symbols<2, dim>("Qi"));
+
+    // Compute the dependent variable
+    const SD::Expression symbolic_psi =
+      0.5 * mu_e_SD * (trace(C_SD) - 3) +
+      kappa_e_SD * (std::log(determinant(C_SD))) +
+      0.5 * mu_v_SD * ((C_SD * Qi_SD) - 3) +
+      kappa_v_SD * (std::log(C_SD * Qi_SD));
+
+    // Compute partial derivatives of energy function
+    const SymmetricTensor<2, dim, SD::Expression> symbolic_S =
+      2.0 * SD::differentiate(symbolic_psi, C_SD); // S = 2*dpsi_dC
+
+    // Here is the implicit definition of Q in terms of C
+    // We would have to define the relationship in this manner when
+    // Q is nonlinearly dependent on C
+    const SD::types::substitution_map sub_vals_func_symb_dependencies =
+      SD::make_symbol_map(C_SD);
+    const SymmetricTensor<2, dim, SD::Expression> Qd_SD =
+      SD::make_symmetric_tensor_of_symbolic_functions<2, dim>(
+        "Qd", sub_vals_func_symb_dependencies);
+    const SymmetricTensor<4, dim, SD::Expression> dQd_SD_dC =
+      SD::differentiate(Qd_SD, C_SD);
+    //    internal::print(deallog,"Qd_SD",Qd_SD);
+    //    internal::print(deallog,"dQd_SD_dC",dQd_SD_dC);
+
+    // Now we substitute out the independent internal variable
+    // for one that has a sensitivity on the primary independent variable
+    const SD::types::substitution_map sub_vals_implicit =
+      SD::make_substitution_map(std::make_pair(Qi_SD, Qd_SD));
+    const SymmetricTensor<2, dim, SD::Expression> symbolic_S_subs_Q =
+      SD::substitute(symbolic_S, sub_vals_implicit);
+    // And differentiate. This computes the total derivative of S
+    // with respect to C, but accommodates the implicit relationship
+    // between Q(C) and C that is yet to be resolved.
+    const SymmetricTensor<4, dim, SD::Expression> symbolic_HH_total_impl =
+      2.0 * SD::differentiate(symbolic_S_subs_Q,
+                              C_SD); // HH = 2*dS_dC = 4*d2psi_dC_dC
+    //    internal::print(deallog,"symbolic_HH_total_impl",symbolic_HH_total_impl);
+
+    // An example of an implicit relationship would be
+    // dQ/dt = 2.0*C*log( det(C)*log(Q(C) )
+    // Since Q(C) is an implicit relationship, we cannot
+    // symbolically resolve Q in terms of the components of C:
+    // this would be done numerically using a nonlinear
+    // solution scheme. That same nonlinear solver
+    // can numerically compute dQ_dC for us, so we will assume
+    // that we have both of these sets of values.
+    const SymmetricTensor<4, dim, SD::Expression> dQ_dC_i_SD =
+      SD::make_symmetric_tensor_of_symbols<4, dim>("dQ_dC_i");
+    const SD::types::substitution_map sub_vals_explicit =
+      SD::make_substitution_map(std::make_pair(Qd_SD, Qi_SD),
+                                std::make_pair(SD::differentiate(Qd_SD, C_SD),
+                                               dQ_dC_i_SD));
+    //    internal::print(deallog,"dQ_dC_i",dQ_dC_i);
+
+    // Substitute derivative terms
+    SD::resolve_explicit_dependencies(sub_vals_explicit);
+    const SymmetricTensor<4, dim, SD::Expression> symbolic_HH =
+      SD::substitute(symbolic_HH_total_impl, sub_vals_explicit);
+
+    // Configure optimizer
+    const SD::types::substitution_map sub_vals_optim = SD::make_symbol_map(
+      mu_e_SD, kappa_e_SD, C_SD, mu_v_SD, kappa_v_SD, Qi_SD, dQ_dC_i_SD);
+
+    optimizer.set_optimization_method(opt_method, opt_flags);
+
+    optimizer.register_symbols(sub_vals_optim); // Independent symbols
+    optimizer.register_functions(symbolic_psi,
+                                 symbolic_S,
+                                 symbolic_HH); // Dependent symbolic functions
+    optimizer.optimize();
+
+    const bool print_symbols = true;
+    if (print_symbols == true)
+      {
+        internal::print(deallog, "psi", symbolic_psi);
+        internal::print(deallog, "S", symbolic_S);
+        internal::print(deallog, "HH", symbolic_HH);
+      }
+
+    // Numerical substitution
+    const double                              mu_e    = 3;
+    const double                              kappa_e = 10;
+    const SymmetricTensor<2, dim, NumberType> C =
+      2.0 * unit_symmetric_tensor<dim>();
+    const double                              mu_v    = 5;
+    const double                              kappa_v = 2;
+    const SymmetricTensor<2, dim, NumberType> Q =
+      1.5 * unit_symmetric_tensor<dim>();
+    const SymmetricTensor<4, dim, NumberType> dQ_dC =
+      3.0 * identity_tensor<dim>();
+    const SD::types::substitution_map sub_vals_unresolved =
+      SD::make_substitution_map(std::make_pair(mu_e_SD, mu_e),
+                                std::make_pair(kappa_e_SD, kappa_e),
+                                std::make_pair(C_SD, C),
+                                std::make_pair(mu_v_SD, mu_v),
+                                std::make_pair(kappa_v_SD, kappa_v),
+                                std::make_pair(Qi_SD, Q),
+                                std::make_pair(dQ_dC_i_SD, dQ_dC));
+    // NOTE: The recursive substitution is not really required in this case, but
+    // good to use in practise in case a more complex energy function is
+    // employed later
+    const SD::types::substitution_map sub_vals =
+      SD::resolve_explicit_dependencies(sub_vals_unresolved);
+
+    // Perform substitution of symbols
+    optimizer.substitute(sub_vals);
+
+    // Extract values
+    const bool print_values = true;
+    if (print_values == true)
+      {
+        internal::print(deallog, "psi", optimizer.evaluate(symbolic_psi));
+        internal::print(deallog, "S", optimizer.evaluate(symbolic_S));
+        internal::print(deallog, "HH", optimizer.evaluate(symbolic_HH));
+      }
+  }
+
+} // namespace Diff_Test
+
+template <int                        dim,
+          enum SD::OptimizerType     opt_method,
+          enum SD::OptimizationFlags opt_flags>
+void
+run_tests()
+{
+  using namespace Diff_Test;
+
+  deallog.push("Standard");
+  test_standard<dim, double, opt_method, opt_flags>();
+  deallog.pop();
+
+  deallog << std::string(50, '-') << std::endl;
+
+  deallog.push("Explicit");
+  test_explicit<dim, double, opt_method, opt_flags>();
+  deallog.pop();
+
+  deallog << std::string(50, '-') << std::endl;
+
+  deallog.push("Implicit");
+  test_implicit<dim, double, opt_method, opt_flags>();
+  deallog.pop();
+
+  deallog << "OK" << std::endl;
+}
diff --git a/tests/symengine/sd_common_tests/batch_optimizer_04.h b/tests/symengine/sd_common_tests/batch_optimizer_04.h
new file mode 100644 (file)
index 0000000..3894ee5
--- /dev/null
@@ -0,0 +1,177 @@
+// ---------------------------------------------------------------------
+//
+// Copyright (C) 2020 by the deal.II authors
+//
+// This file is part of the deal.II library.
+//
+// The deal.II library is free software; you can use it, redistribute
+// it, and/or modify it under the terms of the GNU Lesser General
+// Public License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+// The full text of the license can be found in the file LICENSE at
+// the top level of the deal.II distribution.
+//
+// ---------------------------------------------------------------------
+
+
+// Check that serialization for the BatchOptimizer works as expected.
+
+#include <deal.II/differentiation/sd.h>
+
+#include "../../tests.h"
+
+#include "serialization.h"
+
+using namespace dealii;
+namespace SD = Differentiation::SD;
+
+template <int dim,
+          typename NumberType,
+          enum SD::OptimizerType     opt_method,
+          enum SD::OptimizationFlags opt_flags>
+void
+test_serialization()
+{
+  namespace SD = Differentiation::SD;
+  typedef SD::Expression SD_number_t;
+
+  // Serialization
+  // Note: We scope all symbolic variables to make sure that they are
+  // totally deleted. They're all persistent pointers in the background,
+  // so to fully verify the save-load condition we have to be doubly
+  // sure that everything is nuked. We'll lift the basic serialization
+  // routing from the serialization header.
+  std::ostringstream oss;
+
+  {
+    // Define
+    const SD_number_t x("x"), y("y");
+    const SD_number_t f = x * y;
+    const SD_number_t g = x / y;
+
+    // Substitution map
+    const SD::types::substitution_map sub_vals =
+      SD::make_substitution_map(std::make_pair(x, NumberType(10.0)),
+                                std::make_pair(y, NumberType(2.0)));
+
+    // Optimize
+    SD::BatchOptimizer<NumberType> optimizer(opt_method, opt_flags);
+    optimizer.register_symbols(sub_vals); // Independent symbols
+    optimizer.register_functions(f, g);
+    optimizer.optimize();
+
+    // Substitute
+    optimizer.substitute(sub_vals);
+
+    // Evaluate
+    const NumberType val_f = optimizer.evaluate(f);
+    const NumberType val_g = optimizer.evaluate(g);
+    deallog << "f: " << f << std::endl
+            << "g: " << g << std::endl
+            << "f(x,y): " << val_f << std::endl
+            << "g(x,y): " << val_g << std::endl
+            << std::endl;
+
+    // Serialize
+    deallog << "Serializing..." << std::endl;
+    boost::archive::text_oarchive oa(oss, boost::archive::no_header);
+    oa << optimizer;
+  }
+
+  // The output from the serialization of the LLVM optimizer
+  // confuses CTest, because it's binary. So don't output it
+  // in that cse.
+  if (opt_method != SD::OptimizerType::llvm)
+    {
+      deallog << "Serialized optimizer: " << std::endl;
+      deallog << oss.str() << std::endl;
+    }
+  // const std::string old_optimizer_string = oss.str();
+
+  // Deserialization
+  {
+    // Define
+    const SD_number_t x("x"), y("y");
+    const SD_number_t f = x * y;
+    const SD_number_t g = x / y;
+
+    // Optimizer
+    SD::BatchOptimizer<NumberType> optimizer;
+
+    // Deserialze
+    deallog << "Deserializing..." << std::endl;
+    std::istringstream            iss(oss.str());
+    boost::archive::text_iarchive ia(iss, boost::archive::no_header);
+    ia >> optimizer;
+
+    if (opt_method != SD::OptimizerType::llvm)
+      {
+        // Verify the correctness of the deserialization
+        std::ostringstream            oss_2;
+        boost::archive::text_oarchive oa(oss_2, boost::archive::no_header);
+        oa << optimizer;
+
+        deallog << "Deserialized optimizer: " << std::endl;
+        deallog << oss_2.str() << std::endl;
+        // const std::string new_optimizer_string = oss_2.str();
+
+        // deallog << "Compare: " <<
+        // new_optimizer_string.compare(old_optimizer_string) << std::endl;
+        // AssertThrow(!new_optimizer_string.compare(old_optimizer_string),
+        // ExcInternalError());
+      }
+
+    // Evaluate: Verify the functioning of the deserialized optimizer
+    const NumberType val_f = optimizer.evaluate(f);
+    const NumberType val_g = optimizer.evaluate(g);
+    deallog << "f: " << f << std::endl
+            << "g: " << g << std::endl
+            << "f(x,y): " << val_f << std::endl
+            << "g(x,y): " << val_g << std::endl
+            << std::endl;
+  }
+
+  deallog << "OK" << std::endl;
+}
+
+
+template <int                        dim,
+          enum SD::OptimizerType     opt_method,
+          enum SD::OptimizationFlags opt_flags>
+void
+run_tests()
+{
+  // Show the difference between a SymEngine "value" and
+  // an evaluated, floating point number
+  // deallog << std::setprecision(3);
+
+  deallog.push("Serialization");
+  {
+    // deallog.push("Integer");
+    // test_tensor<dim,int>(n_runs, timer);
+    // deallog.pop();
+
+    deallog.push("Float");
+    test_serialization<dim, float, opt_method, opt_flags>();
+    deallog.pop();
+
+    deallog.push("Double");
+    test_serialization<dim, double, opt_method, opt_flags>();
+    deallog.pop();
+
+    // The LLVM optimizer does not currently support complex numbers.
+    if (opt_method != SD::OptimizerType::llvm)
+      {
+        deallog.push("Complex float");
+        test_serialization<dim, std::complex<float>, opt_method, opt_flags>();
+        deallog.pop();
+
+        deallog.push("Complex double");
+        test_serialization<dim, std::complex<double>, opt_method, opt_flags>();
+        deallog.pop();
+      }
+  }
+  deallog.pop();
+
+  deallog << "OK" << std::endl;
+}
diff --git a/tests/symengine/sd_common_tests/batch_optimizer_05.h b/tests/symengine/sd_common_tests/batch_optimizer_05.h
new file mode 100644 (file)
index 0000000..98630f4
--- /dev/null
@@ -0,0 +1,271 @@
+// ---------------------------------------------------------------------
+//
+// Copyright (C) 2020 by the deal.II authors
+//
+// This file is part of the deal.II library.
+//
+// The deal.II library is free software; you can use it, redistribute
+// it, and/or modify it under the terms of the GNU Lesser General
+// Public License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+// The full text of the license can be found in the file LICENSE at
+// the top level of the deal.II distribution.
+//
+// ---------------------------------------------------------------------
+
+
+// Check that serialization for the BatchOptimizer works as expected.
+// In this test, we destroy only the optimizer and keep the other expressions
+// that were used to initialize it.
+//
+// This test is based off of symengine/sd_common_tests/batch_optimizer_02.h
+
+#include <deal.II/base/timer.h>
+
+#include <deal.II/differentiation/sd.h>
+
+#include "../../tests.h"
+
+#include "serialization.h"
+
+using namespace dealii;
+namespace SD = Differentiation::SD;
+
+
+template <int dim, typename NumberType>
+Tensor<2, dim, NumberType>
+make_tensor(const NumberType &val)
+{
+  Tensor<2, dim, NumberType> out;
+  for (unsigned int i = 0; i < dim; ++i)
+    out[i][i] = 1.0;
+
+  for (unsigned int i = 0; i < out.n_independent_components; ++i)
+    out[out.unrolled_to_component_indices(i)] += i + val;
+  return out;
+}
+
+template <int dim, typename NumberType>
+SymmetricTensor<2, dim, NumberType>
+make_symm_tensor(const NumberType &val)
+{
+  SymmetricTensor<2, dim, NumberType> out;
+  for (unsigned int i = 0; i < dim; ++i)
+    out[i][i] = 1.0;
+
+  for (unsigned int i = 0; i < out.n_independent_components; ++i)
+    out[out.unrolled_to_component_indices(i)] += i + val;
+  return out;
+}
+
+template <int dim,
+          typename NumberType,
+          enum SD::OptimizerType     opt_method,
+          enum SD::OptimizationFlags opt_flags>
+void
+test_serialization(const int n_runs, TimerOutput &timer)
+{
+  namespace SD = Differentiation::SD;
+  typedef SD::Expression                       SD_number_t;
+  typedef Tensor<2, dim, SD_number_t>          SD_tensor_t;
+  typedef SymmetricTensor<2, dim, SD_number_t> SD_symm_tensor_t;
+
+  const NumberType       a = NumberType(1.5);
+  const SD_number_t      x("x");
+  const SD_tensor_t      y(SD::make_tensor_of_symbols<2, dim>("y"));
+  const SD_symm_tensor_t z(SD::make_symmetric_tensor_of_symbols<2, dim>("z"));
+
+  timer.enter_subsection("Value calculation");
+  const SD_number_t symb_s =
+    a + NumberType(2.0) * std::pow(x, determinant(y)) +
+    a * determinant(y) * std::log((z * z) / determinant(y)) +
+    std::sin((z * symmetrize(y)) / a);
+  deallog << "symb_s: " << symb_s << std::endl;
+  timer.leave_subsection("Value calculation");
+
+  timer.enter_subsection("Differentiation");
+  const SD_number_t      symb_ds_dx = SD::differentiate(symb_s, x);
+  const SD_tensor_t      symb_ds_dy = SD::differentiate(symb_s, y);
+  const SD_symm_tensor_t symb_ds_dz = SD::differentiate(symb_s, z);
+  deallog << "symb_ds_dy: " << symb_ds_dy << std::endl;
+  timer.leave_subsection("Differentiation");
+
+  SD::types::substitution_map sub_vals;
+  SD::add_to_substitution_map(sub_vals, SD::make_substitution_map(x, 2.5));
+  SD::add_to_substitution_map(
+    sub_vals, SD::make_substitution_map(y, make_tensor<dim>(NumberType(2.2))));
+  SD::add_to_substitution_map(
+    sub_vals,
+    SD::make_substitution_map(z, make_symm_tensor<dim>(NumberType(3.7))));
+
+  deallog.push("Optimisation + substitution");
+  {
+    // Send our symbolic expression through
+    // a batch optimiser
+    timer.enter_subsection("Optimisation");
+    SD::BatchOptimizer<NumberType> optimizer(opt_method, opt_flags);
+    optimizer.register_symbols(sub_vals); // Independent symbols
+    optimizer.register_functions(symb_s,
+                                 symb_ds_dx,
+                                 symb_ds_dy,
+                                 symb_ds_dz); // Dependent symbolic expressions
+    optimizer.optimize();
+    timer.leave_subsection("Optimisation");
+
+    timer.enter_subsection("Optimised substitution");
+    for (unsigned int i = 0; i < n_runs; ++i)
+      {
+        optimizer.substitute(sub_vals);
+
+        const NumberType val_s     = optimizer.evaluate(symb_s);
+        const NumberType val_ds_dx = optimizer.evaluate(symb_ds_dx);
+        const Tensor<2, dim, NumberType> val_ds_dy =
+          optimizer.evaluate(symb_ds_dy);
+        const SymmetricTensor<2, dim, NumberType> val_ds_dz =
+          optimizer.evaluate(symb_ds_dz);
+
+        if (i == 0)
+          {
+            deallog << "evaluation: "
+                    << "  s: " << val_s << "  ds_dx: " << val_ds_dx
+                    << "  ds_dy: " << val_ds_dy << "  ds_dz: " << val_ds_dz
+                    << std::endl;
+          }
+      }
+    timer.leave_subsection("Optimised substitution");
+
+    timer.enter_subsection("Serialization");
+    {
+      const NumberType val_s     = optimizer.evaluate(symb_s);
+      const NumberType val_ds_dx = optimizer.evaluate(symb_ds_dx);
+      const Tensor<2, dim, NumberType> val_ds_dy =
+        optimizer.evaluate(symb_ds_dy);
+      const SymmetricTensor<2, dim, NumberType> val_ds_dz =
+        optimizer.evaluate(symb_ds_dz);
+
+      deallog << "Evaluation (pre-serialization): "
+              << "  s: " << val_s << "  ds_dx: " << val_ds_dx
+              << "  ds_dy: " << val_ds_dy << "  ds_dz: " << val_ds_dz
+              << std::endl;
+
+      // From serialization.h
+      deallog << "Serializing..." << std::endl;
+      SD::BatchOptimizer<NumberType> new_optimizer;
+      if (opt_method == SD::OptimizerType::llvm)
+        {
+          verify_no_logging(optimizer, new_optimizer);
+        }
+      else
+        {
+          verify(optimizer, new_optimizer);
+        }
+
+      deallog << "Checking deserialisation..." << std::endl;
+      {
+        // Check that the original settings persist.
+        Assert(new_optimizer.optimization_method() ==
+                 optimizer.optimization_method(),
+               ExcInternalError());
+        Assert(new_optimizer.optimization_flags() ==
+                 optimizer.optimization_flags(),
+               ExcInternalError());
+
+        // Check that new optimizer still produces correct results
+        // directly from evaluation
+        const NumberType new_val_s     = new_optimizer.evaluate(symb_s);
+        const NumberType new_val_ds_dx = new_optimizer.evaluate(symb_ds_dx);
+        const Tensor<2, dim, NumberType> new_val_ds_dy =
+          new_optimizer.evaluate(symb_ds_dy);
+        const SymmetricTensor<2, dim, NumberType> new_val_ds_dz =
+          new_optimizer.evaluate(symb_ds_dz);
+
+        deallog << "Evaluation (post-serialization): "
+                << "  s: " << new_val_s << "  ds_dx: " << new_val_ds_dx
+                << "  ds_dy: " << new_val_ds_dy << "  ds_dz: " << new_val_ds_dz
+                << std::endl;
+
+        constexpr double tol = 1e-9;
+        Assert(std::abs(new_val_s - val_s) < tol,
+               ExcMessage("Problem with optimizer function: Serialization"));
+        Assert(std::abs(new_val_ds_dx - val_ds_dx) < tol,
+               ExcMessage("Problem with optimizer function: Serialization"));
+        Assert((new_val_ds_dy - val_ds_dy).norm() < tol,
+               ExcMessage("Problem with optimizer function: Serialization"));
+        Assert((new_val_ds_dz - val_ds_dz).norm() < tol,
+               ExcMessage("Problem with optimizer function: Serialization"));
+      }
+
+      // Check that new optimizer still produces correct results
+      // directly after substitution (we'll take a shortcut and
+      // use the old substitution map).
+      {
+        new_optimizer.substitute(sub_vals);
+
+        const NumberType new_val_s     = new_optimizer.evaluate(symb_s);
+        const NumberType new_val_ds_dx = new_optimizer.evaluate(symb_ds_dx);
+        const Tensor<2, dim, NumberType> new_val_ds_dy =
+          new_optimizer.evaluate(symb_ds_dy);
+        const SymmetricTensor<2, dim, NumberType> new_val_ds_dz =
+          new_optimizer.evaluate(symb_ds_dz);
+
+        constexpr double tol = 1e-9;
+        Assert(std::abs(new_val_s - val_s) < tol,
+               ExcMessage("Problem with optimizer function: Serialization"));
+        Assert(std::abs(new_val_ds_dx - val_ds_dx) < tol,
+               ExcMessage("Problem with optimizer function: Serialization"));
+        Assert((new_val_ds_dy - val_ds_dy).norm() < tol,
+               ExcMessage("Problem with optimizer function: Serialization"));
+        Assert((new_val_ds_dz - val_ds_dz).norm() < tol,
+               ExcMessage("Problem with optimizer function: Serialization"));
+      }
+    }
+    timer.leave_subsection("Serialization");
+  }
+  deallog.pop();
+}
+
+
+template <int                        dim,
+          enum SD::OptimizerType     opt_method,
+          enum SD::OptimizationFlags opt_flags>
+void
+run_tests(const int n_runs = 1)
+{
+  // Show the difference between a SymEngine "value" and
+  // an evaluated, floating point number
+  // deallog << std::setprecision(3);
+
+  deallog.push("Serialization");
+  {
+    TimerOutput timer(std::cout, TimerOutput::summary, TimerOutput::wall_times);
+
+    // deallog.push("Integer");
+    // test_tensor<dim,int>(n_runs, timer);
+    // deallog.pop();
+
+    deallog.push("Float");
+    test_serialization<dim, float, opt_method, opt_flags>(n_runs, timer);
+    deallog.pop();
+
+    deallog.push("Double");
+    test_serialization<dim, double, opt_method, opt_flags>(n_runs, timer);
+    deallog.pop();
+
+    // The LLVM optimizer does not currently support complex numbers.
+    if (opt_method != SD::OptimizerType::llvm)
+      {
+        deallog.push("Complex float");
+        test_serialization<dim, std::complex<float>, opt_method, opt_flags>(
+          n_runs, timer);
+        deallog.pop();
+
+        deallog.push("Complex double");
+        test_serialization<dim, std::complex<double>, opt_method, opt_flags>(
+          n_runs, timer);
+        deallog.pop();
+      }
+  }
+  deallog.pop();
+
+  deallog << "OK" << std::endl;
+}
diff --git a/tests/symengine/sd_common_tests/batch_optimizer_06.h b/tests/symengine/sd_common_tests/batch_optimizer_06.h
new file mode 100644 (file)
index 0000000..2b9ca2c
--- /dev/null
@@ -0,0 +1,324 @@
+// ---------------------------------------------------------------------
+//
+// Copyright (C) 2020 by the deal.II authors
+//
+// This file is part of the deal.II library.
+//
+// The deal.II library is free software; you can use it, redistribute
+// it, and/or modify it under the terms of the GNU Lesser General
+// Public License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+// The full text of the license can be found in the file LICENSE at
+// the top level of the deal.II distribution.
+//
+// ---------------------------------------------------------------------
+
+
+// Check that serialization for the BatchOptimizer works as expected.
+// In this test, we destroy the optimizer as well as all other expressions
+// and symbols that were used in the creation of the optimizer.
+//
+// This test is based off of symengine/sd_common_tests/batch_optimizer_05.h
+
+#include <deal.II/base/numbers.h>
+#include <deal.II/base/timer.h>
+
+#include <deal.II/differentiation/sd.h>
+
+#include "../../tests.h"
+
+#include "serialization.h"
+
+using namespace dealii;
+namespace SD = Differentiation::SD;
+
+
+template <int dim, typename NumberType>
+Tensor<2, dim, NumberType>
+make_tensor(const NumberType &val)
+{
+  Tensor<2, dim, NumberType> out;
+  for (unsigned int i = 0; i < dim; ++i)
+    out[i][i] = 1.0;
+
+  for (unsigned int i = 0; i < out.n_independent_components; ++i)
+    out[out.unrolled_to_component_indices(i)] += i + val;
+  return out;
+}
+
+template <int dim, typename NumberType>
+SymmetricTensor<2, dim, NumberType>
+make_symm_tensor(const NumberType &val)
+{
+  SymmetricTensor<2, dim, NumberType> out;
+  for (unsigned int i = 0; i < dim; ++i)
+    out[i][i] = 1.0;
+
+  for (unsigned int i = 0; i < out.n_independent_components; ++i)
+    out[out.unrolled_to_component_indices(i)] += i + val;
+  return out;
+}
+
+template <int dim,
+          typename NumberType,
+          enum SD::OptimizerType     opt_method,
+          enum SD::OptimizationFlags opt_flags>
+void
+test_serialization(const int n_runs, TimerOutput &timer)
+{
+  namespace SD = Differentiation::SD;
+  typedef SD::Expression                       SD_number_t;
+  typedef Tensor<2, dim, SD_number_t>          SD_tensor_t;
+  typedef SymmetricTensor<2, dim, SD_number_t> SD_symm_tensor_t;
+
+  // Serialization
+  // Note: We scope all symbolic variables to make sure that they are
+  // totally deleted. They're all persistent pointers in the background,
+  // so to fully verify the save-load condition we have to be doubly
+  // sure that everything is nuked. We'll lift the basic serialization
+  // routing from the serialization header.
+  std::ostringstream oss;
+
+#define CREATE_SYMBOLS_FUNCTIONS_SUBSTITUTION_MAP                              \
+  const NumberType       a = NumberType(1.5);                                  \
+  const SD_number_t      x("x");                                               \
+  const SD_tensor_t      y(SD::make_tensor_of_symbols<2, dim>("y"));           \
+  const SD_symm_tensor_t z(SD::make_symmetric_tensor_of_symbols<2, dim>("z")); \
+                                                                               \
+  timer.enter_subsection("Value calculation");                                 \
+  const SD_number_t symb_s =                                                   \
+    a + NumberType(2.0) * std::pow(x, determinant(y)) +                        \
+    a * determinant(y) * std::log((z * z) / determinant(y)) +                  \
+    std::sin((z * symmetrize(y)) / a);                                         \
+  deallog << "symb_s: " << symb_s << std::endl;                                \
+  timer.leave_subsection("Value calculation");                                 \
+                                                                               \
+  timer.enter_subsection("Differentiation");                                   \
+  const SD_number_t      symb_ds_dx = SD::differentiate(symb_s, x);            \
+  const SD_tensor_t      symb_ds_dy = SD::differentiate(symb_s, y);            \
+  const SD_symm_tensor_t symb_ds_dz = SD::differentiate(symb_s, z);            \
+  deallog << "symb_ds_dy: " << symb_ds_dy << std::endl;                        \
+  timer.leave_subsection("Differentiation");                                   \
+                                                                               \
+  SD::types::substitution_map sub_vals;                                        \
+  SD::add_to_substitution_map(sub_vals, SD::make_substitution_map(x, 2.5));    \
+  SD::add_to_substitution_map(                                                 \
+    sub_vals,                                                                  \
+    SD::make_substitution_map(y, make_tensor<dim>(NumberType(2.2))));          \
+  SD::add_to_substitution_map(                                                 \
+    sub_vals,                                                                  \
+    SD::make_substitution_map(z, make_symm_tensor<dim>(NumberType(3.7))));
+
+  // We'll store some results and compare the outcome
+  // of the same calculations after deserialization.
+  NumberType                          val_s     = NumberType(0);
+  NumberType                          val_ds_dx = NumberType(0);
+  Tensor<2, dim, NumberType>          val_ds_dy;
+  SymmetricTensor<2, dim, NumberType> val_ds_dz;
+
+  // Serialize
+  {
+    // Do all of the preliminaries
+    CREATE_SYMBOLS_FUNCTIONS_SUBSTITUTION_MAP
+
+    deallog.push("Optimisation + substitution");
+    {
+      // Send our symbolic expression through
+      // a batch optimiser
+      timer.enter_subsection("Optimisation");
+      SD::BatchOptimizer<NumberType> optimizer(opt_method, opt_flags);
+      optimizer.register_symbols(sub_vals); // Independent symbols
+      optimizer.register_functions(
+        symb_s,
+        symb_ds_dx,
+        symb_ds_dy,
+        symb_ds_dz); // Dependent symbolic expressions
+      optimizer.optimize();
+      timer.leave_subsection("Optimisation");
+
+      timer.enter_subsection("Optimised substitution");
+      for (unsigned int i = 0; i < n_runs; ++i)
+        {
+          optimizer.substitute(sub_vals);
+
+          // Evaluate
+          val_s     = optimizer.evaluate(symb_s);
+          val_ds_dx = optimizer.evaluate(symb_ds_dx);
+          val_ds_dy = optimizer.evaluate(symb_ds_dy);
+          val_ds_dz = optimizer.evaluate(symb_ds_dz);
+
+          if (i == 0)
+            {
+              deallog << "evaluation: "
+                      << "  s: " << val_s << "  ds_dx: " << val_ds_dx
+                      << "  ds_dy: " << val_ds_dy << "  ds_dz: " << val_ds_dz
+                      << std::endl;
+            }
+        }
+      timer.leave_subsection("Optimised substitution");
+
+      // Evaluate
+      const NumberType val_s     = optimizer.evaluate(symb_s);
+      const NumberType val_ds_dx = optimizer.evaluate(symb_ds_dx);
+      const Tensor<2, dim, NumberType> val_ds_dy =
+        optimizer.evaluate(symb_ds_dy);
+      const SymmetricTensor<2, dim, NumberType> val_ds_dz =
+        optimizer.evaluate(symb_ds_dz);
+
+      deallog << "Evaluation (pre-serialization): "
+              << "  s: " << val_s << "  ds_dx: " << val_ds_dx
+              << "  ds_dy: " << val_ds_dy << "  ds_dz: " << val_ds_dz
+              << std::endl;
+
+      // Serialize
+      deallog << "Serializing..." << std::endl;
+      boost::archive::text_oarchive oa(oss, boost::archive::no_header);
+      oa << optimizer;
+    }
+
+    // The output from the serialization of the LLVM optimizer
+    // confuses CTest, because it's binary. So don't output it
+    // in that cse.
+    if (opt_method != SD::OptimizerType::llvm)
+      {
+        deallog << "Serialized optimizer: " << std::endl;
+        deallog << oss.str() << std::endl;
+      }
+
+    // timer.enter_subsection("Serialization");
+    {
+      // Do all of the preliminaries
+      CREATE_SYMBOLS_FUNCTIONS_SUBSTITUTION_MAP
+
+      // Optimizer
+      SD::BatchOptimizer<NumberType> optimizer;
+
+      // Deserialze
+      deallog << "Deserializing..." << std::endl;
+      std::istringstream            iss(oss.str());
+      boost::archive::text_iarchive ia(iss, boost::archive::no_header);
+      ia >> optimizer;
+
+      if (opt_method != SD::OptimizerType::llvm)
+        {
+          // Verify the correctness of the deserialization
+          std::ostringstream            oss_2;
+          boost::archive::text_oarchive oa(oss_2, boost::archive::no_header);
+          oa << optimizer;
+
+          deallog << "Deserialized optimizer: " << std::endl;
+          deallog << oss_2.str() << std::endl;
+        }
+
+      deallog << "Checking deserialisation..." << std::endl;
+      // Check that the original settings persist.
+      Assert(optimizer.optimization_flags() == opt_flags, ExcInternalError());
+      if (!(opt_method == SD::OptimizerType::llvm &&
+            numbers::NumberTraits<NumberType>::is_complex))
+        {
+          // We cannot do this check under all circumstances, as internally the
+          // optimizer type switches.
+          Assert(optimizer.optimization_method() == opt_method,
+                 ExcInternalError());
+        }
+
+      {
+        // Check that new optimizer still produces correct results
+        // directly from evaluation
+        const NumberType new_val_s     = optimizer.evaluate(symb_s);
+        const NumberType new_val_ds_dx = optimizer.evaluate(symb_ds_dx);
+        const Tensor<2, dim, NumberType> new_val_ds_dy =
+          optimizer.evaluate(symb_ds_dy);
+        const SymmetricTensor<2, dim, NumberType> new_val_ds_dz =
+          optimizer.evaluate(symb_ds_dz);
+
+        deallog << "Evaluation (post-serialization): "
+                << "  s: " << new_val_s << "  ds_dx: " << new_val_ds_dx
+                << "  ds_dy: " << new_val_ds_dy << "  ds_dz: " << new_val_ds_dz
+                << std::endl;
+
+        constexpr double tol = 1e-9;
+        Assert(std::abs(new_val_s - val_s) < tol,
+               ExcMessage("Problem with optimizer function: Serialization"));
+        Assert(std::abs(new_val_ds_dx - val_ds_dx) < tol,
+               ExcMessage("Problem with optimizer function: Serialization"));
+        Assert((new_val_ds_dy - val_ds_dy).norm() < tol,
+               ExcMessage("Problem with optimizer function: Serialization"));
+        Assert((new_val_ds_dz - val_ds_dz).norm() < tol,
+               ExcMessage("Problem with optimizer function: Serialization"));
+      }
+
+      // Check that new optimizer still produces correct results
+      // directly after substitution (we'll take a shortcut and
+      // use the old substitution map).
+      {
+        optimizer.substitute(sub_vals);
+
+        const NumberType new_val_s     = optimizer.evaluate(symb_s);
+        const NumberType new_val_ds_dx = optimizer.evaluate(symb_ds_dx);
+        const Tensor<2, dim, NumberType> new_val_ds_dy =
+          optimizer.evaluate(symb_ds_dy);
+        const SymmetricTensor<2, dim, NumberType> new_val_ds_dz =
+          optimizer.evaluate(symb_ds_dz);
+
+        constexpr double tol = 1e-9;
+        Assert(std::abs(new_val_s - val_s) < tol,
+               ExcMessage("Problem with optimizer function: Serialization"));
+        Assert(std::abs(new_val_ds_dx - val_ds_dx) < tol,
+               ExcMessage("Problem with optimizer function: Serialization"));
+        Assert((new_val_ds_dy - val_ds_dy).norm() < tol,
+               ExcMessage("Problem with optimizer function: Serialization"));
+        Assert((new_val_ds_dz - val_ds_dz).norm() < tol,
+               ExcMessage("Problem with optimizer function: Serialization"));
+      }
+    }
+    // timer.leave_subsection("Serialization");
+  }
+  deallog.pop();
+}
+
+
+template <int                        dim,
+          enum SD::OptimizerType     opt_method,
+          enum SD::OptimizationFlags opt_flags>
+void
+run_tests(const int n_runs = 1)
+{
+  // Show the difference between a SymEngine "value" and
+  // an evaluated, floating point number
+  // deallog << std::setprecision(3);
+
+  deallog.push("Serialization");
+  {
+    TimerOutput timer(std::cout, TimerOutput::summary, TimerOutput::wall_times);
+
+    // deallog.push("Integer");
+    // test_tensor<dim,int>(n_runs, timer);
+    // deallog.pop();
+
+    deallog.push("Float");
+    test_serialization<dim, float, opt_method, opt_flags>(n_runs, timer);
+    deallog.pop();
+
+    deallog.push("Double");
+    test_serialization<dim, double, opt_method, opt_flags>(n_runs, timer);
+    deallog.pop();
+
+    // The LLVM optimizer does not currently support complex numbers.
+    if (opt_method != SD::OptimizerType::llvm)
+      {
+        deallog.push("Complex float");
+        test_serialization<dim, std::complex<float>, opt_method, opt_flags>(
+          n_runs, timer);
+        deallog.pop();
+
+        deallog.push("Complex double");
+        test_serialization<dim, std::complex<double>, opt_method, opt_flags>(
+          n_runs, timer);
+        deallog.pop();
+      }
+  }
+  deallog.pop();
+
+  deallog << "OK" << std::endl;
+}
diff --git a/tests/symengine/sd_common_tests/batch_optimizer_07.h b/tests/symengine/sd_common_tests/batch_optimizer_07.h
new file mode 100644 (file)
index 0000000..b5f2df2
--- /dev/null
@@ -0,0 +1,547 @@
+// ---------------------------------------------------------------------
+//
+// Copyright (C) 2020 by the deal.II authors
+//
+// This file is part of the deal.II library.
+//
+// The deal.II library is free software; you can use it, redistribute
+// it, and/or modify it under the terms of the GNU Lesser General
+// Public License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+// The full text of the license can be found in the file LICENSE at
+// the top level of the deal.II distribution.
+//
+// ---------------------------------------------------------------------
+
+
+// Test for the batch optimizer.
+// Coupled double-differentiation example using SD-SD
+// This test relates to ad_common_tests/helper_scalar_coupled_4_components_01.h
+// This test is based off of symengine_tensor_operations_03.cc
+
+#include <deal.II/base/conditional_ostream.h>
+#include <deal.II/base/exceptions.h>
+#include <deal.II/base/logstream.h>
+#include <deal.II/base/symmetric_tensor.h>
+#include <deal.II/base/tensor.h>
+#include <deal.II/base/timer.h>
+#include <deal.II/base/utilities.h>
+
+#include <deal.II/differentiation/sd.h>
+
+#include <deal.II/fe/fe_values_extractors.h>
+
+#include <deal.II/lac/full_matrix.h>
+#include <deal.II/lac/vector.h>
+
+#include <fstream>
+#include <iomanip>
+
+
+// #define DEBUG_EXTRA
+
+
+using namespace dealii;
+namespace SD = Differentiation::SD;
+
+// Function and its derivatives
+template <int dim, typename NumberType>
+struct CoupledFunction
+{
+  // Firstly, here are a whole lot of helper functions to make
+  // computing derivatives of the pseudo-energy function easier
+
+  static NumberType
+  det_t(const Tensor<2, dim, NumberType> &t)
+  {
+    return determinant(t);
+  }
+
+  static Tensor<2, dim, NumberType>
+  ddet_t_dt(const Tensor<2, dim, NumberType> &t)
+  {
+    return det_t(t) * transpose(invert(t));
+  }
+
+  static Tensor<4, dim, NumberType>
+  d2det_t_dt_dt(const Tensor<2, dim, NumberType> &t)
+  {
+    const Tensor<2, dim, NumberType> t_inv = invert(t);
+    Tensor<4, dim, NumberType>       dt_inv_trans_dt;
+    // https://en.wikiversity.org/wiki/Introduction_to_Elasticity/Tensors#Derivative_of_the_determinant_of_a_tensor
+    for (unsigned int i = 0; i < dim; ++i)
+      for (unsigned int j = 0; j < dim; ++j)
+        for (unsigned int k = 0; k < dim; ++k)
+          for (unsigned int l = 0; l < dim; ++l)
+            dt_inv_trans_dt[i][j][k][l] = -t_inv[l][i] * t_inv[j][k];
+
+    return det_t(t) * outer_product(transpose(t_inv), transpose(t_inv)) +
+           det_t(t) * dt_inv_trans_dt;
+  }
+
+  static NumberType
+  det_t(const SymmetricTensor<2, dim, NumberType> &t)
+  {
+    return determinant(t);
+  }
+
+  static SymmetricTensor<2, dim, NumberType>
+  ddet_t_dt(const SymmetricTensor<2, dim, NumberType> &t)
+  {
+    const SymmetricTensor<2, dim, NumberType> t_inv = invert(t);
+    return det_t(t) * t_inv;
+  }
+
+  static SymmetricTensor<4, dim, NumberType>
+  d2det_t_dt_dt(const SymmetricTensor<2, dim, NumberType> &t)
+  {
+    const SymmetricTensor<2, dim, NumberType> t_inv = invert(t);
+    SymmetricTensor<4, dim, NumberType>       dt_inv_dt;
+    // https://en.wikiversity.org/wiki/Introduction_to_Elasticity/Tensors#Derivative_of_the_determinant_of_a_tensor
+    for (unsigned int i = 0; i < dim; ++i)
+      for (unsigned int j = i; j < dim; ++j)
+        for (unsigned int k = 0; k < dim; ++k)
+          for (unsigned int l = k; l < dim; ++l)
+            dt_inv_dt[i][j][k][l] =
+              -0.5 * (t_inv[i][k] * t_inv[j][l] + t_inv[i][l] * t_inv[j][k]);
+
+    return det_t(t) * outer_product(t_inv, t_inv) + det_t(t) * dt_inv_dt;
+  }
+
+  static NumberType
+  v_dot_v(const Tensor<1, dim, NumberType> &v)
+  {
+    return v * v;
+  }
+
+  static Tensor<1, dim, NumberType>
+  dv_dot_v_dv(const Tensor<1, dim, NumberType> &v)
+  {
+    return 2.0 * v;
+  }
+
+  static Tensor<2, dim, NumberType>
+  d2v_dot_v_dv_dv(const Tensor<1, dim, NumberType> &v)
+  {
+    static const Tensor<2, dim, NumberType> I(unit_symmetric_tensor<dim>());
+    return 2.0 * I;
+  }
+
+  // --------------------------------------------------------------------------
+
+  // Here we define a pseudo-energy function that we wish to differentiate twice
+  // with respect to all variables
+
+  static const double sf;
+
+  static NumberType
+  psi(const Tensor<2, dim, NumberType> &t,
+      const Tensor<1, dim, NumberType> &v,
+      const NumberType &                s)
+  {
+    return std::pow(det_t(t), 2) * std::pow(v_dot_v(v), 3) * std::pow(s, sf);
+  };
+
+  static NumberType
+  psi_optimised(const NumberType &det_t,
+                const NumberType &v_dot_v,
+                const NumberType &s)
+  {
+    return std::pow(det_t, 2) * std::pow(v_dot_v, 3) * std::pow(s, sf);
+  };
+
+  // --------------------------------------------------------------------------
+
+  // Here's the hand-calculated expansion of this energy functions first and
+  // second derivatives. Lots of fun...
+
+  static Tensor<2, dim, NumberType>
+  dpsi_dt(const Tensor<2, dim, NumberType> &t,
+          const Tensor<1, dim, NumberType> &v,
+          const NumberType &                s)
+  {
+    return 2.0 * std::pow(det_t(t), 1) * ddet_t_dt(t) *
+           std::pow(v_dot_v(v), 3) * std::pow(s, sf);
+  };
+
+  static Tensor<1, dim, NumberType>
+  dpsi_dv(const Tensor<2, dim, NumberType> &t,
+          const Tensor<1, dim, NumberType> &v,
+          const NumberType &                s)
+  {
+    return std::pow(det_t(t), 2) * 3.0 * std::pow(v_dot_v(v), 2) *
+           dv_dot_v_dv(v) * std::pow(s, sf);
+  };
+
+  static NumberType
+  dpsi_ds(const Tensor<2, dim, NumberType> &t,
+          const Tensor<1, dim, NumberType> &v,
+          const NumberType &                s)
+  {
+    return std::pow(det_t(t), 2) * std::pow(v_dot_v(v), 3) * sf *
+           std::pow(s, sf - 1.0);
+  };
+
+  static Tensor<4, dim, NumberType>
+  d2psi_dt_dt(const Tensor<2, dim, NumberType> &t,
+              const Tensor<1, dim, NumberType> &v,
+              const NumberType &                s)
+  {
+    return 2.0 * std::pow(v_dot_v(v), 3) *
+           (std::pow(det_t(t), 0) * outer_product(ddet_t_dt(t), ddet_t_dt(t)) +
+            std::pow(det_t(t), 1) * d2det_t_dt_dt(t)) *
+           std::pow(s, sf);
+  };
+
+  static Tensor<3, dim, NumberType>
+  d2psi_dv_dt(const Tensor<2, dim, NumberType> &t,
+              const Tensor<1, dim, NumberType> &v,
+              const NumberType &                s)
+  {
+    return 2.0 * std::pow(det_t(t), 1) * 3.0 * std::pow(v_dot_v(v), 2) *
+           outer_product(ddet_t_dt(t), dv_dot_v_dv(v)) * std::pow(s, sf);
+  };
+
+  static Tensor<2, dim, NumberType>
+  d2psi_ds_dt(const Tensor<2, dim, NumberType> &t,
+              const Tensor<1, dim, NumberType> &v,
+              const NumberType &                s)
+  {
+    return 2.0 * std::pow(det_t(t), 1) * ddet_t_dt(t) *
+           std::pow(v_dot_v(v), 3) * sf * std::pow(s, sf - 1.0);
+  };
+
+  static Tensor<3, dim, NumberType>
+  d2psi_dt_dv(const Tensor<2, dim, NumberType> &t,
+              const Tensor<1, dim, NumberType> &v,
+              const NumberType &                s)
+  {
+    return 2.0 * std::pow(det_t(t), 1) * 3.0 * std::pow(v_dot_v(v), 2) *
+           outer_product(dv_dot_v_dv(v), ddet_t_dt(t)) * std::pow(s, sf);
+  };
+
+  static Tensor<2, dim, NumberType>
+  d2psi_dv_dv(const Tensor<2, dim, NumberType> &t,
+              const Tensor<1, dim, NumberType> &v,
+              const NumberType &                s)
+  {
+    return std::pow(det_t(t), 2) * 3.0 *
+           (2.0 * std::pow(v_dot_v(v), 1) *
+              outer_product(dv_dot_v_dv(v), dv_dot_v_dv(v)) +
+            std::pow(v_dot_v(v), 2) * d2v_dot_v_dv_dv(v)) *
+           std::pow(s, sf);
+  };
+
+  static Tensor<1, dim, NumberType>
+  d2psi_ds_dv(const Tensor<2, dim, NumberType> &t,
+              const Tensor<1, dim, NumberType> &v,
+              const NumberType &                s)
+  {
+    return std::pow(det_t(t), 2) * 3.0 * std::pow(v_dot_v(v), 2) *
+           dv_dot_v_dv(v) * sf * std::pow(s, sf - 1.0);
+  };
+
+  static Tensor<2, dim, NumberType>
+  d2psi_dt_ds(const Tensor<2, dim, NumberType> &t,
+              const Tensor<1, dim, NumberType> &v,
+              const NumberType &                s)
+  {
+    return 2.0 * std::pow(det_t(t), 1) * ddet_t_dt(t) *
+           std::pow(v_dot_v(v), 3) * sf * std::pow(s, sf - 1.0);
+  };
+
+  static Tensor<1, dim, NumberType>
+  d2psi_dv_ds(const Tensor<2, dim, NumberType> &t,
+              const Tensor<1, dim, NumberType> &v,
+              const NumberType &                s)
+  {
+    return std::pow(det_t(t), 2) * 3.0 * std::pow(v_dot_v(v), 2) *
+           dv_dot_v_dv(v) * sf * std::pow(s, sf - 1.0);
+  };
+
+  static NumberType
+  d2psi_ds_ds(const Tensor<2, dim, NumberType> &t,
+              const Tensor<1, dim, NumberType> &v,
+              const NumberType &                s)
+  {
+    return std::pow(det_t(t), 2) * std::pow(v_dot_v(v), 3) * sf * (sf - 1.0) *
+           std::pow(s, sf - 2.0);
+  };
+};
+
+template <int dim, typename NumberType>
+const double CoupledFunction<dim, NumberType>::sf(2.2);
+
+template <typename Stream, typename NumberType>
+void
+print(Stream &stream, const std::string &name, const NumberType &val)
+{
+  stream << name << ": " << val << std::endl;
+}
+template <typename Stream, int dim, typename NumberType>
+void
+print(Stream &                          stream,
+      const std::string &               name,
+      const Tensor<0, dim, NumberType> &val)
+{
+  stream << name << ": " << val << std::endl;
+}
+template <typename Stream, int dim, typename NumberType>
+void
+print(Stream &                          stream,
+      const std::string &               name,
+      const Tensor<1, dim, NumberType> &t)
+{
+  for (unsigned int i = 0; i < dim; ++i)
+    stream << name << "[" << i << "]: " << t[i] << std::endl;
+}
+template <typename Stream, int dim, typename NumberType>
+void
+print(Stream &                          stream,
+      const std::string &               name,
+      const Tensor<2, dim, NumberType> &t)
+{
+  for (unsigned int i = 0; i < dim; ++i)
+    for (unsigned int j = 0; j < dim; ++j)
+      stream << name << "[" << i << "][" << j << "]: " << t[i][j] << std::endl;
+}
+template <typename Stream, int dim, typename NumberType>
+void
+print(Stream &                          stream,
+      const std::string &               name,
+      const Tensor<3, dim, NumberType> &t)
+{
+  for (unsigned int i = 0; i < dim; ++i)
+    for (unsigned int j = 0; j < dim; ++j)
+      for (unsigned int k = 0; k < dim; ++k)
+        stream << name << "[" << i << "][" << j << "][" << k
+               << "]: " << t[i][j][k] << std::endl;
+}
+template <typename Stream, int dim, typename NumberType>
+void
+print(Stream &                          stream,
+      const std::string &               name,
+      const Tensor<4, dim, NumberType> &t)
+{
+  for (unsigned int i = 0; i < dim; ++i)
+    for (unsigned int j = 0; j < dim; ++j)
+      for (unsigned int k = 0; k < dim; ++k)
+        for (unsigned int l = 0; l < dim; ++l)
+          stream << name << "[" << i << "][" << j << "][" << k << "][" << l
+                 << "]: " << t[i][j][k][l] << std::endl;
+}
+
+template <int dim,
+          typename number_t,
+          enum SD::OptimizerType     opt_method,
+          enum SD::OptimizationFlags opt_flags>
+void
+evaluate_SD_SD_stored_symbols_optimisation(const Tensor<2, dim> &t,
+                                           const Tensor<1, dim> &v,
+                                           const double &        s)
+{
+  typedef SD::Expression SDNumberType;
+
+  // Compute the symbolic (derivative) tensors once off
+  // ahead of time, and store them for each run of the function
+  // Symbols
+  static const Tensor<2, dim, SDNumberType> symb_t(
+    SD::make_tensor_of_symbols<2, dim>("t"));
+  static const Tensor<1, dim, SDNumberType> symb_v(
+    SD::make_tensor_of_symbols<1, dim>("v"));
+  static const SDNumberType symb_s(SD::make_symbol("s"));
+  // Value
+  static SDNumberType symb_psi;
+  // First derivatives
+  static Tensor<2, dim, SDNumberType> symb_dpsi_dt;
+  static Tensor<1, dim, SDNumberType> symb_dpsi_dv;
+  static SDNumberType                 symb_dpsi_ds;
+  // Second derivatives
+  static Tensor<4, dim, SDNumberType> symb_d2psi_dt_dt;
+  static Tensor<3, dim, SDNumberType> symb_d2psi_dv_dt;
+  static Tensor<2, dim, SDNumberType> symb_d2psi_ds_dt;
+  static Tensor<3, dim, SDNumberType> symb_d2psi_dt_dv;
+  static Tensor<2, dim, SDNumberType> symb_d2psi_dv_dv;
+  static Tensor<1, dim, SDNumberType> symb_d2psi_ds_dv;
+  static Tensor<2, dim, SDNumberType> symb_d2psi_dt_ds;
+  static Tensor<1, dim, SDNumberType> symb_d2psi_dv_ds;
+  static SDNumberType                 symb_d2psi_ds_ds;
+
+  static SD::BatchOptimizer<double> optimizer(opt_method, opt_flags);
+
+  static bool symbols_initialised = false;
+  if (symbols_initialised == false)
+    {
+      // Function and its derivatives
+      typedef CoupledFunction<dim, SDNumberType> func_sd;
+
+      symb_psi = func_sd::psi(symb_t, symb_v, symb_s);
+#if DEBUG_EXTRA
+      deallog << "symb_t: " << symb_t << std::endl;
+      deallog << "symb_v: " << symb_v << std::endl;
+      deallog << "symb_s: " << symb_s << std::endl;
+      deallog << "symb_psi: " << symb_psi << std::endl;
+#endif
+
+      // First derivative
+      symb_dpsi_dt = SD::differentiate(symb_psi, symb_t);
+      symb_dpsi_dv = SD::differentiate(symb_psi, symb_v);
+      symb_dpsi_ds = SD::differentiate(symb_psi, symb_s);
+      // Second derivatives
+      symb_d2psi_dt_dt = SD::differentiate(symb_dpsi_dt, symb_t);
+      symb_d2psi_dv_dt = SD::differentiate(symb_dpsi_dt, symb_v);
+      symb_d2psi_ds_dt = SD::differentiate(symb_dpsi_dt, symb_s);
+      symb_d2psi_dt_dv = SD::differentiate(symb_dpsi_dv, symb_t);
+      symb_d2psi_dv_dv = SD::differentiate(symb_dpsi_dv, symb_v);
+      symb_d2psi_ds_dv = SD::differentiate(symb_dpsi_dv, symb_s);
+      symb_d2psi_dt_ds = SD::differentiate(symb_dpsi_ds, symb_t);
+      symb_d2psi_dv_ds = SD::differentiate(symb_dpsi_ds, symb_v);
+      symb_d2psi_ds_ds = SD::differentiate(symb_dpsi_ds, symb_s);
+#if DEBUG_EXTRA
+      print(deallog, "symb_psi", symb_psi);
+      print(deallog, "symb_dpsi_dt", symb_dpsi_dt);
+      print(deallog, "symb_dpsi_dv", symb_dpsi_dv);
+      print(deallog, "symb_dpsi_ds", symb_dpsi_ds);
+      print(deallog, "symb_d2psi_dt_dt", symb_d2psi_dt_dt);
+      print(deallog, "symb_d2psi_dv_dt", symb_d2psi_dv_dt);
+      print(deallog, "symb_d2psi_ds_dt", symb_d2psi_ds_dt);
+      print(deallog, "symb_d2psi_dt_dv", symb_d2psi_dt_dv);
+      print(deallog, "symb_d2psi_dv_dv", symb_d2psi_dv_dv);
+      print(deallog, "symb_d2psi_ds_dv", symb_d2psi_ds_dv);
+      print(deallog, "symb_d2psi_dt_ds", symb_d2psi_dt_ds);
+      print(deallog, "symb_d2psi_dv_ds", symb_d2psi_dv_ds);
+      print(deallog, "symb_d2psi_ds_ds", symb_d2psi_ds_ds);
+#endif
+
+      const SD::types::substitution_map sub_vals_optim =
+        SD::make_symbol_map(symb_t, symb_v, symb_s);
+      optimizer.register_symbols(sub_vals_optim);
+
+      // Value
+      optimizer.register_function(symb_psi);
+      // First derivative
+      optimizer.register_function(symb_dpsi_dt);
+      optimizer.register_function(symb_dpsi_dv);
+      optimizer.register_function(symb_dpsi_ds);
+      // Second derivatives
+      optimizer.register_function(symb_d2psi_dt_dt);
+      optimizer.register_function(symb_d2psi_dv_dt);
+      optimizer.register_function(symb_d2psi_ds_dt);
+      optimizer.register_function(symb_d2psi_dt_dv);
+      optimizer.register_function(symb_d2psi_dv_dv);
+      optimizer.register_function(symb_d2psi_ds_dv);
+      optimizer.register_function(symb_d2psi_dt_ds);
+      optimizer.register_function(symb_d2psi_dv_ds);
+      optimizer.register_function(symb_d2psi_ds_ds);
+
+      optimizer.optimize();
+
+      symbols_initialised = true;
+
+      // Print optimiser
+#ifdef DEBUG_EXTRA
+      const bool print_optimiser = true;
+#else
+      const bool print_optimiser = false;
+#endif
+      if (print_optimiser == true)
+        {
+          deallog << "Optimizer" << std::endl;
+          optimizer.print(deallog.get_file_stream());
+        }
+    }
+
+  SD::types::substitution_map sub_vals;
+  SD::add_to_substitution_map(sub_vals, symb_t, t);
+  SD::add_to_substitution_map(sub_vals, symb_v, v);
+  SD::add_to_substitution_map(sub_vals, symb_s, s);
+
+  optimizer.substitute(sub_vals);
+
+  // Value
+  const double psi = optimizer.evaluate(symb_psi);
+  // First derivatives
+  const Tensor<2, dim, double> dpsi_dt = optimizer.evaluate(symb_dpsi_dt);
+  const Tensor<1, dim, double> dpsi_dv = optimizer.evaluate(symb_dpsi_dv);
+  const double                 dpsi_ds = optimizer.evaluate(symb_dpsi_ds);
+  // Second derivatives
+  const Tensor<4, dim, double> d2psi_dt_dt =
+    optimizer.evaluate(symb_d2psi_dt_dt);
+  const Tensor<3, dim, double> d2psi_dv_dt =
+    optimizer.evaluate(symb_d2psi_dv_dt);
+  const Tensor<2, dim, double> d2psi_ds_dt =
+    optimizer.evaluate(symb_d2psi_ds_dt);
+  const Tensor<3, dim, double> d2psi_dt_dv =
+    optimizer.evaluate(symb_d2psi_dt_dv);
+  const Tensor<2, dim, double> d2psi_dv_dv =
+    optimizer.evaluate(symb_d2psi_dv_dv);
+  const Tensor<1, dim, double> d2psi_ds_dv =
+    optimizer.evaluate(symb_d2psi_ds_dv);
+  const Tensor<2, dim, double> d2psi_dt_ds =
+    optimizer.evaluate(symb_d2psi_dt_ds);
+  const Tensor<1, dim, double> d2psi_dv_ds =
+    optimizer.evaluate(symb_d2psi_dv_ds);
+  const double d2psi_ds_ds = optimizer.evaluate(symb_d2psi_ds_ds);
+
+  // Verify the result
+  typedef CoupledFunction<dim, double> func;
+  static const double                  tol = 1e-12;
+  Assert(std::abs(psi - func::psi(t, v, s)) < tol,
+         ExcMessage("No match for function value."));
+  Assert(std::abs((dpsi_dt - func::dpsi_dt(t, v, s)).norm()) < tol,
+         ExcMessage("No match for first derivative."));
+  Assert(std::abs((dpsi_dv - func::dpsi_dv(t, v, s)).norm()) < tol,
+         ExcMessage("No match for first derivative."));
+  Assert(std::abs(dpsi_ds - func::dpsi_ds(t, v, s)) < tol,
+         ExcMessage("No match for first derivative."));
+  Assert(std::abs((d2psi_dt_dt - func::d2psi_dt_dt(t, v, s)).norm()) < tol,
+         ExcMessage("No match for second derivative."));
+  Assert(std::abs((d2psi_dv_dt - func::d2psi_dv_dt(t, v, s)).norm()) < tol,
+         ExcMessage("No match for second derivative."));
+  Assert(std::abs((d2psi_ds_dt - func::d2psi_ds_dt(t, v, s)).norm()) < tol,
+         ExcMessage("No match for second derivative."));
+  Assert(std::abs((d2psi_dt_dv - func::d2psi_dt_dv(t, v, s)).norm()) < tol,
+         ExcMessage("No match for second derivative."));
+  Assert(std::abs((d2psi_dv_dv - func::d2psi_dv_dv(t, v, s)).norm()) < tol,
+         ExcMessage("No match for second derivative."));
+  Assert(std::abs((d2psi_ds_dv - func::d2psi_ds_dv(t, v, s)).norm()) < tol,
+         ExcMessage("No match for second derivative."));
+  Assert(std::abs((d2psi_dt_ds - func::d2psi_dt_ds(t, v, s)).norm()) < tol,
+         ExcMessage("No match for second derivative."));
+  Assert(std::abs((d2psi_dv_ds - func::d2psi_dv_ds(t, v, s)).norm()) < tol,
+         ExcMessage("No match for second derivative."));
+  Assert(std::abs(d2psi_ds_ds - func::d2psi_ds_ds(t, v, s)) < tol,
+         ExcMessage("No match for second derivative."));
+}
+
+template <int                        dim,
+          enum SD::OptimizerType     opt_method,
+          enum SD::OptimizationFlags opt_flags>
+void
+run_tests(const unsigned int n_runs = 100)
+{
+  deallog.push("dim " + Utilities::to_string(dim));
+
+  Tensor<2, dim> t = unit_symmetric_tensor<dim>();
+  Tensor<1, dim> v;
+  double         s = 0.57;
+  for (unsigned int i = 0; i < dim; ++i)
+    {
+      v[i] = 0.275 * (1.0 + i);
+      for (unsigned int j = 0; j < dim; ++j)
+        t[i][j] = 1.03 + 1.15 * (((i + 1) * j) % dim);
+    }
+  t *= 0.9;
+  v *= 0.63;
+  s *= 1.21;
+
+  using ReturnType = double;
+  for (unsigned int i = 0; i < n_runs; ++i)
+    evaluate_SD_SD_stored_symbols_optimisation<dim,
+                                               ReturnType,
+                                               opt_method,
+                                               opt_flags>(t, v, s);
+
+  deallog << "OK" << std::endl;
+  deallog.pop();
+}
diff --git a/tests/symengine/sd_common_tests/serialization.h b/tests/symengine/sd_common_tests/serialization.h
new file mode 100644 (file)
index 0000000..d125e94
--- /dev/null
@@ -0,0 +1,97 @@
+// ---------------------------------------------------------------------
+//
+// Copyright (C) 2020 by the deal.II authors
+//
+// This file is part of the deal.II library.
+//
+// The deal.II library is free software; you can use it, redistribute
+// it, and/or modify it under the terms of the GNU Lesser General
+// Public License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+// The full text of the license can be found in the file LICENSE at
+// the top level of the deal.II distribution.
+//
+// ---------------------------------------------------------------------
+
+
+// Implement some serialization comparison specializations
+
+#include <deal.II/differentiation/sd/symengine_optimizer.h>
+
+#include "../../serialization/serialization.h"
+
+using namespace dealii;
+namespace SD = Differentiation::SD;
+
+// Overload the comparison function in serialization.h
+template <typename ReturnType>
+bool
+compare_optimizers(const SD::BatchOptimizer<ReturnType> &t1,
+                   const SD::BatchOptimizer<ReturnType> &t2)
+{
+  return (t1.n_independent_variables() == t2.n_independent_variables()) &&
+         (t1.n_dependent_variables() == t2.n_dependent_variables()) &&
+         (t1.optimization_method() == t2.optimization_method()) &&
+         (t1.optimization_flags() == t2.optimization_flags());
+}
+
+template <>
+bool
+compare(const SD::BatchOptimizer<float> &t1,
+        const SD::BatchOptimizer<float> &t2)
+{
+  return compare_optimizers(t1, t2);
+}
+
+template <>
+bool
+compare(const SD::BatchOptimizer<double> &t1,
+        const SD::BatchOptimizer<double> &t2)
+{
+  return compare_optimizers(t1, t2);
+}
+
+
+template <>
+bool
+compare(const SD::BatchOptimizer<std::complex<float>> &t1,
+        const SD::BatchOptimizer<std::complex<float>> &t2)
+{
+  return compare_optimizers(t1, t2);
+}
+
+template <>
+bool
+compare(const SD::BatchOptimizer<std::complex<double>> &t1,
+        const SD::BatchOptimizer<std::complex<double>> &t2)
+{
+  return compare_optimizers(t1, t2);
+}
+
+
+
+template <typename T>
+void
+verify_no_logging(const T &t1, T &t2)
+{
+  // save data to archive
+  std::ostringstream oss;
+  {
+    boost::archive::text_oarchive oa(oss, boost::archive::no_header);
+    oa << t1;
+    // archive and stream closed when
+    // destructors are called
+  }
+
+  // verify correctness of the
+  // serialization
+  {
+    std::istringstream            iss(oss.str());
+    boost::archive::text_iarchive ia(iss, boost::archive::no_header);
+
+
+    ia >> t2;
+
+    AssertThrow(compare(t1, t2), ExcInternalError());
+  }
+}
diff --git a/tests/symengine/sd_common_tests/step-44-sd-quadrature_level.h b/tests/symengine/sd_common_tests/step-44-sd-quadrature_level.h
new file mode 100644 (file)
index 0000000..6b316bb
--- /dev/null
@@ -0,0 +1,2041 @@
+// ---------------------------------------------------------------------
+//
+// Copyright (C) 2020 by the deal.II authors
+//
+// This file is part of the deal.II library.
+//
+// The deal.II library is free software; you can use it, redistribute
+// it, and/or modify it under the terms of the GNU Lesser General
+// Public License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+// The full text of the license can be found in the file LICENSE at
+// the top level of the deal.II distribution.
+//
+// ---------------------------------------------------------------------
+
+// This is a modified version of step-44, which tests the implementation of
+// QP-level symbolic-differentiation.
+// The differentiation is performed inline with the update step.
+
+#include <deal.II/base/function.h>
+#include <deal.II/base/parameter_handler.h>
+#include <deal.II/base/point.h>
+#include <deal.II/base/quadrature_lib.h>
+#include <deal.II/base/quadrature_point_data.h>
+#include <deal.II/base/symmetric_tensor.h>
+#include <deal.II/base/tensor.h>
+#include <deal.II/base/timer.h>
+#include <deal.II/base/work_stream.h>
+
+#include <deal.II/differentiation/sd.h>
+
+#include <deal.II/dofs/dof_renumbering.h>
+#include <deal.II/dofs/dof_tools.h>
+
+#include <deal.II/fe/fe_dgp_monomial.h>
+#include <deal.II/fe/fe_q.h>
+#include <deal.II/fe/fe_system.h>
+#include <deal.II/fe/fe_tools.h>
+#include <deal.II/fe/fe_values.h>
+#include <deal.II/fe/mapping_q_eulerian.h>
+
+#include <deal.II/grid/grid_generator.h>
+#include <deal.II/grid/grid_in.h>
+#include <deal.II/grid/grid_tools.h>
+#include <deal.II/grid/tria.h>
+
+#include <deal.II/lac/affine_constraints.h>
+#include <deal.II/lac/block_sparse_matrix.h>
+#include <deal.II/lac/block_vector.h>
+#include <deal.II/lac/dynamic_sparsity_pattern.h>
+#include <deal.II/lac/full_matrix.h>
+#include <deal.II/lac/linear_operator.h>
+#include <deal.II/lac/packaged_operation.h>
+#include <deal.II/lac/precondition_selector.h>
+#include <deal.II/lac/solver_cg.h>
+#include <deal.II/lac/solver_selector.h>
+#include <deal.II/lac/sparse_direct.h>
+
+#include <deal.II/numerics/data_out.h>
+#include <deal.II/numerics/vector_tools.h>
+
+#include <deal.II/physics/elasticity/kinematics.h>
+#include <deal.II/physics/elasticity/standard_tensors.h>
+#include <deal.II/physics/transformations.h>
+
+#include <fstream>
+#include <iostream>
+
+namespace Step44
+{
+  using namespace dealii;
+  namespace Parameters
+  {
+    struct FESystem
+    {
+      unsigned int poly_degree;
+      unsigned int quad_order;
+      static void
+      declare_parameters(ParameterHandler &prm);
+      void
+      parse_parameters(ParameterHandler &prm);
+    };
+    void
+    FESystem::declare_parameters(ParameterHandler &prm)
+    {
+      prm.enter_subsection("Finite element system");
+      {
+        prm.declare_entry("Polynomial degree",
+                          "2",
+                          Patterns::Integer(0),
+                          "Displacement system polynomial order");
+        prm.declare_entry("Quadrature order",
+                          "3",
+                          Patterns::Integer(0),
+                          "Gauss quadrature order");
+      }
+      prm.leave_subsection();
+    }
+    void
+    FESystem::parse_parameters(ParameterHandler &prm)
+    {
+      prm.enter_subsection("Finite element system");
+      {
+        poly_degree = prm.get_integer("Polynomial degree");
+        quad_order  = prm.get_integer("Quadrature order");
+      }
+      prm.leave_subsection();
+    }
+    struct Geometry
+    {
+      unsigned int global_refinement;
+      double       scale;
+      double       p_p0;
+      static void
+      declare_parameters(ParameterHandler &prm);
+      void
+      parse_parameters(ParameterHandler &prm);
+    };
+    void
+    Geometry::declare_parameters(ParameterHandler &prm)
+    {
+      prm.enter_subsection("Geometry");
+      {
+        prm.declare_entry("Global refinement",
+                          "2",
+                          Patterns::Integer(0),
+                          "Global refinement level");
+        prm.declare_entry("Grid scale",
+                          "1e-3",
+                          Patterns::Double(0.0),
+                          "Global grid scaling factor");
+        prm.declare_entry("Pressure ratio p/p0",
+                          "100",
+                          Patterns::Selection("20|40|60|80|100"),
+                          "Ratio of applied pressure to reference pressure");
+      }
+      prm.leave_subsection();
+    }
+    void
+    Geometry::parse_parameters(ParameterHandler &prm)
+    {
+      prm.enter_subsection("Geometry");
+      {
+        global_refinement = prm.get_integer("Global refinement");
+        scale             = prm.get_double("Grid scale");
+        p_p0              = prm.get_double("Pressure ratio p/p0");
+      }
+      prm.leave_subsection();
+    }
+    struct Materials
+    {
+      double nu;
+      double mu;
+      static void
+      declare_parameters(ParameterHandler &prm);
+      void
+      parse_parameters(ParameterHandler &prm);
+    };
+    void
+    Materials::declare_parameters(ParameterHandler &prm)
+    {
+      prm.enter_subsection("Material properties");
+      {
+        prm.declare_entry("Poisson's ratio",
+                          "0.4999",
+                          Patterns::Double(-1.0, 0.5),
+                          "Poisson's ratio");
+        prm.declare_entry("Shear modulus",
+                          "80.194e6",
+                          Patterns::Double(),
+                          "Shear modulus");
+      }
+      prm.leave_subsection();
+    }
+    void
+    Materials::parse_parameters(ParameterHandler &prm)
+    {
+      prm.enter_subsection("Material properties");
+      {
+        nu = prm.get_double("Poisson's ratio");
+        mu = prm.get_double("Shear modulus");
+      }
+      prm.leave_subsection();
+    }
+    struct LinearSolver
+    {
+      std::string type_lin;
+      double      tol_lin;
+      double      max_iterations_lin;
+      bool        use_static_condensation;
+      std::string preconditioner_type;
+      double      preconditioner_relaxation;
+      static void
+      declare_parameters(ParameterHandler &prm);
+      void
+      parse_parameters(ParameterHandler &prm);
+    };
+    void
+    LinearSolver::declare_parameters(ParameterHandler &prm)
+    {
+      prm.enter_subsection("Linear solver");
+      {
+        prm.declare_entry("Solver type",
+                          "CG",
+                          Patterns::Selection("CG|Direct"),
+                          "Type of solver used to solve the linear system");
+        prm.declare_entry("Residual",
+                          "1e-6",
+                          Patterns::Double(0.0),
+                          "Linear solver residual (scaled by residual norm)");
+        prm.declare_entry(
+          "Max iteration multiplier",
+          "1",
+          Patterns::Double(0.0),
+          "Linear solver iterations (multiples of the system matrix size)");
+        prm.declare_entry("Use static condensation",
+                          "true",
+                          Patterns::Bool(),
+                          "Solve the full block system or a reduced problem");
+        prm.declare_entry("Preconditioner type",
+                          "ssor",
+                          Patterns::Selection("jacobi|ssor"),
+                          "Type of preconditioner");
+        prm.declare_entry("Preconditioner relaxation",
+                          "0.65",
+                          Patterns::Double(0.0),
+                          "Preconditioner relaxation value");
+      }
+      prm.leave_subsection();
+    }
+    void
+    LinearSolver::parse_parameters(ParameterHandler &prm)
+    {
+      prm.enter_subsection("Linear solver");
+      {
+        type_lin                  = prm.get("Solver type");
+        tol_lin                   = prm.get_double("Residual");
+        max_iterations_lin        = prm.get_double("Max iteration multiplier");
+        use_static_condensation   = prm.get_bool("Use static condensation");
+        preconditioner_type       = prm.get("Preconditioner type");
+        preconditioner_relaxation = prm.get_double("Preconditioner relaxation");
+      }
+      prm.leave_subsection();
+    }
+    struct NonlinearSolver
+    {
+      unsigned int max_iterations_NR;
+      double       tol_f;
+      double       tol_u;
+      static void
+      declare_parameters(ParameterHandler &prm);
+      void
+      parse_parameters(ParameterHandler &prm);
+    };
+    void
+    NonlinearSolver::declare_parameters(ParameterHandler &prm)
+    {
+      prm.enter_subsection("Nonlinear solver");
+      {
+        prm.declare_entry("Max iterations Newton-Raphson",
+                          "10",
+                          Patterns::Integer(0),
+                          "Number of Newton-Raphson iterations allowed");
+        prm.declare_entry("Tolerance force",
+                          "1.0e-9",
+                          Patterns::Double(0.0),
+                          "Force residual tolerance");
+        prm.declare_entry("Tolerance displacement",
+                          "1.0e-6",
+                          Patterns::Double(0.0),
+                          "Displacement error tolerance");
+      }
+      prm.leave_subsection();
+    }
+    void
+    NonlinearSolver::parse_parameters(ParameterHandler &prm)
+    {
+      prm.enter_subsection("Nonlinear solver");
+      {
+        max_iterations_NR = prm.get_integer("Max iterations Newton-Raphson");
+        tol_f             = prm.get_double("Tolerance force");
+        tol_u             = prm.get_double("Tolerance displacement");
+      }
+      prm.leave_subsection();
+    }
+    struct Time
+    {
+      double delta_t;
+      double end_time;
+      static void
+      declare_parameters(ParameterHandler &prm);
+      void
+      parse_parameters(ParameterHandler &prm);
+    };
+    void
+    Time::declare_parameters(ParameterHandler &prm)
+    {
+      prm.enter_subsection("Time");
+      {
+        prm.declare_entry("End time", "1", Patterns::Double(), "End time");
+        prm.declare_entry("Time step size",
+                          "0.1",
+                          Patterns::Double(),
+                          "Time step size");
+      }
+      prm.leave_subsection();
+    }
+    void
+    Time::parse_parameters(ParameterHandler &prm)
+    {
+      prm.enter_subsection("Time");
+      {
+        end_time = prm.get_double("End time");
+        delta_t  = prm.get_double("Time step size");
+      }
+      prm.leave_subsection();
+    }
+    struct AllParameters : public FESystem,
+                           public Geometry,
+                           public Materials,
+                           public LinearSolver,
+                           public NonlinearSolver,
+                           public Time
+    {
+      AllParameters(const std::string &input_file);
+      static void
+      declare_parameters(ParameterHandler &prm);
+      void
+      parse_parameters(ParameterHandler &prm);
+    };
+    AllParameters::AllParameters(const std::string &input_file)
+    {
+      ParameterHandler prm;
+      declare_parameters(prm);
+      prm.parse_input(input_file);
+      parse_parameters(prm);
+    }
+    void
+    AllParameters::declare_parameters(ParameterHandler &prm)
+    {
+      FESystem::declare_parameters(prm);
+      Geometry::declare_parameters(prm);
+      Materials::declare_parameters(prm);
+      LinearSolver::declare_parameters(prm);
+      NonlinearSolver::declare_parameters(prm);
+      Time::declare_parameters(prm);
+    }
+    void
+    AllParameters::parse_parameters(ParameterHandler &prm)
+    {
+      FESystem::parse_parameters(prm);
+      Geometry::parse_parameters(prm);
+      Materials::parse_parameters(prm);
+      LinearSolver::parse_parameters(prm);
+      NonlinearSolver::parse_parameters(prm);
+      Time::parse_parameters(prm);
+    }
+  } // namespace Parameters
+  template <int dim>
+  class StandardTensors
+  {
+  public:
+    static const SymmetricTensor<2, dim> I;
+    static const SymmetricTensor<4, dim> IxI;
+    static const SymmetricTensor<4, dim> II;
+    static const SymmetricTensor<4, dim> dev_P;
+  };
+  template <int dim>
+  const SymmetricTensor<2, dim>
+    StandardTensors<dim>::I = unit_symmetric_tensor<dim>();
+  template <int dim>
+  const SymmetricTensor<4, dim> StandardTensors<dim>::IxI = outer_product(I, I);
+  template <int dim>
+  const SymmetricTensor<4, dim>
+    StandardTensors<dim>::II = identity_tensor<dim>();
+  template <int dim>
+  const SymmetricTensor<4, dim>
+    StandardTensors<dim>::dev_P = deviator_tensor<dim>();
+  class Time
+  {
+  public:
+    Time(const double time_end, const double delta_t)
+      : timestep(0)
+      , time_current(0.0)
+      , time_end(time_end)
+      , delta_t(delta_t)
+    {}
+    virtual ~Time()
+    {}
+    double
+    current() const
+    {
+      return time_current;
+    }
+    double
+    end() const
+    {
+      return time_end;
+    }
+    double
+    get_delta_t() const
+    {
+      return delta_t;
+    }
+    unsigned int
+    get_timestep() const
+    {
+      return timestep;
+    }
+    void
+    increment()
+    {
+      time_current += delta_t;
+      ++timestep;
+    }
+
+  private:
+    unsigned int timestep;
+    double       time_current;
+    const double time_end;
+    const double delta_t;
+  };
+  template <int dim>
+  class Material_Compressible_Neo_Hook_Three_Field
+  {
+  public:
+    Material_Compressible_Neo_Hook_Three_Field(const double mu, const double nu)
+      : kappa((2.0 * mu * (1.0 + nu)) / (3.0 * (1.0 - 2.0 * nu)))
+      , c_1(mu / 2.0)
+      , det_F(1.0)
+      , p_tilde(0.0)
+      , J_tilde(1.0)
+      , b_bar(StandardTensors<dim>::I)
+    {
+      Assert(kappa > 0, ExcInternalError());
+    }
+    ~Material_Compressible_Neo_Hook_Three_Field()
+    {}
+    void
+    update_material_data(const Tensor<2, dim> &F,
+                         const double          p_tilde_in,
+                         const double          J_tilde_in)
+    {
+      det_F   = determinant(F);
+      b_bar   = std::pow(det_F, -2.0 / dim) * symmetrize(F * transpose(F));
+      p_tilde = p_tilde_in;
+      J_tilde = J_tilde_in;
+      Assert(det_F > 0, ExcInternalError());
+    }
+    template <typename NumberType>
+    NumberType
+    get_Psi_iso(const SymmetricTensor<2, dim, NumberType> &C_bar)
+    {
+      // using namespace SD;
+      return c_1 * (trace(C_bar) - NumberType(dim));
+    }
+    template <typename NumberType>
+    NumberType
+    get_Psi_vol(const NumberType &J_tilde)
+    {
+      // using namespace SD;
+      return (kappa / 4.0) *
+             (J_tilde * J_tilde - NumberType(1.0) - 2.0 * log(J_tilde));
+    }
+
+    // === OLD FUNCTIONS REMAIN FOR TESTING ===
+
+    SymmetricTensor<2, dim>
+    get_tau()
+    {
+      return get_tau_iso() + get_tau_vol();
+    }
+    SymmetricTensor<4, dim>
+    get_Jc() const
+    {
+      return get_Jc_vol() + get_Jc_iso();
+    }
+    double
+    get_dPsi_vol_dJ() const
+    {
+      return (kappa / 2.0) * (J_tilde - 1.0 / J_tilde);
+    }
+    double
+    get_d2Psi_vol_dJ2() const
+    {
+      return ((kappa / 2.0) * (1.0 + 1.0 / (J_tilde * J_tilde)));
+    }
+    double
+    get_det_F() const
+    {
+      return det_F;
+    }
+    double
+    get_p_tilde() const
+    {
+      return p_tilde;
+    }
+    double
+    get_J_tilde() const
+    {
+      return J_tilde;
+    }
+
+  protected:
+    const double            kappa;
+    const double            c_1;
+    double                  det_F;
+    double                  p_tilde;
+    double                  J_tilde;
+    SymmetricTensor<2, dim> b_bar;
+    SymmetricTensor<2, dim>
+    get_tau_vol() const
+    {
+      return p_tilde * det_F * StandardTensors<dim>::I;
+    }
+    SymmetricTensor<2, dim>
+    get_tau_iso() const
+    {
+      return StandardTensors<dim>::dev_P * get_tau_bar();
+    }
+    SymmetricTensor<2, dim>
+    get_tau_bar() const
+    {
+      return 2.0 * c_1 * b_bar;
+    }
+    SymmetricTensor<4, dim>
+    get_Jc_vol() const
+    {
+      return p_tilde * det_F *
+             (StandardTensors<dim>::IxI - (2.0 * StandardTensors<dim>::II));
+    }
+    SymmetricTensor<4, dim>
+    get_Jc_iso() const
+    {
+      const SymmetricTensor<2, dim> tau_bar = get_tau_bar();
+      const SymmetricTensor<2, dim> tau_iso = get_tau_iso();
+      const SymmetricTensor<4, dim> tau_iso_x_I =
+        outer_product(tau_iso, StandardTensors<dim>::I);
+      const SymmetricTensor<4, dim> I_x_tau_iso =
+        outer_product(StandardTensors<dim>::I, tau_iso);
+      const SymmetricTensor<4, dim> c_bar = get_c_bar();
+      return (2.0 / dim) * trace(tau_bar) * StandardTensors<dim>::dev_P -
+             (2.0 / dim) * (tau_iso_x_I + I_x_tau_iso) +
+             StandardTensors<dim>::dev_P * c_bar * StandardTensors<dim>::dev_P;
+    }
+    SymmetricTensor<4, dim>
+    get_c_bar() const
+    {
+      return SymmetricTensor<4, dim>();
+    }
+  };
+
+  // Forward declare
+  template <int dim>
+  class PointHistory;
+
+  template <int dim>
+  class Solid
+  {
+  public:
+    Solid(const std::string &input_file);
+    virtual ~Solid();
+    void
+    run();
+
+  private:
+    struct PerTaskData_K;
+    struct ScratchData_K;
+    struct PerTaskData_RHS;
+    struct ScratchData_RHS;
+    struct PerTaskData_SC;
+    struct ScratchData_SC;
+    struct PerTaskData_UQPH;
+    struct ScratchData_UQPH;
+    void
+    make_grid();
+    void
+    system_setup();
+    void
+    determine_component_extractors();
+    void
+    assemble_system_tangent();
+    void
+    assemble_system_tangent_one_cell(
+      const typename DoFHandler<dim>::active_cell_iterator &cell,
+      ScratchData_K &                                       scratch,
+      PerTaskData_K &                                       data) const;
+    void
+    copy_local_to_global_K(const PerTaskData_K &data);
+    void
+    assemble_system_rhs();
+    void
+    assemble_system_rhs_one_cell(
+      const typename DoFHandler<dim>::active_cell_iterator &cell,
+      ScratchData_RHS &                                     scratch,
+      PerTaskData_RHS &                                     data) const;
+    void
+    copy_local_to_global_rhs(const PerTaskData_RHS &data);
+    void
+    assemble_sc();
+    void
+    assemble_sc_one_cell(
+      const typename DoFHandler<dim>::active_cell_iterator &cell,
+      ScratchData_SC &                                      scratch,
+      PerTaskData_SC &                                      data);
+    void
+    copy_local_to_global_sc(const PerTaskData_SC &data);
+    void
+    make_constraints(const int &it_nr);
+    void
+    setup_qph();
+    void
+    update_qph_incremental(const BlockVector<double> &solution_delta);
+    void
+    update_qph_incremental_one_cell(
+      const typename DoFHandler<dim>::active_cell_iterator &cell,
+      ScratchData_UQPH &                                    scratch,
+      PerTaskData_UQPH &                                    data);
+    void
+    copy_local_to_global_UQPH(const PerTaskData_UQPH & /*data*/)
+    {}
+    void
+    solve_nonlinear_timestep(BlockVector<double> &solution_delta);
+    std::pair<unsigned int, double>
+    solve_linear_system(BlockVector<double> &newton_update);
+    BlockVector<double>
+    get_total_solution(const BlockVector<double> &solution_delta) const;
+    void
+                              output_results() const;
+    Parameters::AllParameters parameters;
+    double                    vol_reference;
+    Triangulation<dim>        triangulation;
+    Time                      time;
+    mutable TimerOutput       timer;
+    CellDataStorage<typename Triangulation<dim>::cell_iterator,
+                    PointHistory<dim>>
+                                     quadrature_point_history;
+    const unsigned int               degree;
+    const FESystem<dim>              fe;
+    DoFHandler<dim>                  dof_handler_ref;
+    const unsigned int               dofs_per_cell;
+    const FEValuesExtractors::Vector u_fe;
+    const FEValuesExtractors::Scalar p_fe;
+    const FEValuesExtractors::Scalar J_fe;
+    static const unsigned int        n_blocks          = 3;
+    static const unsigned int        n_components      = dim + 2;
+    static const unsigned int        first_u_component = 0;
+    static const unsigned int        p_component       = dim;
+    static const unsigned int        J_component       = dim + 1;
+    enum
+    {
+      u_dof = 0,
+      p_dof = 1,
+      J_dof = 2
+    };
+    std::vector<types::global_dof_index> dofs_per_block;
+    std::vector<types::global_dof_index> element_indices_u;
+    std::vector<types::global_dof_index> element_indices_p;
+    std::vector<types::global_dof_index> element_indices_J;
+    const QGauss<dim>                    qf_cell;
+    const QGauss<dim - 1>                qf_face;
+    const unsigned int                   n_q_points;
+    const unsigned int                   n_q_points_f;
+    AffineConstraints<double>            constraints;
+    BlockSparsityPattern                 sparsity_pattern;
+    BlockSparseMatrix<double>            tangent_matrix;
+    BlockVector<double>                  system_rhs;
+    BlockVector<double>                  solution_n;
+    struct Errors
+    {
+      Errors()
+        : norm(1.0)
+        , u(1.0)
+        , p(1.0)
+        , J(1.0)
+      {}
+      void
+      reset()
+      {
+        norm = 1.0;
+        u    = 1.0;
+        p    = 1.0;
+        J    = 1.0;
+      }
+      void
+      normalise(const Errors &rhs)
+      {
+        if (rhs.norm != 0.0)
+          norm /= rhs.norm;
+        if (rhs.u != 0.0)
+          u /= rhs.u;
+        if (rhs.p != 0.0)
+          p /= rhs.p;
+        if (rhs.J != 0.0)
+          J /= rhs.J;
+      }
+      double norm, u, p, J;
+    };
+    Errors error_residual, error_residual_0, error_residual_norm, error_update,
+      error_update_0, error_update_norm;
+    void
+    get_error_residual(Errors &error_residual);
+    void
+    get_error_update(const BlockVector<double> &newton_update,
+                     Errors &                   error_update);
+    std::pair<double, double>
+    get_error_dilation() const;
+    double
+    compute_vol_current() const;
+    static void
+    print_conv_header();
+    void
+    print_conv_footer();
+  };
+  template <int dim>
+  Solid<dim>::Solid(const std::string &input_file)
+    : parameters(input_file)
+    , triangulation(Triangulation<dim>::maximum_smoothing)
+    , time(parameters.end_time, parameters.delta_t)
+    , timer(std::cout, TimerOutput::never, TimerOutput::wall_times)
+    , degree(parameters.poly_degree)
+    , fe(FE_Q<dim>(parameters.poly_degree),
+         dim, // displacement
+         FE_DGPMonomial<dim>(parameters.poly_degree - 1),
+         1, // pressure
+         FE_DGPMonomial<dim>(parameters.poly_degree - 1),
+         1)
+    , // dilatation
+    dof_handler_ref(triangulation)
+    , dofs_per_cell(fe.dofs_per_cell)
+    , u_fe(first_u_component)
+    , p_fe(p_component)
+    , J_fe(J_component)
+    , dofs_per_block(n_blocks)
+    , qf_cell(parameters.quad_order)
+    , qf_face(parameters.quad_order)
+    , n_q_points(qf_cell.size())
+    , n_q_points_f(qf_face.size())
+  {
+    Assert(dim == 2 || dim == 3,
+           ExcMessage("This problem only works in 2 or 3 space dimensions."));
+    determine_component_extractors();
+  }
+  template <int dim>
+  Solid<dim>::~Solid()
+  {
+    dof_handler_ref.clear();
+  }
+  template <int dim>
+  void
+  Solid<dim>::run()
+  {
+    make_grid();
+    system_setup();
+    {
+      AffineConstraints<double> constraints;
+      constraints.close();
+      const ComponentSelectFunction<dim> J_mask(J_component, n_components);
+      VectorTools::project(dof_handler_ref,
+                           constraints,
+                           QGauss<dim>(degree + 2),
+                           J_mask,
+                           solution_n);
+    }
+    // output_results();
+    time.increment();
+    BlockVector<double> solution_delta(dofs_per_block);
+    while (time.current() < time.end())
+      {
+        solution_delta = 0.0;
+        solve_nonlinear_timestep(solution_delta);
+        solution_n += solution_delta;
+        // output_results();
+        // Output displacement at centre of traction surface
+        {
+          const Point<dim> soln_pt(
+            dim == 3 ? Point<dim>(0.0, 1.0, 0.0) * parameters.scale :
+                       Point<dim>(0.0, 1.0) * parameters.scale);
+          typename DoFHandler<dim>::active_cell_iterator
+            cell = dof_handler_ref.begin_active(),
+            endc = dof_handler_ref.end();
+          for (; cell != endc; ++cell)
+            for (unsigned int v = 0; v < GeometryInfo<dim>::vertices_per_cell;
+                 ++v)
+              if (cell->vertex(v).distance(soln_pt) < 1e-6 * parameters.scale)
+                {
+                  Tensor<1, dim> soln;
+                  for (unsigned int d = 0; d < dim; ++d)
+                    soln[d] = solution_n(cell->vertex_dof_index(v, u_dof + d));
+                  deallog << "Timestep " << time.get_timestep() << ": " << soln
+                          << std::endl;
+                }
+        }
+        time.increment();
+      }
+  }
+  template <int dim>
+  struct Solid<dim>::PerTaskData_K
+  {
+    FullMatrix<double>                   cell_matrix;
+    std::vector<types::global_dof_index> local_dof_indices;
+    PerTaskData_K(const unsigned int dofs_per_cell)
+      : cell_matrix(dofs_per_cell, dofs_per_cell)
+      , local_dof_indices(dofs_per_cell)
+    {}
+    void
+    reset()
+    {
+      cell_matrix = 0.0;
+    }
+  };
+  template <int dim>
+  struct Solid<dim>::ScratchData_K
+  {
+    FEValues<dim>                                     fe_values_ref;
+    std::vector<std::vector<double>>                  Nx;
+    std::vector<std::vector<Tensor<2, dim>>>          grad_Nx;
+    std::vector<std::vector<SymmetricTensor<2, dim>>> symm_grad_Nx;
+    ScratchData_K(const FiniteElement<dim> &fe_cell,
+                  const QGauss<dim> &       qf_cell,
+                  const UpdateFlags         uf_cell)
+      : fe_values_ref(fe_cell, qf_cell, uf_cell)
+      , Nx(qf_cell.size(), std::vector<double>(fe_cell.dofs_per_cell))
+      , grad_Nx(qf_cell.size(),
+                std::vector<Tensor<2, dim>>(fe_cell.dofs_per_cell))
+      , symm_grad_Nx(qf_cell.size(),
+                     std::vector<SymmetricTensor<2, dim>>(
+                       fe_cell.dofs_per_cell))
+    {}
+    ScratchData_K(const ScratchData_K &rhs)
+      : fe_values_ref(rhs.fe_values_ref.get_fe(),
+                      rhs.fe_values_ref.get_quadrature(),
+                      rhs.fe_values_ref.get_update_flags())
+      , Nx(rhs.Nx)
+      , grad_Nx(rhs.grad_Nx)
+      , symm_grad_Nx(rhs.symm_grad_Nx)
+    {}
+    void
+    reset()
+    {
+      const unsigned int n_q_points      = Nx.size();
+      const unsigned int n_dofs_per_cell = Nx[0].size();
+      for (unsigned int q_point = 0; q_point < n_q_points; ++q_point)
+        {
+          Assert(Nx[q_point].size() == n_dofs_per_cell, ExcInternalError());
+          Assert(grad_Nx[q_point].size() == n_dofs_per_cell,
+                 ExcInternalError());
+          Assert(symm_grad_Nx[q_point].size() == n_dofs_per_cell,
+                 ExcInternalError());
+          for (unsigned int k = 0; k < n_dofs_per_cell; ++k)
+            {
+              Nx[q_point][k]           = 0.0;
+              grad_Nx[q_point][k]      = 0.0;
+              symm_grad_Nx[q_point][k] = 0.0;
+            }
+        }
+    }
+  };
+  template <int dim>
+  struct Solid<dim>::PerTaskData_RHS
+  {
+    Vector<double>                       cell_rhs;
+    std::vector<types::global_dof_index> local_dof_indices;
+    PerTaskData_RHS(const unsigned int dofs_per_cell)
+      : cell_rhs(dofs_per_cell)
+      , local_dof_indices(dofs_per_cell)
+    {}
+    void
+    reset()
+    {
+      cell_rhs = 0.0;
+    }
+  };
+  template <int dim>
+  struct Solid<dim>::ScratchData_RHS
+  {
+    FEValues<dim>                                     fe_values_ref;
+    FEFaceValues<dim>                                 fe_face_values_ref;
+    std::vector<std::vector<double>>                  Nx;
+    std::vector<std::vector<SymmetricTensor<2, dim>>> symm_grad_Nx;
+    ScratchData_RHS(const FiniteElement<dim> &fe_cell,
+                    const QGauss<dim> &       qf_cell,
+                    const UpdateFlags         uf_cell,
+                    const QGauss<dim - 1> &   qf_face,
+                    const UpdateFlags         uf_face)
+      : fe_values_ref(fe_cell, qf_cell, uf_cell)
+      , fe_face_values_ref(fe_cell, qf_face, uf_face)
+      , Nx(qf_cell.size(), std::vector<double>(fe_cell.dofs_per_cell))
+      , symm_grad_Nx(qf_cell.size(),
+                     std::vector<SymmetricTensor<2, dim>>(
+                       fe_cell.dofs_per_cell))
+    {}
+    ScratchData_RHS(const ScratchData_RHS &rhs)
+      : fe_values_ref(rhs.fe_values_ref.get_fe(),
+                      rhs.fe_values_ref.get_quadrature(),
+                      rhs.fe_values_ref.get_update_flags())
+      , fe_face_values_ref(rhs.fe_face_values_ref.get_fe(),
+                           rhs.fe_face_values_ref.get_quadrature(),
+                           rhs.fe_face_values_ref.get_update_flags())
+      , Nx(rhs.Nx)
+      , symm_grad_Nx(rhs.symm_grad_Nx)
+    {}
+    void
+    reset()
+    {
+      const unsigned int n_q_points      = Nx.size();
+      const unsigned int n_dofs_per_cell = Nx[0].size();
+      for (unsigned int q_point = 0; q_point < n_q_points; ++q_point)
+        {
+          Assert(Nx[q_point].size() == n_dofs_per_cell, ExcInternalError());
+          Assert(symm_grad_Nx[q_point].size() == n_dofs_per_cell,
+                 ExcInternalError());
+          for (unsigned int k = 0; k < n_dofs_per_cell; ++k)
+            {
+              Nx[q_point][k]           = 0.0;
+              symm_grad_Nx[q_point][k] = 0.0;
+            }
+        }
+    }
+  };
+  template <int dim>
+  struct Solid<dim>::PerTaskData_SC
+  {
+    FullMatrix<double>                   cell_matrix;
+    std::vector<types::global_dof_index> local_dof_indices;
+    FullMatrix<double>                   k_orig;
+    FullMatrix<double>                   k_pu;
+    FullMatrix<double>                   k_pJ;
+    FullMatrix<double>                   k_JJ;
+    FullMatrix<double>                   k_pJ_inv;
+    FullMatrix<double>                   k_bbar;
+    FullMatrix<double>                   A;
+    FullMatrix<double>                   B;
+    FullMatrix<double>                   C;
+    PerTaskData_SC(const unsigned int dofs_per_cell,
+                   const unsigned int n_u,
+                   const unsigned int n_p,
+                   const unsigned int n_J)
+      : cell_matrix(dofs_per_cell, dofs_per_cell)
+      , local_dof_indices(dofs_per_cell)
+      , k_orig(dofs_per_cell, dofs_per_cell)
+      , k_pu(n_p, n_u)
+      , k_pJ(n_p, n_J)
+      , k_JJ(n_J, n_J)
+      , k_pJ_inv(n_p, n_J)
+      , k_bbar(n_u, n_u)
+      , A(n_J, n_u)
+      , B(n_J, n_u)
+      , C(n_p, n_u)
+    {}
+    void
+    reset()
+    {}
+  };
+  template <int dim>
+  struct Solid<dim>::ScratchData_SC
+  {
+    void
+    reset()
+    {}
+  };
+  template <int dim>
+  struct Solid<dim>::PerTaskData_UQPH
+  {
+    void
+    reset()
+    {}
+  };
+  template <int dim>
+  struct Solid<dim>::ScratchData_UQPH
+  {
+    const BlockVector<double> & solution_total;
+    std::vector<Tensor<2, dim>> solution_grads_u_total;
+    std::vector<double>         solution_values_p_total;
+    std::vector<double>         solution_values_J_total;
+    FEValues<dim>               fe_values_ref;
+    ScratchData_UQPH(const FiniteElement<dim> & fe_cell,
+                     const QGauss<dim> &        qf_cell,
+                     const UpdateFlags          uf_cell,
+                     const BlockVector<double> &solution_total)
+      : solution_total(solution_total)
+      , solution_grads_u_total(qf_cell.size())
+      , solution_values_p_total(qf_cell.size())
+      , solution_values_J_total(qf_cell.size())
+      , fe_values_ref(fe_cell, qf_cell, uf_cell)
+    {}
+    ScratchData_UQPH(const ScratchData_UQPH &rhs)
+      : solution_total(rhs.solution_total)
+      , solution_grads_u_total(rhs.solution_grads_u_total)
+      , solution_values_p_total(rhs.solution_values_p_total)
+      , solution_values_J_total(rhs.solution_values_J_total)
+      , fe_values_ref(rhs.fe_values_ref.get_fe(),
+                      rhs.fe_values_ref.get_quadrature(),
+                      rhs.fe_values_ref.get_update_flags())
+    {}
+    void
+    reset()
+    {
+      const unsigned int n_q_points = solution_grads_u_total.size();
+      for (unsigned int q = 0; q < n_q_points; ++q)
+        {
+          solution_grads_u_total[q]  = 0.0;
+          solution_values_p_total[q] = 0.0;
+          solution_values_J_total[q] = 0.0;
+        }
+    }
+  };
+  template <int dim>
+  void
+  Solid<dim>::make_grid()
+  {
+    GridGenerator::hyper_rectangle(
+      triangulation,
+      (dim == 3 ? Point<dim>(0.0, 0.0, 0.0) : Point<dim>(0.0, 0.0)),
+      (dim == 3 ? Point<dim>(1.0, 1.0, 1.0) : Point<dim>(1.0, 1.0)),
+      true);
+    GridTools::scale(parameters.scale, triangulation);
+    triangulation.refine_global(std::max(1U, parameters.global_refinement));
+    vol_reference = GridTools::volume(triangulation);
+    std::cout << "Grid:\n\t Reference volume: " << vol_reference << std::endl;
+    typename Triangulation<dim>::active_cell_iterator cell = triangulation
+                                                               .begin_active(),
+                                                      endc =
+                                                        triangulation.end();
+    for (; cell != endc; ++cell)
+      for (unsigned int face = 0; face < GeometryInfo<dim>::faces_per_cell;
+           ++face)
+        {
+          if (cell->face(face)->at_boundary() == true &&
+              cell->face(face)->center()[1] == 1.0 * parameters.scale)
+            {
+              if (dim == 3)
+                {
+                  if (cell->face(face)->center()[0] < 0.5 * parameters.scale &&
+                      cell->face(face)->center()[2] < 0.5 * parameters.scale)
+                    cell->face(face)->set_boundary_id(6);
+                }
+              else
+                {
+                  if (cell->face(face)->center()[0] < 0.5 * parameters.scale)
+                    cell->face(face)->set_boundary_id(6);
+                }
+            }
+        }
+  }
+  template <int dim>
+  void
+  Solid<dim>::system_setup()
+  {
+    timer.enter_subsection("Setup system");
+    std::vector<unsigned int> block_component(n_components,
+                                              u_dof); // Displacement
+    block_component[p_component] = p_dof;             // Pressure
+    block_component[J_component] = J_dof;             // Dilatation
+    dof_handler_ref.distribute_dofs(fe);
+    DoFRenumbering::Cuthill_McKee(dof_handler_ref);
+    DoFRenumbering::component_wise(dof_handler_ref, block_component);
+    DoFTools::count_dofs_per_block(dof_handler_ref,
+                                   dofs_per_block,
+                                   block_component);
+    std::cout << "Triangulation:"
+              << "\n\t Number of active cells: "
+              << triangulation.n_active_cells()
+              << "\n\t Number of degrees of freedom: "
+              << dof_handler_ref.n_dofs() << std::endl;
+    tangent_matrix.clear();
+    {
+      const types::global_dof_index n_dofs_u = dofs_per_block[u_dof];
+      const types::global_dof_index n_dofs_p = dofs_per_block[p_dof];
+      const types::global_dof_index n_dofs_J = dofs_per_block[J_dof];
+      BlockDynamicSparsityPattern   dsp(n_blocks, n_blocks);
+      dsp.block(u_dof, u_dof).reinit(n_dofs_u, n_dofs_u);
+      dsp.block(u_dof, p_dof).reinit(n_dofs_u, n_dofs_p);
+      dsp.block(u_dof, J_dof).reinit(n_dofs_u, n_dofs_J);
+      dsp.block(p_dof, u_dof).reinit(n_dofs_p, n_dofs_u);
+      dsp.block(p_dof, p_dof).reinit(n_dofs_p, n_dofs_p);
+      dsp.block(p_dof, J_dof).reinit(n_dofs_p, n_dofs_J);
+      dsp.block(J_dof, u_dof).reinit(n_dofs_J, n_dofs_u);
+      dsp.block(J_dof, p_dof).reinit(n_dofs_J, n_dofs_p);
+      dsp.block(J_dof, J_dof).reinit(n_dofs_J, n_dofs_J);
+      dsp.collect_sizes();
+      Table<2, DoFTools::Coupling> coupling(n_components, n_components);
+      for (unsigned int ii = 0; ii < n_components; ++ii)
+        for (unsigned int jj = 0; jj < n_components; ++jj)
+          if (((ii < p_component) && (jj == J_component)) ||
+              ((ii == J_component) && (jj < p_component)) ||
+              ((ii == p_component) && (jj == p_component)))
+            coupling[ii][jj] = DoFTools::none;
+          else
+            coupling[ii][jj] = DoFTools::always;
+      DoFTools::make_sparsity_pattern(
+        dof_handler_ref, coupling, dsp, constraints, false);
+      sparsity_pattern.copy_from(dsp);
+    }
+    tangent_matrix.reinit(sparsity_pattern);
+    system_rhs.reinit(dofs_per_block);
+    system_rhs.collect_sizes();
+    solution_n.reinit(dofs_per_block);
+    solution_n.collect_sizes();
+    setup_qph();
+    timer.leave_subsection();
+  }
+  template <int dim>
+  void
+  Solid<dim>::determine_component_extractors()
+  {
+    element_indices_u.clear();
+    element_indices_p.clear();
+    element_indices_J.clear();
+    for (unsigned int k = 0; k < fe.dofs_per_cell; ++k)
+      {
+        const unsigned int k_group = fe.system_to_base_index(k).first.first;
+        if (k_group == u_dof)
+          element_indices_u.push_back(k);
+        else if (k_group == p_dof)
+          element_indices_p.push_back(k);
+        else if (k_group == J_dof)
+          element_indices_J.push_back(k);
+        else
+          {
+            Assert(k_group <= J_dof, ExcInternalError());
+          }
+      }
+  }
+  template <int dim>
+  void
+  Solid<dim>::setup_qph()
+  {
+    std::cout << "    Setting up quadrature point data..." << std::endl;
+    quadrature_point_history.initialize(triangulation.begin_active(),
+                                        triangulation.end(),
+                                        n_q_points);
+    for (typename Triangulation<dim>::active_cell_iterator cell =
+           triangulation.begin_active();
+         cell != triangulation.end();
+         ++cell)
+      {
+        const std::vector<std::shared_ptr<PointHistory<dim>>> lqph =
+          quadrature_point_history.get_data(cell);
+        Assert(lqph.size() == n_q_points, ExcInternalError());
+        for (unsigned int q_point = 0; q_point < n_q_points; ++q_point)
+          lqph[q_point]->setup_lqp(parameters);
+      }
+  }
+  template <int dim>
+  void
+  Solid<dim>::update_qph_incremental(const BlockVector<double> &solution_delta)
+  {
+    timer.enter_subsection("Update QPH data");
+    std::cout << " UQPH " << std::flush;
+    const BlockVector<double> solution_total(
+      get_total_solution(solution_delta));
+    const UpdateFlags uf_UQPH(update_values | update_gradients);
+    PerTaskData_UQPH  per_task_data_UQPH;
+    ScratchData_UQPH  scratch_data_UQPH(fe, qf_cell, uf_UQPH, solution_total);
+    // Run single threaded for simplicity
+    // WorkStream::run(dof_handler_ref.begin_active(),
+    //                 dof_handler_ref.end(),
+    //                 *this,
+    //                 &Solid::update_qph_incremental_one_cell,
+    //                 &Solid::copy_local_to_global_UQPH,
+    //                 scratch_data_UQPH,
+    //                 per_task_data_UQPH);
+    for (typename DoFHandler<dim>::active_cell_iterator cell =
+           dof_handler_ref.begin_active();
+         cell != dof_handler_ref.end();
+         ++cell)
+      {
+        update_qph_incremental_one_cell(cell,
+                                        scratch_data_UQPH,
+                                        per_task_data_UQPH);
+        copy_local_to_global_UQPH(per_task_data_UQPH);
+      }
+    timer.leave_subsection();
+  }
+  template <int dim>
+  void
+  Solid<dim>::update_qph_incremental_one_cell(
+    const typename DoFHandler<dim>::active_cell_iterator &cell,
+    ScratchData_UQPH &                                    scratch,
+    PerTaskData_UQPH & /*data*/)
+  {
+    const std::vector<std::shared_ptr<PointHistory<dim>>> lqph =
+      quadrature_point_history.get_data(cell);
+    Assert(lqph.size() == n_q_points, ExcInternalError());
+    Assert(scratch.solution_grads_u_total.size() == n_q_points,
+           ExcInternalError());
+    Assert(scratch.solution_values_p_total.size() == n_q_points,
+           ExcInternalError());
+    Assert(scratch.solution_values_J_total.size() == n_q_points,
+           ExcInternalError());
+    scratch.reset();
+    scratch.fe_values_ref.reinit(cell);
+    scratch.fe_values_ref[u_fe].get_function_gradients(
+      scratch.solution_total, scratch.solution_grads_u_total);
+    scratch.fe_values_ref[p_fe].get_function_values(
+      scratch.solution_total, scratch.solution_values_p_total);
+    scratch.fe_values_ref[J_fe].get_function_values(
+      scratch.solution_total, scratch.solution_values_J_total);
+    for (unsigned int q_point = 0; q_point < n_q_points; ++q_point)
+      lqph[q_point]->update_values(scratch.solution_grads_u_total[q_point],
+                                   scratch.solution_values_p_total[q_point],
+                                   scratch.solution_values_J_total[q_point]);
+  }
+  template <int dim>
+  void
+  Solid<dim>::solve_nonlinear_timestep(BlockVector<double> &solution_delta)
+  {
+    std::cout << std::endl
+              << "Timestep " << time.get_timestep() << " @ " << time.current()
+              << "s" << std::endl;
+    BlockVector<double> newton_update(dofs_per_block);
+    error_residual.reset();
+    error_residual_0.reset();
+    error_residual_norm.reset();
+    error_update.reset();
+    error_update_0.reset();
+    error_update_norm.reset();
+    print_conv_header();
+    unsigned int newton_iteration = 0;
+    for (; newton_iteration < parameters.max_iterations_NR; ++newton_iteration)
+      {
+        std::cout << " " << std::setw(2) << newton_iteration << " "
+                  << std::flush;
+        tangent_matrix = 0.0;
+        system_rhs     = 0.0;
+        assemble_system_rhs();
+        get_error_residual(error_residual);
+        if (newton_iteration == 0)
+          error_residual_0 = error_residual;
+        error_residual_norm = error_residual;
+        error_residual_norm.normalise(error_residual_0);
+        if (newton_iteration > 0 && error_update_norm.u <= parameters.tol_u &&
+            error_residual_norm.u <= parameters.tol_f)
+          {
+            std::cout << " CONVERGED! " << std::endl;
+            print_conv_footer();
+            break;
+          }
+        assemble_system_tangent();
+        make_constraints(newton_iteration);
+        constraints.condense(tangent_matrix, system_rhs);
+        const std::pair<unsigned int, double> lin_solver_output =
+          solve_linear_system(newton_update);
+        get_error_update(newton_update, error_update);
+        if (newton_iteration == 0)
+          error_update_0 = error_update;
+        error_update_norm = error_update;
+        error_update_norm.normalise(error_update_0);
+        solution_delta += newton_update;
+        update_qph_incremental(solution_delta);
+        std::cout << " | " << std::fixed << std::setprecision(3) << std::setw(7)
+                  << std::scientific << lin_solver_output.first << "  "
+                  << lin_solver_output.second << "  "
+                  << error_residual_norm.norm << "  " << error_residual_norm.u
+                  << "  " << error_residual_norm.p << "  "
+                  << error_residual_norm.J << "  " << error_update_norm.norm
+                  << "  " << error_update_norm.u << "  " << error_update_norm.p
+                  << "  " << error_update_norm.J << "  " << std::endl;
+      }
+    AssertThrow(newton_iteration <= parameters.max_iterations_NR,
+                ExcMessage("No convergence in nonlinear solver!"));
+  }
+  template <int dim>
+  void
+  Solid<dim>::print_conv_header()
+  {
+    static const unsigned int l_width = 155;
+    for (unsigned int i = 0; i < l_width; ++i)
+      std::cout << "_";
+    std::cout << std::endl;
+    std::cout << "                 SOLVER STEP                  "
+              << " |  LIN_IT   LIN_RES    RES_NORM    "
+              << " RES_U     RES_P      RES_J     NU_NORM     "
+              << " NU_U       NU_P       NU_J " << std::endl;
+    for (unsigned int i = 0; i < l_width; ++i)
+      std::cout << "_";
+    std::cout << std::endl;
+  }
+  template <int dim>
+  void
+  Solid<dim>::print_conv_footer()
+  {
+    static const unsigned int l_width = 155;
+    for (unsigned int i = 0; i < l_width; ++i)
+      std::cout << "_";
+    std::cout << std::endl;
+    const std::pair<double, double> error_dil = get_error_dilation();
+    std::cout << "Relative errors:" << std::endl
+              << "Displacement:\t" << error_update.u / error_update_0.u
+              << std::endl
+              << "Force: \t\t" << error_residual.u / error_residual_0.u
+              << std::endl
+              << "Dilatation:\t" << error_dil.first << std::endl
+              << "v / V_0:\t" << error_dil.second * vol_reference << " / "
+              << vol_reference << " = " << error_dil.second << std::endl;
+  }
+  template <int dim>
+  double
+  Solid<dim>::compute_vol_current() const
+  {
+    double        vol_current = 0.0;
+    FEValues<dim> fe_values_ref(fe, qf_cell, update_JxW_values);
+    for (typename Triangulation<dim>::active_cell_iterator cell =
+           triangulation.begin_active();
+         cell != triangulation.end();
+         ++cell)
+      {
+        fe_values_ref.reinit(cell);
+        const std::vector<std::shared_ptr<const PointHistory<dim>>> lqph =
+          quadrature_point_history.get_data(cell);
+        Assert(lqph.size() == n_q_points, ExcInternalError());
+        for (unsigned int q_point = 0; q_point < n_q_points; ++q_point)
+          {
+            const double det_F_qp = lqph[q_point]->get_det_F();
+            const double JxW      = fe_values_ref.JxW(q_point);
+            vol_current += det_F_qp * JxW;
+          }
+      }
+    Assert(vol_current > 0.0, ExcInternalError());
+    return vol_current;
+  }
+  template <int dim>
+  std::pair<double, double>
+  Solid<dim>::get_error_dilation() const
+  {
+    double        dil_L2_error = 0.0;
+    FEValues<dim> fe_values_ref(fe, qf_cell, update_JxW_values);
+    for (typename Triangulation<dim>::active_cell_iterator cell =
+           triangulation.begin_active();
+         cell != triangulation.end();
+         ++cell)
+      {
+        fe_values_ref.reinit(cell);
+        const std::vector<std::shared_ptr<const PointHistory<dim>>> lqph =
+          quadrature_point_history.get_data(cell);
+        Assert(lqph.size() == n_q_points, ExcInternalError());
+        for (unsigned int q_point = 0; q_point < n_q_points; ++q_point)
+          {
+            const double det_F_qp   = lqph[q_point]->get_det_F();
+            const double J_tilde_qp = lqph[q_point]->get_J_tilde();
+            const double the_error_qp_squared =
+              std::pow((det_F_qp - J_tilde_qp), 2);
+            const double JxW = fe_values_ref.JxW(q_point);
+            dil_L2_error += the_error_qp_squared * JxW;
+          }
+      }
+    return std::make_pair(std::sqrt(dil_L2_error),
+                          compute_vol_current() / vol_reference);
+  }
+  template <int dim>
+  void
+  Solid<dim>::get_error_residual(Errors &error_residual)
+  {
+    BlockVector<double> error_res(dofs_per_block);
+    for (unsigned int i = 0; i < dof_handler_ref.n_dofs(); ++i)
+      if (!constraints.is_constrained(i))
+        error_res(i) = system_rhs(i);
+    error_residual.norm = error_res.l2_norm();
+    error_residual.u    = error_res.block(u_dof).l2_norm();
+    error_residual.p    = error_res.block(p_dof).l2_norm();
+    error_residual.J    = error_res.block(J_dof).l2_norm();
+  }
+  template <int dim>
+  void
+  Solid<dim>::get_error_update(const BlockVector<double> &newton_update,
+                               Errors &                   error_update)
+  {
+    BlockVector<double> error_ud(dofs_per_block);
+    for (unsigned int i = 0; i < dof_handler_ref.n_dofs(); ++i)
+      if (!constraints.is_constrained(i))
+        error_ud(i) = newton_update(i);
+    error_update.norm = error_ud.l2_norm();
+    error_update.u    = error_ud.block(u_dof).l2_norm();
+    error_update.p    = error_ud.block(p_dof).l2_norm();
+    error_update.J    = error_ud.block(J_dof).l2_norm();
+  }
+  template <int dim>
+  BlockVector<double>
+  Solid<dim>::get_total_solution(
+    const BlockVector<double> &solution_delta) const
+  {
+    BlockVector<double> solution_total(solution_n);
+    solution_total += solution_delta;
+    return solution_total;
+  }
+  template <int dim>
+  void
+  Solid<dim>::assemble_system_tangent()
+  {
+    timer.enter_subsection("Assemble tangent matrix");
+    std::cout << " ASM_K " << std::flush;
+    tangent_matrix = 0.0;
+    const UpdateFlags uf_cell(update_values | update_gradients |
+                              update_JxW_values);
+    PerTaskData_K     per_task_data(dofs_per_cell);
+    ScratchData_K     scratch_data(fe, qf_cell, uf_cell);
+    WorkStream::run(dof_handler_ref.begin_active(),
+                    dof_handler_ref.end(),
+                    std::bind(&Solid<dim>::assemble_system_tangent_one_cell,
+                              this,
+                              std::placeholders::_1,
+                              std::placeholders::_2,
+                              std::placeholders::_3),
+                    std::bind(&Solid<dim>::copy_local_to_global_K,
+                              this,
+                              std::placeholders::_1),
+                    scratch_data,
+                    per_task_data);
+    timer.leave_subsection();
+  }
+  template <int dim>
+  void
+  Solid<dim>::copy_local_to_global_K(const PerTaskData_K &data)
+  {
+    for (unsigned int i = 0; i < dofs_per_cell; ++i)
+      for (unsigned int j = 0; j < dofs_per_cell; ++j)
+        tangent_matrix.add(data.local_dof_indices[i],
+                           data.local_dof_indices[j],
+                           data.cell_matrix(i, j));
+  }
+  template <int dim>
+  void
+  Solid<dim>::assemble_system_tangent_one_cell(
+    const typename DoFHandler<dim>::active_cell_iterator &cell,
+    ScratchData_K &                                       scratch,
+    PerTaskData_K &                                       data) const
+  {
+    data.reset();
+    scratch.reset();
+    scratch.fe_values_ref.reinit(cell);
+    cell->get_dof_indices(data.local_dof_indices);
+    const std::vector<std::shared_ptr<const PointHistory<dim>>> lqph =
+      quadrature_point_history.get_data(cell);
+    Assert(lqph.size() == n_q_points, ExcInternalError());
+    for (unsigned int q_point = 0; q_point < n_q_points; ++q_point)
+      {
+        const Tensor<2, dim> F_inv = lqph[q_point]->get_F_inv();
+        for (unsigned int k = 0; k < dofs_per_cell; ++k)
+          {
+            const unsigned int k_group = fe.system_to_base_index(k).first.first;
+            if (k_group == u_dof)
+              {
+                scratch.grad_Nx[q_point][k] =
+                  scratch.fe_values_ref[u_fe].gradient(k, q_point) * F_inv;
+                scratch.symm_grad_Nx[q_point][k] =
+                  symmetrize(scratch.grad_Nx[q_point][k]);
+              }
+            else if (k_group == p_dof)
+              scratch.Nx[q_point][k] =
+                scratch.fe_values_ref[p_fe].value(k, q_point);
+            else if (k_group == J_dof)
+              scratch.Nx[q_point][k] =
+                scratch.fe_values_ref[J_fe].value(k, q_point);
+            else
+              Assert(k_group <= J_dof, ExcInternalError());
+          }
+      }
+    for (unsigned int q_point = 0; q_point < n_q_points; ++q_point)
+      {
+        const Tensor<2, dim>          tau = lqph[q_point]->get_tau();
+        const SymmetricTensor<4, dim> Jc  = lqph[q_point]->get_Jc();
+        const double d2Psi_vol_dJ2        = lqph[q_point]->get_d2Psi_vol_dJ2();
+        const double det_F                = lqph[q_point]->get_det_F();
+        const std::vector<double> &                 N = scratch.Nx[q_point];
+        const std::vector<SymmetricTensor<2, dim>> &symm_grad_Nx =
+          scratch.symm_grad_Nx[q_point];
+        const std::vector<Tensor<2, dim>> &grad_Nx = scratch.grad_Nx[q_point];
+        const double JxW = scratch.fe_values_ref.JxW(q_point);
+        for (unsigned int i = 0; i < dofs_per_cell; ++i)
+          {
+            const unsigned int component_i =
+              fe.system_to_component_index(i).first;
+            const unsigned int i_group = fe.system_to_base_index(i).first.first;
+            for (unsigned int j = 0; j <= i; ++j)
+              {
+                const unsigned int component_j =
+                  fe.system_to_component_index(j).first;
+                const unsigned int j_group =
+                  fe.system_to_base_index(j).first.first;
+                if ((i_group == j_group) && (i_group == u_dof))
+                  {
+                    data.cell_matrix(i, j) += symm_grad_Nx[i] *
+                                              Jc // The material contribution:
+                                              * symm_grad_Nx[j] * JxW;
+                    if (component_i ==
+                        component_j) // geometrical stress contribution
+                      data.cell_matrix(i, j) += grad_Nx[i][component_i] * tau *
+                                                grad_Nx[j][component_j] * JxW;
+                  }
+                else if ((i_group == p_dof) && (j_group == u_dof))
+                  {
+                    data.cell_matrix(i, j) +=
+                      N[i] * det_F *
+                      (symm_grad_Nx[j] * StandardTensors<dim>::I) * JxW;
+                  }
+                else if ((i_group == J_dof) && (j_group == p_dof))
+                  data.cell_matrix(i, j) -= N[i] * N[j] * JxW;
+                else if ((i_group == j_group) && (i_group == J_dof))
+                  data.cell_matrix(i, j) += N[i] * d2Psi_vol_dJ2 * N[j] * JxW;
+                else
+                  Assert((i_group <= J_dof) && (j_group <= J_dof),
+                         ExcInternalError());
+              }
+          }
+      }
+    for (unsigned int i = 0; i < dofs_per_cell; ++i)
+      for (unsigned int j = i + 1; j < dofs_per_cell; ++j)
+        data.cell_matrix(i, j) = data.cell_matrix(j, i);
+  }
+  template <int dim>
+  void
+  Solid<dim>::assemble_system_rhs()
+  {
+    timer.enter_subsection("Assemble system right-hand side");
+    std::cout << " ASM_R " << std::flush;
+    system_rhs = 0.0;
+    const UpdateFlags uf_cell(update_values | update_gradients |
+                              update_JxW_values);
+    const UpdateFlags uf_face(update_values | update_normal_vectors |
+                              update_JxW_values);
+    PerTaskData_RHS   per_task_data(dofs_per_cell);
+    ScratchData_RHS   scratch_data(fe, qf_cell, uf_cell, qf_face, uf_face);
+    WorkStream::run(dof_handler_ref.begin_active(),
+                    dof_handler_ref.end(),
+                    std::bind(&Solid<dim>::assemble_system_rhs_one_cell,
+                              this,
+                              std::placeholders::_1,
+                              std::placeholders::_2,
+                              std::placeholders::_3),
+                    std::bind(&Solid<dim>::copy_local_to_global_rhs,
+                              this,
+                              std::placeholders::_1),
+                    scratch_data,
+                    per_task_data);
+    timer.leave_subsection();
+  }
+  template <int dim>
+  void
+  Solid<dim>::copy_local_to_global_rhs(const PerTaskData_RHS &data)
+  {
+    for (unsigned int i = 0; i < dofs_per_cell; ++i)
+      system_rhs(data.local_dof_indices[i]) += data.cell_rhs(i);
+  }
+  template <int dim>
+  void
+  Solid<dim>::assemble_system_rhs_one_cell(
+    const typename DoFHandler<dim>::active_cell_iterator &cell,
+    ScratchData_RHS &                                     scratch,
+    PerTaskData_RHS &                                     data) const
+  {
+    data.reset();
+    scratch.reset();
+    scratch.fe_values_ref.reinit(cell);
+    cell->get_dof_indices(data.local_dof_indices);
+    const std::vector<std::shared_ptr<const PointHistory<dim>>> lqph =
+      quadrature_point_history.get_data(cell);
+    Assert(lqph.size() == n_q_points, ExcInternalError());
+    for (unsigned int q_point = 0; q_point < n_q_points; ++q_point)
+      {
+        const Tensor<2, dim> F_inv = lqph[q_point]->get_F_inv();
+        for (unsigned int k = 0; k < dofs_per_cell; ++k)
+          {
+            const unsigned int k_group = fe.system_to_base_index(k).first.first;
+            if (k_group == u_dof)
+              scratch.symm_grad_Nx[q_point][k] = symmetrize(
+                scratch.fe_values_ref[u_fe].gradient(k, q_point) * F_inv);
+            else if (k_group == p_dof)
+              scratch.Nx[q_point][k] =
+                scratch.fe_values_ref[p_fe].value(k, q_point);
+            else if (k_group == J_dof)
+              scratch.Nx[q_point][k] =
+                scratch.fe_values_ref[J_fe].value(k, q_point);
+            else
+              Assert(k_group <= J_dof, ExcInternalError());
+          }
+      }
+    for (unsigned int q_point = 0; q_point < n_q_points; ++q_point)
+      {
+        const SymmetricTensor<2, dim> tau     = lqph[q_point]->get_tau();
+        const double                  det_F   = lqph[q_point]->get_det_F();
+        const double                  J_tilde = lqph[q_point]->get_J_tilde();
+        const double                  p_tilde = lqph[q_point]->get_p_tilde();
+        const double dPsi_vol_dJ = lqph[q_point]->get_dPsi_vol_dJ();
+        const std::vector<double> &                 N = scratch.Nx[q_point];
+        const std::vector<SymmetricTensor<2, dim>> &symm_grad_Nx =
+          scratch.symm_grad_Nx[q_point];
+        const double JxW = scratch.fe_values_ref.JxW(q_point);
+        for (unsigned int i = 0; i < dofs_per_cell; ++i)
+          {
+            const unsigned int i_group = fe.system_to_base_index(i).first.first;
+            if (i_group == u_dof)
+              data.cell_rhs(i) -= (symm_grad_Nx[i] * tau) * JxW;
+            else if (i_group == p_dof)
+              data.cell_rhs(i) -= N[i] * (det_F - J_tilde) * JxW;
+            else if (i_group == J_dof)
+              data.cell_rhs(i) -= N[i] * (dPsi_vol_dJ - p_tilde) * JxW;
+            else
+              Assert(i_group <= J_dof, ExcInternalError());
+          }
+      }
+    for (unsigned int face = 0; face < GeometryInfo<dim>::faces_per_cell;
+         ++face)
+      if (cell->face(face)->at_boundary() == true &&
+          cell->face(face)->boundary_id() == 6)
+        {
+          scratch.fe_face_values_ref.reinit(cell, face);
+          for (unsigned int f_q_point = 0; f_q_point < n_q_points_f;
+               ++f_q_point)
+            {
+              const Tensor<1, dim> &N =
+                scratch.fe_face_values_ref.normal_vector(f_q_point);
+              static const double p0 =
+                -4.0 / (parameters.scale * parameters.scale);
+              const double         time_ramp = (time.current() / time.end());
+              const double         pressure  = p0 * parameters.p_p0 * time_ramp;
+              const Tensor<1, dim> traction  = pressure * N;
+              for (unsigned int i = 0; i < dofs_per_cell; ++i)
+                {
+                  const unsigned int i_group =
+                    fe.system_to_base_index(i).first.first;
+                  if (i_group == u_dof)
+                    {
+                      const unsigned int component_i =
+                        fe.system_to_component_index(i).first;
+                      const double Ni =
+                        scratch.fe_face_values_ref.shape_value(i, f_q_point);
+                      const double JxW =
+                        scratch.fe_face_values_ref.JxW(f_q_point);
+                      data.cell_rhs(i) += (Ni * traction[component_i]) * JxW;
+                    }
+                }
+            }
+        }
+  }
+  template <int dim>
+  void
+  Solid<dim>::make_constraints(const int &it_nr)
+  {
+    std::cout << " CST " << std::flush;
+    if (it_nr > 1)
+      return;
+    constraints.clear();
+    const bool                       apply_dirichlet_bc = (it_nr == 0);
+    const FEValuesExtractors::Scalar x_displacement(0);
+    const FEValuesExtractors::Scalar y_displacement(1);
+    {
+      const int boundary_id = 0;
+      if (apply_dirichlet_bc == true)
+        VectorTools::interpolate_boundary_values(
+          dof_handler_ref,
+          boundary_id,
+          ZeroFunction<dim>(n_components),
+          constraints,
+          fe.component_mask(x_displacement));
+      else
+        VectorTools::interpolate_boundary_values(
+          dof_handler_ref,
+          boundary_id,
+          ZeroFunction<dim>(n_components),
+          constraints,
+          fe.component_mask(x_displacement));
+    }
+    {
+      const int boundary_id = 2;
+      if (apply_dirichlet_bc == true)
+        VectorTools::interpolate_boundary_values(
+          dof_handler_ref,
+          boundary_id,
+          ZeroFunction<dim>(n_components),
+          constraints,
+          fe.component_mask(y_displacement));
+      else
+        VectorTools::interpolate_boundary_values(
+          dof_handler_ref,
+          boundary_id,
+          ZeroFunction<dim>(n_components),
+          constraints,
+          fe.component_mask(y_displacement));
+    }
+    if (dim == 3)
+      {
+        const FEValuesExtractors::Scalar z_displacement(2);
+        {
+          const int boundary_id = 3;
+          if (apply_dirichlet_bc == true)
+            VectorTools::interpolate_boundary_values(
+              dof_handler_ref,
+              boundary_id,
+              ZeroFunction<dim>(n_components),
+              constraints,
+              (fe.component_mask(x_displacement) |
+               fe.component_mask(z_displacement)));
+          else
+            VectorTools::interpolate_boundary_values(
+              dof_handler_ref,
+              boundary_id,
+              ZeroFunction<dim>(n_components),
+              constraints,
+              (fe.component_mask(x_displacement) |
+               fe.component_mask(z_displacement)));
+        }
+        {
+          const int boundary_id = 4;
+          if (apply_dirichlet_bc == true)
+            VectorTools::interpolate_boundary_values(
+              dof_handler_ref,
+              boundary_id,
+              ZeroFunction<dim>(n_components),
+              constraints,
+              fe.component_mask(z_displacement));
+          else
+            VectorTools::interpolate_boundary_values(
+              dof_handler_ref,
+              boundary_id,
+              ZeroFunction<dim>(n_components),
+              constraints,
+              fe.component_mask(z_displacement));
+        }
+        {
+          const int boundary_id = 6;
+          if (apply_dirichlet_bc == true)
+            VectorTools::interpolate_boundary_values(
+              dof_handler_ref,
+              boundary_id,
+              ZeroFunction<dim>(n_components),
+              constraints,
+              (fe.component_mask(x_displacement) |
+               fe.component_mask(z_displacement)));
+          else
+            VectorTools::interpolate_boundary_values(
+              dof_handler_ref,
+              boundary_id,
+              ZeroFunction<dim>(n_components),
+              constraints,
+              (fe.component_mask(x_displacement) |
+               fe.component_mask(z_displacement)));
+        }
+      }
+    else
+      {
+        {
+          const int boundary_id = 3;
+          if (apply_dirichlet_bc == true)
+            VectorTools::interpolate_boundary_values(
+              dof_handler_ref,
+              boundary_id,
+              ZeroFunction<dim>(n_components),
+              constraints,
+              (fe.component_mask(x_displacement)));
+          else
+            VectorTools::interpolate_boundary_values(
+              dof_handler_ref,
+              boundary_id,
+              ZeroFunction<dim>(n_components),
+              constraints,
+              (fe.component_mask(x_displacement)));
+        }
+        {
+          const int boundary_id = 6;
+          if (apply_dirichlet_bc == true)
+            VectorTools::interpolate_boundary_values(
+              dof_handler_ref,
+              boundary_id,
+              ZeroFunction<dim>(n_components),
+              constraints,
+              (fe.component_mask(x_displacement)));
+          else
+            VectorTools::interpolate_boundary_values(
+              dof_handler_ref,
+              boundary_id,
+              ZeroFunction<dim>(n_components),
+              constraints,
+              (fe.component_mask(x_displacement)));
+        }
+      }
+    constraints.close();
+  }
+  template <int dim>
+  void
+  Solid<dim>::assemble_sc()
+  {
+    timer.enter_subsection("Perform static condensation");
+    std::cout << " ASM_SC " << std::flush;
+    PerTaskData_SC per_task_data(dofs_per_cell,
+                                 element_indices_u.size(),
+                                 element_indices_p.size(),
+                                 element_indices_J.size());
+    ScratchData_SC scratch_data;
+    WorkStream::run(dof_handler_ref.begin_active(),
+                    dof_handler_ref.end(),
+                    *this,
+                    &Solid::assemble_sc_one_cell,
+                    &Solid::copy_local_to_global_sc,
+                    scratch_data,
+                    per_task_data);
+    timer.leave_subsection();
+  }
+  template <int dim>
+  void
+  Solid<dim>::copy_local_to_global_sc(const PerTaskData_SC &data)
+  {
+    for (unsigned int i = 0; i < dofs_per_cell; ++i)
+      for (unsigned int j = 0; j < dofs_per_cell; ++j)
+        tangent_matrix.add(data.local_dof_indices[i],
+                           data.local_dof_indices[j],
+                           data.cell_matrix(i, j));
+  }
+  template <int dim>
+  void
+  Solid<dim>::assemble_sc_one_cell(
+    const typename DoFHandler<dim>::active_cell_iterator &cell,
+    ScratchData_SC &                                      scratch,
+    PerTaskData_SC &                                      data)
+  {
+    data.reset();
+    scratch.reset();
+    cell->get_dof_indices(data.local_dof_indices);
+    data.k_orig.extract_submatrix_from(tangent_matrix,
+                                       data.local_dof_indices,
+                                       data.local_dof_indices);
+    data.k_pu.extract_submatrix_from(data.k_orig,
+                                     element_indices_p,
+                                     element_indices_u);
+    data.k_pJ.extract_submatrix_from(data.k_orig,
+                                     element_indices_p,
+                                     element_indices_J);
+    data.k_JJ.extract_submatrix_from(data.k_orig,
+                                     element_indices_J,
+                                     element_indices_J);
+    data.k_pJ_inv.invert(data.k_pJ);
+    data.k_pJ_inv.mmult(data.A, data.k_pu);
+    data.k_JJ.mmult(data.B, data.A);
+    data.k_pJ_inv.Tmmult(data.C, data.B);
+    data.k_pu.Tmmult(data.k_bbar, data.C);
+    data.k_bbar.scatter_matrix_to(element_indices_u,
+                                  element_indices_u,
+                                  data.cell_matrix);
+    data.k_pJ_inv.add(-1.0, data.k_pJ);
+    data.k_pJ_inv.scatter_matrix_to(element_indices_p,
+                                    element_indices_J,
+                                    data.cell_matrix);
+  }
+  template <int dim>
+  std::pair<unsigned int, double>
+  Solid<dim>::solve_linear_system(BlockVector<double> &newton_update)
+
+  {
+    unsigned int lin_it  = 0;
+    double       lin_res = 0.0;
+    if (parameters.use_static_condensation == true)
+      {
+        BlockVector<double> A(dofs_per_block);
+        BlockVector<double> B(dofs_per_block);
+        {
+          assemble_sc();
+          tangent_matrix.block(p_dof, J_dof)
+            .vmult(A.block(J_dof), system_rhs.block(p_dof));
+          tangent_matrix.block(J_dof, J_dof)
+            .vmult(B.block(J_dof), A.block(J_dof));
+          A.block(J_dof) = system_rhs.block(J_dof);
+          A.block(J_dof) -= B.block(J_dof);
+          tangent_matrix.block(p_dof, J_dof)
+            .Tvmult(A.block(p_dof), A.block(J_dof));
+          tangent_matrix.block(u_dof, p_dof)
+            .vmult(A.block(u_dof), A.block(p_dof));
+          system_rhs.block(u_dof) -= A.block(u_dof);
+          timer.enter_subsection("Linear solver");
+          std::cout << " SLV " << std::flush;
+          if (parameters.type_lin == "CG")
+            {
+              const auto solver_its = static_cast<unsigned int>(
+                tangent_matrix.block(u_dof, u_dof).m() *
+                parameters.max_iterations_lin);
+              const double tol_sol =
+                parameters.tol_lin * system_rhs.block(u_dof).l2_norm();
+              SolverControl solver_control(solver_its, tol_sol, false, false);
+              GrowingVectorMemory<Vector<double>> GVM;
+              SolverCG<Vector<double>> solver_CG(solver_control, GVM);
+              PreconditionSelector<SparseMatrix<double>, Vector<double>>
+                preconditioner(parameters.preconditioner_type,
+                               parameters.preconditioner_relaxation);
+              preconditioner.use_matrix(tangent_matrix.block(u_dof, u_dof));
+              solver_CG.solve(tangent_matrix.block(u_dof, u_dof),
+                              newton_update.block(u_dof),
+                              system_rhs.block(u_dof),
+                              preconditioner);
+              lin_it  = solver_control.last_step();
+              lin_res = solver_control.last_value();
+            }
+          else if (parameters.type_lin == "Direct")
+            {
+              SparseDirectUMFPACK A_direct;
+              A_direct.initialize(tangent_matrix.block(u_dof, u_dof));
+              A_direct.vmult(newton_update.block(u_dof),
+                             system_rhs.block(u_dof));
+              lin_it  = 1;
+              lin_res = 0.0;
+            }
+          else
+            Assert(false, ExcMessage("Linear solver type not implemented"));
+          timer.leave_subsection();
+        }
+        constraints.distribute(newton_update);
+        timer.enter_subsection("Linear solver postprocessing");
+        std::cout << " PP " << std::flush;
+        {
+          tangent_matrix.block(p_dof, u_dof)
+            .vmult(A.block(p_dof), newton_update.block(u_dof));
+          A.block(p_dof) *= -1.0;
+          A.block(p_dof) += system_rhs.block(p_dof);
+          tangent_matrix.block(p_dof, J_dof)
+            .vmult(newton_update.block(J_dof), A.block(p_dof));
+        }
+        constraints.distribute(newton_update);
+        {
+          tangent_matrix.block(J_dof, J_dof)
+            .vmult(A.block(J_dof), newton_update.block(J_dof));
+          A.block(J_dof) *= -1.0;
+          A.block(J_dof) += system_rhs.block(J_dof);
+          tangent_matrix.block(p_dof, J_dof)
+            .Tvmult(newton_update.block(p_dof), A.block(J_dof));
+        }
+        constraints.distribute(newton_update);
+        timer.leave_subsection();
+      }
+    else
+      {
+        std::cout << " ------ " << std::flush;
+        timer.enter_subsection("Linear solver");
+        std::cout << " SLV " << std::flush;
+        if (parameters.type_lin == "CG")
+          {
+            const Vector<double> &f_u = system_rhs.block(u_dof);
+            const Vector<double> &f_p = system_rhs.block(p_dof);
+            const Vector<double> &f_J = system_rhs.block(J_dof);
+            Vector<double> &      d_u = newton_update.block(u_dof);
+            Vector<double> &      d_p = newton_update.block(p_dof);
+            Vector<double> &      d_J = newton_update.block(J_dof);
+            const auto            K_uu =
+              linear_operator(tangent_matrix.block(u_dof, u_dof));
+            const auto K_up =
+              linear_operator(tangent_matrix.block(u_dof, p_dof));
+            const auto K_pu =
+              linear_operator(tangent_matrix.block(p_dof, u_dof));
+            const auto K_Jp =
+              linear_operator(tangent_matrix.block(J_dof, p_dof));
+            const auto K_JJ =
+              linear_operator(tangent_matrix.block(J_dof, J_dof));
+            PreconditionSelector<SparseMatrix<double>, Vector<double>>
+              preconditioner_K_Jp_inv("jacobi");
+            preconditioner_K_Jp_inv.use_matrix(
+              tangent_matrix.block(J_dof, p_dof));
+            ReductionControl solver_control_K_Jp_inv(
+              static_cast<unsigned int>(tangent_matrix.block(J_dof, p_dof).m() *
+                                        parameters.max_iterations_lin),
+              1.0e-30,
+              parameters.tol_lin);
+            SolverSelector<Vector<double>> solver_K_Jp_inv;
+            solver_K_Jp_inv.select("cg");
+            solver_K_Jp_inv.set_control(solver_control_K_Jp_inv);
+            const auto K_Jp_inv =
+              inverse_operator(K_Jp, solver_K_Jp_inv, preconditioner_K_Jp_inv);
+            const auto K_pJ_inv     = transpose_operator(K_Jp_inv);
+            const auto K_pp_bar     = K_Jp_inv * K_JJ * K_pJ_inv;
+            const auto K_uu_bar_bar = K_up * K_pp_bar * K_pu;
+            const auto K_uu_con     = K_uu + K_uu_bar_bar;
+            PreconditionSelector<SparseMatrix<double>, Vector<double>>
+              preconditioner_K_con_inv(parameters.preconditioner_type,
+                                       parameters.preconditioner_relaxation);
+            preconditioner_K_con_inv.use_matrix(
+              tangent_matrix.block(u_dof, u_dof));
+            ReductionControl solver_control_K_con_inv(
+              static_cast<unsigned int>(tangent_matrix.block(u_dof, u_dof).m() *
+                                        parameters.max_iterations_lin),
+              1.0e-30,
+              parameters.tol_lin);
+            SolverSelector<Vector<double>> solver_K_con_inv;
+            solver_K_con_inv.select("cg");
+            solver_K_con_inv.set_control(solver_control_K_con_inv);
+            const auto K_uu_con_inv =
+              inverse_operator(K_uu_con,
+                               solver_K_con_inv,
+                               preconditioner_K_con_inv);
+            d_u =
+              K_uu_con_inv * (f_u - K_up * (K_Jp_inv * f_J - K_pp_bar * f_p));
+            timer.leave_subsection();
+            timer.enter_subsection("Linear solver postprocessing");
+            std::cout << " PP " << std::flush;
+            d_J     = K_pJ_inv * (f_p - K_pu * d_u);
+            d_p     = K_Jp_inv * (f_J - K_JJ * d_J);
+            lin_it  = solver_control_K_con_inv.last_step();
+            lin_res = solver_control_K_con_inv.last_value();
+          }
+        else if (parameters.type_lin == "Direct")
+          {
+            SparseDirectUMFPACK A_direct;
+            A_direct.initialize(tangent_matrix);
+            A_direct.vmult(newton_update, system_rhs);
+            lin_it  = 1;
+            lin_res = 0.0;
+            std::cout << " -- " << std::flush;
+          }
+        else
+          Assert(false, ExcMessage("Linear solver type not implemented"));
+        timer.leave_subsection();
+        constraints.distribute(newton_update);
+      }
+    return std::make_pair(lin_it, lin_res);
+  }
+  template <int dim>
+  void
+  Solid<dim>::output_results() const
+  {
+    DataOut<dim> data_out;
+    std::vector<DataComponentInterpretation::DataComponentInterpretation>
+      data_component_interpretation(
+        dim, DataComponentInterpretation::component_is_part_of_vector);
+    data_component_interpretation.push_back(
+      DataComponentInterpretation::component_is_scalar);
+    data_component_interpretation.push_back(
+      DataComponentInterpretation::component_is_scalar);
+    std::vector<std::string> solution_name(dim, "displacement");
+    solution_name.push_back("pressure");
+    solution_name.push_back("dilatation");
+    data_out.attach_dof_handler(dof_handler_ref);
+    data_out.add_data_vector(solution_n,
+                             solution_name,
+                             DataOut<dim>::type_dof_data,
+                             data_component_interpretation);
+    Vector<double> soln(solution_n.size());
+    for (unsigned int i = 0; i < soln.size(); ++i)
+      soln(i) = solution_n(i);
+    MappingQEulerian<dim> q_mapping(degree, dof_handler_ref, soln);
+    data_out.build_patches(q_mapping, degree);
+    std::ostringstream filename;
+    filename << "solution-" << dim << "d-" << time.get_timestep() << ".vtk";
+    std::ofstream output(filename.str().c_str());
+    data_out.write_vtk(output);
+  }
+} // namespace Step44
diff --git a/tests/symengine/step-44-sd-quadrature_level_01.cc b/tests/symengine/step-44-sd-quadrature_level_01.cc
new file mode 100644 (file)
index 0000000..05f3832
--- /dev/null
@@ -0,0 +1,339 @@
+// ---------------------------------------------------------------------
+//
+// Copyright (C) 2020 by the deal.II authors
+//
+// This file is part of the deal.II library.
+//
+// The deal.II library is free software; you can use it, redistribute
+// it, and/or modify it under the terms of the GNU Lesser General
+// Public License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+// The full text of the license can be found in the file LICENSE at
+// the top level of the deal.II distribution.
+//
+// ---------------------------------------------------------------------
+
+// This is a modified version of step-44, which tests the implementation of
+// QP-level symbolic-differentiation.
+// The differentiation is performed inline with the update step.
+// Compared to the run-time for step-44-sd-quadrature_level-[02,03].cc this
+// serves only to gauge how quick/slow symbolic tensor differentiation is.
+
+#include "../tests.h"
+
+#include "sd_common_tests/step-44-sd-quadrature_level.h"
+
+namespace Step44
+{
+  using namespace dealii;
+  namespace SD = Differentiation::SD;
+
+  template <int dim>
+  class PointHistory
+  {
+  public:
+    PointHistory()
+      : F_inv(StandardTensors<dim>::I)
+      , tau(SymmetricTensor<2, dim>())
+      , d2Psi_vol_dJ2(0.0)
+      , dPsi_vol_dJ(0.0)
+      , Jc(SymmetricTensor<4, dim>())
+    {}
+    virtual ~PointHistory()
+    {}
+    void
+    setup_lqp(const Parameters::AllParameters &parameters)
+    {
+      material.reset(
+        new Material_Compressible_Neo_Hook_Three_Field<dim>(parameters.mu,
+                                                            parameters.nu));
+      update_values(Tensor<2, dim>(), 0.0, 1.0);
+    }
+    void
+    update_values(const Tensor<2, dim> &Grad_u_n,
+                  const double          p_tilde,
+                  const double          J_tilde)
+    {
+      const Tensor<2, dim> F =
+        (Tensor<2, dim>(StandardTensors<dim>::I) + Grad_u_n);
+      material->update_material_data(F, p_tilde, J_tilde);
+      F_inv = invert(F);
+
+      namespace SD       = Differentiation::SD;
+      using SDNumberType = SD::Expression;
+      const bool debug   = false;
+
+      // NOTE: We could actually perform all of the symbolic computations ONCE
+      // up front and then reuse them as necessary. It is out of sheer laziness
+      // that I'm not doing this here. Doing this might lead to a good
+      // performance gain since we don't have to do the symbolic tensor
+      // differentiation many times, but rather only once. The alternate
+      // approach is adopted in step-44-sd_02.cc
+
+      // Define some symbols
+      const SymmetricTensor<2, dim, SDNumberType> C_SD(
+        SD::make_symmetric_tensor_of_symbols<2, dim>("C"));
+      const SDNumberType p_tilde_SD("p");
+      const SDNumberType J_tilde_SD(
+        SD::make_symbol("J")); // Check an unnecessary complication
+
+      // Build the symbol substitution map
+      // NOTE: I would typically leave this to the end (after symbol
+      // calculations have been performed) but since it has to be used twice for
+      // this problem so I do it up front
+      const SymmetricTensor<2, dim> C = symmetrize(transpose(F) * F);
+      SD::types::substitution_map   sub_vals_unresolved;
+      SD::add_to_substitution_map(sub_vals_unresolved,
+                                  SD::make_substitution_map(C_SD, C));
+      SD::add_to_substitution_map(sub_vals_unresolved,
+                                  SD::make_substitution_map(p_tilde_SD,
+                                                            p_tilde));
+      SD::add_to_substitution_map(sub_vals_unresolved,
+                                  SD::make_substitution_map(J_tilde_SD,
+                                                            J_tilde));
+      // NOTE: The recursive substitution is not really required in this case,
+      // but good to use in practise in case a more complex energy function is
+      // employed later
+      const SD::types::substitution_map sub_vals =
+        SD::resolve_explicit_dependencies(sub_vals_unresolved);
+
+      if (debug)
+        {
+          SD::Utilities::print_substitution_map(std::cout, sub_vals);
+        }
+
+      // Step 1: Update stress and material tangent
+      {
+        // 1a: Perform some symbolic calculations
+        // Compute additional kinematic quantities
+        // const SDNumberType det_F_SD = sqrt(determinant(C_SD));
+        // const SymmetricTensor<2,dim,SDNumberType> C_bar_SD (pow(det_F_SD,
+        // -2.0/dim) * C_SD);
+        const SDNumberType det_C_SD = determinant(C_SD);
+        const SymmetricTensor<2, dim, SDNumberType> C_bar_SD(
+          pow(det_C_SD, -1.0 / dim) * C_SD);
+        // Compute energy
+        const SDNumberType det_F_SD     = sqrt(det_C_SD);
+        const SDNumberType symbolic_psi = material->get_Psi_iso(C_bar_SD) +
+                                          p_tilde_SD * (det_F_SD - J_tilde_SD);
+        // Compute partial derivatives of energy function
+        const SymmetricTensor<2, dim, SDNumberType> symbolic_S =
+          2.0 * SD::differentiate(symbolic_psi, C_SD); // S = 2*dpsi_dC
+        const SymmetricTensor<4, dim, SDNumberType> symbolic_H =
+          2.0 *
+          SD::differentiate(symbolic_S, C_SD); // H = 2*dS_dC = 4*d2psi_dC_dC
+
+        if (debug)
+          {
+            std::cout << "symbolic_S: " << symbolic_S << std::endl;
+            std::cout << "symbolic_H: " << symbolic_H << std::endl;
+          }
+
+        // 1b: Perform substitution of symbols
+        const SymmetricTensor<2, dim, SDNumberType> substitution_S =
+          SD::substitute(symbolic_S, sub_vals);
+        const SymmetricTensor<4, dim, SDNumberType> substitution_H =
+          SD::substitute(symbolic_H, sub_vals);
+
+        if (debug)
+          {
+            std::cout << "substitution_S: " << substitution_S << std::endl;
+            std::cout << "substitution_H: " << substitution_H << std::endl;
+          }
+
+        // Compute real-valued deal.II tensors
+        const SymmetricTensor<2, dim> S =
+          static_cast<SymmetricTensor<2, dim>>(substitution_S);
+        const SymmetricTensor<4, dim> H =
+          static_cast<SymmetricTensor<4, dim>>(substitution_H);
+
+        // Push-forward
+        tau = Physics::Transformations::Contravariant::push_forward(S, F);
+        Jc  = Physics::Transformations::Contravariant::push_forward(H, F);
+      }
+
+      // Step 2: Update volumetric penalty terms
+      {
+        // 1a: Perform some symbolic calculations
+        // Compute energy
+        const SDNumberType symbolic_psi_vol = material->get_Psi_vol(J_tilde_SD);
+        // Compute partial derivatives of energy function
+        const SDNumberType symbolic_dPsi_vol_dJ =
+          SD::differentiate(symbolic_psi_vol, J_tilde_SD);
+        const SDNumberType symbolic_d2Psi_vol_dJ2 =
+          SD::differentiate(symbolic_dPsi_vol_dJ, J_tilde_SD);
+
+        if (debug)
+          {
+            std::cout << "symbolic_dPsi_vol_dJ: " << symbolic_dPsi_vol_dJ
+                      << std::endl;
+            std::cout << "symbolic_d2Psi_vol_dJ2: " << symbolic_d2Psi_vol_dJ2
+                      << std::endl;
+          }
+
+        // 1b: Perform substitution of symbols
+        const SDNumberType substitution_dPsi_vol_dJ =
+          SD::substitute(symbolic_dPsi_vol_dJ, sub_vals);
+        const SDNumberType substitution_d2Psi_vol_dJ2 =
+          SD::substitute(symbolic_d2Psi_vol_dJ2, sub_vals);
+
+        if (debug)
+          {
+            std::cout << "substitution_dPsi_vol_dJ: "
+                      << substitution_dPsi_vol_dJ << std::endl;
+            std::cout << "substitution_d2Psi_vol_dJ2: "
+                      << substitution_d2Psi_vol_dJ2 << std::endl;
+          }
+
+        // Compute real values
+        dPsi_vol_dJ   = static_cast<double>(substitution_dPsi_vol_dJ);
+        d2Psi_vol_dJ2 = static_cast<double>(substitution_d2Psi_vol_dJ2);
+      }
+
+      if (debug)
+        {
+          std::cout << "dPsi_vol_dJ:                   " << dPsi_vol_dJ
+                    << std::endl;
+          std::cout << "material->get_dPsi_vol_dJ():   "
+                    << material->get_dPsi_vol_dJ() << std::endl;
+          std::cout << "d2Psi_vol_dJ2:                 " << d2Psi_vol_dJ2
+                    << std::endl;
+          std::cout << "material->get_d2Psi_vol_dJ2(): "
+                    << material->get_d2Psi_vol_dJ2() << std::endl;
+
+          std::cout << "tau:                 " << tau << std::endl;
+          std::cout << "material->get_tau(): " << material->get_tau()
+                    << std::endl;
+          std::cout << "Jc:                  " << Jc << std::endl;
+          std::cout << "material->get_Jc():  " << material->get_Jc()
+                    << std::endl;
+        }
+
+      {
+        static const double tol =
+          1e-6; // Minor computation error due to order of operations
+
+        // Zero strain --> zero stress
+        if (std::abs(determinant(F) - 1.0) > 1e-9)
+          {
+            const SymmetricTensor<2, dim> tau_ref = material->get_tau();
+            const SymmetricTensor<4, dim> Jc_ref  = material->get_Jc();
+
+            Assert((tau - tau_ref).norm() / tau_ref.norm() < tol,
+                   ExcMessage("SD computed stress is incorrect."));
+            Assert((Jc - Jc_ref).norm() / Jc_ref.norm() < tol,
+                   ExcMessage("SD computed tangent is incorrect."));
+            Assert(std::abs((dPsi_vol_dJ - material->get_dPsi_vol_dJ()) /
+                            material->get_dPsi_vol_dJ()) < tol,
+                   ExcMessage("SD computed dPsi_vol_dJ is incorrect."));
+            Assert(std::abs((d2Psi_vol_dJ2 - material->get_d2Psi_vol_dJ2()) /
+                            material->get_d2Psi_vol_dJ2()) < tol,
+                   ExcMessage("SD computed d2Psi_vol_dJ2 is incorrect."));
+          }
+        else
+          {
+            Assert((tau - material->get_tau()).norm() < tol,
+                   ExcMessage("SD computed stress is incorrect."));
+            Assert((Jc - material->get_Jc()).norm() < tol,
+                   ExcMessage("SD computed tangent is incorrect."));
+            Assert(std::abs(dPsi_vol_dJ - material->get_dPsi_vol_dJ()) < tol,
+                   ExcMessage("SD computed dPsi_vol_dJ is incorrect."));
+            Assert(std::abs(d2Psi_vol_dJ2 - material->get_d2Psi_vol_dJ2()) <
+                     tol,
+                   ExcMessage("SD computed d2Psi_vol_dJ2 is incorrect."));
+          }
+      }
+    }
+    double
+    get_J_tilde() const
+    {
+      return material->get_J_tilde();
+    }
+    double
+    get_det_F() const
+    {
+      return material->get_det_F();
+    }
+    const Tensor<2, dim> &
+    get_F_inv() const
+    {
+      return F_inv;
+    }
+    double
+    get_p_tilde() const
+    {
+      return material->get_p_tilde();
+    }
+    const SymmetricTensor<2, dim> &
+    get_tau() const
+    {
+      return tau;
+    }
+    double
+    get_dPsi_vol_dJ() const
+    {
+      return dPsi_vol_dJ;
+    }
+    double
+    get_d2Psi_vol_dJ2() const
+    {
+      return d2Psi_vol_dJ2;
+    }
+    const SymmetricTensor<4, dim> &
+    get_Jc() const
+    {
+      return Jc;
+    }
+
+  private:
+    std::shared_ptr<Material_Compressible_Neo_Hook_Three_Field<dim>> material;
+    Tensor<2, dim>                                                   F_inv;
+    SymmetricTensor<2, dim>                                          tau;
+    double                  d2Psi_vol_dJ2;
+    double                  dPsi_vol_dJ;
+    SymmetricTensor<4, dim> Jc;
+  };
+} // namespace Step44
+int
+main(int argc, char **argv)
+{
+  initlog();
+
+  Utilities::MPI::MPI_InitFinalize mpi_initialization(
+    argc, argv, testing_max_num_threads());
+
+  using namespace dealii;
+  using namespace Step44;
+  try
+    {
+      const unsigned int dim = 3;
+      Solid<dim>         solid(SOURCE_DIR "/prm/parameters-step-44.prm");
+      solid.run();
+    }
+  catch (std::exception &exc)
+    {
+      std::cerr << std::endl
+                << std::endl
+                << "----------------------------------------------------"
+                << std::endl;
+      std::cerr << "Exception on processing: " << std::endl
+                << exc.what() << std::endl
+                << "Aborting!" << std::endl
+                << "----------------------------------------------------"
+                << std::endl;
+      return 1;
+    }
+  catch (...)
+    {
+      std::cerr << std::endl
+                << std::endl
+                << "----------------------------------------------------"
+                << std::endl;
+      std::cerr << "Unknown exception!" << std::endl
+                << "Aborting!" << std::endl
+                << "----------------------------------------------------"
+                << std::endl;
+      return 1;
+    }
+  return 0;
+}
diff --git a/tests/symengine/step-44-sd-quadrature_level_01.output b/tests/symengine/step-44-sd-quadrature_level_01.output
new file mode 100644 (file)
index 0000000..9f2261a
--- /dev/null
@@ -0,0 +1,11 @@
+
+DEAL::Timestep 1: 0.00 -0.000129 0.00
+DEAL::Timestep 2: 0.00 -0.000256 0.00
+DEAL::Timestep 3: 0.00 -0.000376 0.00
+DEAL::Timestep 4: 0.00 -0.000485 0.00
+DEAL::Timestep 5: 0.00 -0.000580 0.00
+DEAL::Timestep 6: 0.00 -0.000660 0.00
+DEAL::Timestep 7: 0.00 -0.000727 0.00
+DEAL::Timestep 8: 0.00 -0.000783 0.00
+DEAL::Timestep 9: 0.00 -0.000828 0.00
+DEAL::Timestep 10: 0.00 -0.000866 0.00
diff --git a/tests/symengine/step-44-sd-quadrature_level_02.cc b/tests/symengine/step-44-sd-quadrature_level_02.cc
new file mode 100644 (file)
index 0000000..c2ecc20
--- /dev/null
@@ -0,0 +1,356 @@
+// ---------------------------------------------------------------------
+//
+// Copyright (C) 2020 by the deal.II authors
+//
+// This file is part of the deal.II library.
+//
+// The deal.II library is free software; you can use it, redistribute
+// it, and/or modify it under the terms of the GNU Lesser General
+// Public License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+// The full text of the license can be found in the file LICENSE at
+// the top level of the deal.II distribution.
+//
+// ---------------------------------------------------------------------
+
+// This is a modified version of step-44, which tests the implementation of
+// QP-level symbolic-differentiation.
+// The differentiation is performed update front when the material class is
+// created, and values are substituted in when known/necessary.
+// Compared to the run-time for step-44-sd-quadrature_level-[01,03].cc this
+// serves only to gauge how quick/slow symbolic tensor differentiation is.
+
+#include "../tests.h"
+
+#include "sd_common_tests/step-44-sd-quadrature_level.h"
+
+namespace Step44
+{
+  using namespace dealii;
+  namespace SD = Differentiation::SD;
+
+  template <int dim>
+  class PointHistory
+  {
+    using SDNumberType = SD::Expression;
+    const bool debug;
+
+  public:
+    PointHistory()
+      : debug(false)
+      , F_inv(StandardTensors<dim>::I)
+      , C_SD(SD::make_symmetric_tensor_of_symbols<2, dim>("C"))
+      , p_tilde_SD("p")
+      , J_tilde_SD("J")
+      , tau(SymmetricTensor<2, dim>())
+      , d2Psi_vol_dJ2(0.0)
+      , dPsi_vol_dJ(0.0)
+      , Jc(SymmetricTensor<4, dim>())
+    {}
+    virtual ~PointHistory()
+    {}
+    void
+    setup_symbol_differentiation()
+    {
+      Assert(material.use_count() != 0, ExcMessage("Material not initialised"));
+
+      // Step 0: Define some symbols (done in the PointHistory constructor)
+      // Step 1: Update stress and material tangent
+      {
+        // 1a: Perform some symbolic calculations
+        // Compute additional kinematic quantities
+        // const SDNumberType det_F_SD = sqrt(determinant(C_SD));
+        // const SymmetricTensor<2,dim,SDNumberType> C_bar_SD (pow(det_F_SD,
+        // -2.0/dim) * C_SD);
+        const SDNumberType det_C_SD = determinant(C_SD);
+        const SymmetricTensor<2, dim, SDNumberType> C_bar_SD(
+          pow(det_C_SD, -1.0 / dim) * C_SD);
+        // Compute energy
+        const SDNumberType det_F_SD     = sqrt(det_C_SD);
+        const SDNumberType symbolic_psi = material->get_Psi_iso(C_bar_SD) +
+                                          p_tilde_SD * (det_F_SD - J_tilde_SD);
+        // Compute partial derivatives of energy function
+        symbolic_S =
+          2.0 * SD::differentiate(symbolic_psi, C_SD); // S = 2*dpsi_dC
+        symbolic_H =
+          2.0 *
+          SD::differentiate(symbolic_S, C_SD); // H = 2*dS_dC = 4*d2psi_dC_dC
+
+        if (debug)
+          {
+            std::cout << "symbolic_psi: " << symbolic_psi << std::endl;
+            // std::cout << "symbolic_S: " << symbolic_S << std::endl;
+            // std::cout << "symbolic_H: " << symbolic_H << std::endl;
+            for (unsigned int i = 0; i < symbolic_S.n_independent_components;
+                 ++i)
+              std::cout << "symbolic_S [" << i
+                        << "]: " << symbolic_S.access_raw_entry(i) << std::endl;
+          }
+      }
+
+      // Step 2: Update volumetric penalty terms
+      {
+        // 1a: Perform some symbolic calculations
+        // Compute energy
+        const SDNumberType symbolic_psi_vol = material->get_Psi_vol(J_tilde_SD);
+        // Compute partial derivatives of energy function
+        symbolic_dPsi_vol_dJ = SD::differentiate(symbolic_psi_vol, J_tilde_SD);
+        symbolic_d2Psi_vol_dJ2 =
+          SD::differentiate(symbolic_dPsi_vol_dJ, J_tilde_SD);
+
+        if (debug)
+          {
+            std::cout << "symbolic_dPsi_vol_dJ: " << symbolic_dPsi_vol_dJ
+                      << std::endl;
+            // std::cout << "symbolic_d2Psi_vol_dJ2: " << symbolic_d2Psi_vol_dJ2
+            // << std::endl;
+            throw;
+          }
+      }
+    }
+    void
+    setup_lqp(const Parameters::AllParameters &parameters)
+    {
+      material.reset(
+        new Material_Compressible_Neo_Hook_Three_Field<dim>(parameters.mu,
+                                                            parameters.nu));
+      setup_symbol_differentiation();
+      update_values(Tensor<2, dim>(), 0.0, 1.0);
+    }
+    void
+    update_values(const Tensor<2, dim> &Grad_u_n,
+                  const double          p_tilde,
+                  const double          J_tilde)
+    {
+      const Tensor<2, dim> F =
+        (Tensor<2, dim>(StandardTensors<dim>::I) + Grad_u_n);
+      material->update_material_data(F, p_tilde, J_tilde);
+      F_inv = invert(F);
+
+      // NOTE: In this instance we perform all of the symbolic computations ONCE
+      // up front and then reuse them as necessary.
+
+      // Build the symbol substitution map
+      const SymmetricTensor<2, dim> C = symmetrize(transpose(F) * F);
+      SD::types::substitution_map   sub_vals_unresolved;
+      SD::add_to_substitution_map(sub_vals_unresolved,
+                                  SD::make_substitution_map(C_SD, C));
+      SD::add_to_substitution_map(sub_vals_unresolved,
+                                  SD::make_substitution_map(p_tilde_SD,
+                                                            p_tilde));
+      SD::add_to_substitution_map(sub_vals_unresolved,
+                                  SD::make_substitution_map(J_tilde_SD,
+                                                            J_tilde));
+      // NOTE: The recursive substitution is not really required in this case,
+      // but good to use in practise in case a more complex energy function is
+      // employed later
+      const SD::types::substitution_map sub_vals =
+        SD::resolve_explicit_dependencies(sub_vals_unresolved);
+
+      if (debug)
+        {
+          SD::Utilities::print_substitution_map(std::cout, sub_vals);
+        }
+
+      // Step 1: Update stress and material tangent
+      {
+        // 1b: Perform substitution of symbols
+        const SymmetricTensor<2, dim, SDNumberType> substitution_S =
+          SD::substitute(symbolic_S, sub_vals);
+        const SymmetricTensor<4, dim, SDNumberType> substitution_H =
+          SD::substitute(symbolic_H, sub_vals);
+
+        if (debug)
+          {
+            std::cout << "substitution_S: " << substitution_S << std::endl;
+            std::cout << "substitution_H: " << substitution_H << std::endl;
+          }
+
+        // Compute real-valued deal.II tensors
+        const SymmetricTensor<2, dim> S =
+          static_cast<SymmetricTensor<2, dim>>(substitution_S);
+        const SymmetricTensor<4, dim> H =
+          static_cast<SymmetricTensor<4, dim>>(substitution_H);
+
+        // Push-forward
+        tau = Physics::Transformations::Contravariant::push_forward(S, F);
+        Jc  = Physics::Transformations::Contravariant::push_forward(H, F);
+      }
+
+      // Step 2: Update volumetric penalty terms
+      {
+        // 1b: Perform substitution of symbols
+        const SDNumberType substitution_dPsi_vol_dJ =
+          SD::substitute(symbolic_dPsi_vol_dJ, sub_vals);
+        const SDNumberType substitution_d2Psi_vol_dJ2 =
+          SD::substitute(symbolic_d2Psi_vol_dJ2, sub_vals);
+
+        if (debug)
+          {
+            std::cout << "substitution_dPsi_vol_dJ: "
+                      << substitution_dPsi_vol_dJ << std::endl;
+            std::cout << "substitution_d2Psi_vol_dJ2: "
+                      << substitution_d2Psi_vol_dJ2 << std::endl;
+          }
+
+        // Compute real values
+        dPsi_vol_dJ   = static_cast<double>(substitution_dPsi_vol_dJ);
+        d2Psi_vol_dJ2 = static_cast<double>(substitution_d2Psi_vol_dJ2);
+      }
+
+      if (debug)
+        {
+          std::cout << "dPsi_vol_dJ:                   " << dPsi_vol_dJ
+                    << std::endl;
+          std::cout << "material->get_dPsi_vol_dJ():   "
+                    << material->get_dPsi_vol_dJ() << std::endl;
+          std::cout << "d2Psi_vol_dJ2:                 " << d2Psi_vol_dJ2
+                    << std::endl;
+          std::cout << "material->get_d2Psi_vol_dJ2(): "
+                    << material->get_d2Psi_vol_dJ2() << std::endl;
+
+          std::cout << "tau:                 " << tau << std::endl;
+          std::cout << "material->get_tau(): " << material->get_tau()
+                    << std::endl;
+          std::cout << "Jc:                  " << Jc << std::endl;
+          std::cout << "material->get_Jc():  " << material->get_Jc()
+                    << std::endl;
+        }
+
+      {
+        static const double tol =
+          1e-6; // Minor computation error due to order of operations
+
+        // Zero strain --> zero stress
+        if (std::abs(determinant(F) - 1.0) > 1e-9)
+          {
+            const SymmetricTensor<2, dim> tau_ref = material->get_tau();
+            const SymmetricTensor<4, dim> Jc_ref  = material->get_Jc();
+
+            Assert((tau - tau_ref).norm() / tau_ref.norm() < tol,
+                   ExcMessage("SD computed stress is incorrect."));
+            Assert((Jc - Jc_ref).norm() / Jc_ref.norm() < tol,
+                   ExcMessage("SD computed tangent is incorrect."));
+            Assert(std::abs((dPsi_vol_dJ - material->get_dPsi_vol_dJ()) /
+                            material->get_dPsi_vol_dJ()) < tol,
+                   ExcMessage("SD computed dPsi_vol_dJ is incorrect."));
+            Assert(std::abs((d2Psi_vol_dJ2 - material->get_d2Psi_vol_dJ2()) /
+                            material->get_d2Psi_vol_dJ2()) < tol,
+                   ExcMessage("SD computed d2Psi_vol_dJ2 is incorrect."));
+          }
+        else
+          {
+            Assert((tau - material->get_tau()).norm() < tol,
+                   ExcMessage("SD computed stress is incorrect."));
+            Assert((Jc - material->get_Jc()).norm() < tol,
+                   ExcMessage("SD computed tangent is incorrect."));
+            Assert(std::abs(dPsi_vol_dJ - material->get_dPsi_vol_dJ()) < tol,
+                   ExcMessage("SD computed dPsi_vol_dJ is incorrect."));
+            Assert(std::abs(d2Psi_vol_dJ2 - material->get_d2Psi_vol_dJ2()) <
+                     tol,
+                   ExcMessage("SD computed d2Psi_vol_dJ2 is incorrect."));
+          }
+      }
+    }
+    double
+    get_J_tilde() const
+    {
+      return material->get_J_tilde();
+    }
+    double
+    get_det_F() const
+    {
+      return material->get_det_F();
+    }
+    const Tensor<2, dim> &
+    get_F_inv() const
+    {
+      return F_inv;
+    }
+    double
+    get_p_tilde() const
+    {
+      return material->get_p_tilde();
+    }
+    const SymmetricTensor<2, dim> &
+    get_tau() const
+    {
+      return tau;
+    }
+    double
+    get_dPsi_vol_dJ() const
+    {
+      return dPsi_vol_dJ;
+    }
+    double
+    get_d2Psi_vol_dJ2() const
+    {
+      return d2Psi_vol_dJ2;
+    }
+    const SymmetricTensor<4, dim> &
+    get_Jc() const
+    {
+      return Jc;
+    }
+
+  private:
+    std::shared_ptr<Material_Compressible_Neo_Hook_Three_Field<dim>> material;
+    Tensor<2, dim>                                                   F_inv;
+
+    const SymmetricTensor<2, dim, SDNumberType> C_SD;
+    const SDNumberType                          p_tilde_SD;
+    const SDNumberType                          J_tilde_SD;
+    SymmetricTensor<2, dim, SDNumberType>       symbolic_S;
+    SymmetricTensor<4, dim, SDNumberType>       symbolic_H;
+    SDNumberType                                symbolic_dPsi_vol_dJ;
+    SDNumberType                                symbolic_d2Psi_vol_dJ2;
+
+    SymmetricTensor<2, dim> tau;
+    double                  d2Psi_vol_dJ2;
+    double                  dPsi_vol_dJ;
+    SymmetricTensor<4, dim> Jc;
+  };
+} // namespace Step44
+int
+main(int argc, char **argv)
+{
+  initlog();
+
+  Utilities::MPI::MPI_InitFinalize mpi_initialization(
+    argc, argv, testing_max_num_threads());
+
+  using namespace dealii;
+  using namespace Step44;
+  try
+    {
+      const unsigned int dim = 3;
+      Solid<dim>         solid(SOURCE_DIR "/prm/parameters-step-44.prm");
+      solid.run();
+    }
+  catch (std::exception &exc)
+    {
+      std::cerr << std::endl
+                << std::endl
+                << "----------------------------------------------------"
+                << std::endl;
+      std::cerr << "Exception on processing: " << std::endl
+                << exc.what() << std::endl
+                << "Aborting!" << std::endl
+                << "----------------------------------------------------"
+                << std::endl;
+      return 1;
+    }
+  catch (...)
+    {
+      std::cerr << std::endl
+                << std::endl
+                << "----------------------------------------------------"
+                << std::endl;
+      std::cerr << "Unknown exception!" << std::endl
+                << "Aborting!" << std::endl
+                << "----------------------------------------------------"
+                << std::endl;
+      return 1;
+    }
+  return 0;
+}
diff --git a/tests/symengine/step-44-sd-quadrature_level_02.output b/tests/symengine/step-44-sd-quadrature_level_02.output
new file mode 100644 (file)
index 0000000..9f2261a
--- /dev/null
@@ -0,0 +1,11 @@
+
+DEAL::Timestep 1: 0.00 -0.000129 0.00
+DEAL::Timestep 2: 0.00 -0.000256 0.00
+DEAL::Timestep 3: 0.00 -0.000376 0.00
+DEAL::Timestep 4: 0.00 -0.000485 0.00
+DEAL::Timestep 5: 0.00 -0.000580 0.00
+DEAL::Timestep 6: 0.00 -0.000660 0.00
+DEAL::Timestep 7: 0.00 -0.000727 0.00
+DEAL::Timestep 8: 0.00 -0.000783 0.00
+DEAL::Timestep 9: 0.00 -0.000828 0.00
+DEAL::Timestep 10: 0.00 -0.000866 0.00
diff --git a/tests/symengine/step-44-sd-quadrature_level_03.cc b/tests/symengine/step-44-sd-quadrature_level_03.cc
new file mode 100644 (file)
index 0000000..d3397c1
--- /dev/null
@@ -0,0 +1,357 @@
+// ---------------------------------------------------------------------
+//
+// Copyright (C) 2020 by the deal.II authors
+//
+// This file is part of the deal.II library.
+//
+// The deal.II library is free software; you can use it, redistribute
+// it, and/or modify it under the terms of the GNU Lesser General
+// Public License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+// The full text of the license can be found in the file LICENSE at
+// the top level of the deal.II distribution.
+//
+// ---------------------------------------------------------------------
+
+// This is a modified version of step-44, which tests the implementation of
+// QP-level symbolic-differentiation.
+// The differentiation is performed update front when the material class is
+// created, and values are substituted in when known/necessary.
+// A batch optimizer, using the LLVM JIT compiler with all available
+// optimizations enabled, is also used.
+// Compared to the run-time for step-44-sd-quadrature_level-[01,02].cc this
+// serves only to gauge how quick/slow symbolic tensor differentiation is.
+
+#include "../tests.h"
+
+#include "sd_common_tests/step-44-sd-quadrature_level.h"
+
+namespace Step44
+{
+  using namespace dealii;
+  namespace SD = Differentiation::SD;
+
+  template <int dim>
+  class PointHistory
+  {
+    using SDNumberType  = SD::Expression;
+    using OptimizerType = SD::BatchOptimizer<double>;
+    const bool debug;
+
+  public:
+    PointHistory()
+      : debug(false)
+      , F_inv(StandardTensors<dim>::I)
+      , C_SD(SD::make_symmetric_tensor_of_symbols<2, dim>("C"))
+      , p_tilde_SD("p")
+      , J_tilde_SD("J")
+      , optimizer(SD::OptimizerType::llvm, SD::OptimizationFlags::optimize_all)
+      , tau(SymmetricTensor<2, dim>())
+      , d2Psi_vol_dJ2(0.0)
+      , dPsi_vol_dJ(0.0)
+      , Jc(SymmetricTensor<4, dim>())
+    {}
+    virtual ~PointHistory()
+    {}
+    SD::types::substitution_map
+    make_substitution_map(const Tensor<2, dim> &Grad_u_n,
+                          const double          p_tilde,
+                          const double          J_tilde)
+    {
+      // Build the symbol substitution map
+      const Tensor<2, dim> F =
+        (Tensor<2, dim>(StandardTensors<dim>::I) + Grad_u_n);
+      const SymmetricTensor<2, dim> C = symmetrize(transpose(F) * F);
+      SD::types::substitution_map   sub_vals_unresolved;
+      SD::add_to_substitution_map(sub_vals_unresolved,
+                                  SD::make_substitution_map(C_SD, C));
+      SD::add_to_substitution_map(sub_vals_unresolved,
+                                  SD::make_substitution_map(p_tilde_SD,
+                                                            p_tilde));
+      SD::add_to_substitution_map(sub_vals_unresolved,
+                                  SD::make_substitution_map(J_tilde_SD,
+                                                            J_tilde));
+      // NOTE: The recursive substitution is not really required in this case,
+      // but good to use in practise in case a more complex energy function is
+      // employed later
+      return SD::resolve_explicit_dependencies(sub_vals_unresolved);
+    }
+    void
+    setup_symbol_differentiation()
+    {
+      Assert(material.use_count() != 0, ExcMessage("Material not initialised"));
+
+      // Step 0: Define some symbols (done in the PointHistory constructor)
+      // Step 1: Update stress and material tangent
+      {
+        // 1a: Perform some symbolic calculations
+        // Compute additional kinematic quantities
+        const SDNumberType det_C_SD = determinant(C_SD);
+        const SymmetricTensor<2, dim, SDNumberType> C_bar_SD(
+          pow(det_C_SD, -1.0 / dim) * C_SD);
+        // Compute energy
+        const SDNumberType det_F_SD     = sqrt(det_C_SD);
+        const SDNumberType symbolic_psi = material->get_Psi_iso(C_bar_SD) +
+                                          p_tilde_SD * (det_F_SD - J_tilde_SD);
+        // Compute partial derivatives of energy function
+        symbolic_S =
+          2.0 * SD::differentiate(symbolic_psi, C_SD); // S = 2*dpsi_dC
+        symbolic_H =
+          2.0 *
+          SD::differentiate(symbolic_S, C_SD); // H = 2*dS_dC = 4*d2psi_dC_dC
+
+        if (debug)
+          {
+            std::cout << "symbolic_psi: " << symbolic_psi << std::endl;
+            // std::cout << "symbolic_S: " << symbolic_S << std::endl;
+            // std::cout << "symbolic_H: " << symbolic_H << std::endl;
+            for (unsigned int i = 0; i < symbolic_S.n_independent_components;
+                 ++i)
+              std::cout << "symbolic_S [" << i
+                        << "]: " << symbolic_S.access_raw_entry(i) << std::endl;
+          }
+      }
+
+      // Step 2: Update volumetric penalty terms
+      {
+        // 1a: Perform some symbolic calculations
+        // Compute energy
+        const SDNumberType symbolic_psi_vol = material->get_Psi_vol(J_tilde_SD);
+        // Compute partial derivatives of energy function
+        symbolic_dPsi_vol_dJ = SD::differentiate(symbolic_psi_vol, J_tilde_SD);
+        symbolic_d2Psi_vol_dJ2 =
+          SD::differentiate(symbolic_dPsi_vol_dJ, J_tilde_SD);
+
+        if (debug)
+          {
+            std::cout << "symbolic_dPsi_vol_dJ: " << symbolic_dPsi_vol_dJ
+                      << std::endl;
+            // std::cout << "symbolic_d2Psi_vol_dJ2: " << symbolic_d2Psi_vol_dJ2
+            // << std::endl;
+            throw;
+          }
+      }
+
+      // Step 3: Configure the batch optimizer
+      const SD::types::substitution_map sub_vals =
+        make_substitution_map(Tensor<2, dim>(),
+                              0.0,
+                              1.0); // Values don't matter here
+      optimizer.register_symbols(sub_vals);
+      optimizer.register_functions(symbolic_S,
+                                   symbolic_H,
+                                   symbolic_dPsi_vol_dJ,
+                                   symbolic_d2Psi_vol_dJ2);
+      optimizer.optimize();
+    }
+    void
+    setup_lqp(const Parameters::AllParameters &parameters)
+    {
+      material.reset(
+        new Material_Compressible_Neo_Hook_Three_Field<dim>(parameters.mu,
+                                                            parameters.nu));
+      setup_symbol_differentiation();
+      update_values(Tensor<2, dim>(), 0.0, 1.0);
+    }
+    void
+    update_values(const Tensor<2, dim> &Grad_u_n,
+                  const double          p_tilde,
+                  const double          J_tilde)
+    {
+      const Tensor<2, dim> F =
+        (Tensor<2, dim>(StandardTensors<dim>::I) + Grad_u_n);
+      material->update_material_data(F, p_tilde, J_tilde);
+      F_inv = invert(F);
+
+      // NOTE: In this instance we perform all of the symbolic computations ONCE
+      // up front and then reuse them as necessary.
+
+      // Build the symbol substitution map
+      const SD::types::substitution_map sub_vals =
+        make_substitution_map(Grad_u_n, p_tilde, J_tilde);
+
+      if (debug)
+        {
+          SD::Utilities::print_substitution_map(std::cout, sub_vals);
+        }
+
+      // Pass substitution map to the optimizer
+      optimizer.substitute(sub_vals);
+
+      // Step 1: Update stress and material tangent
+      {
+        // 1b: Perform substitution of symbols
+        // Compute real-valued deal.II tensors
+        const SymmetricTensor<2, dim> S = optimizer.evaluate(symbolic_S);
+        const SymmetricTensor<4, dim> H = optimizer.evaluate(symbolic_H);
+
+        // Push-forward
+        tau = Physics::Transformations::Contravariant::push_forward(S, F);
+        Jc  = Physics::Transformations::Contravariant::push_forward(H, F);
+      }
+
+      // Step 2: Update volumetric penalty terms
+      {
+        // 1b: Perform substitution of symbols
+        // Compute real values
+        dPsi_vol_dJ   = optimizer.evaluate(symbolic_dPsi_vol_dJ);
+        d2Psi_vol_dJ2 = optimizer.evaluate(symbolic_d2Psi_vol_dJ2);
+      }
+
+      if (debug)
+        {
+          std::cout << "dPsi_vol_dJ:                   " << dPsi_vol_dJ
+                    << std::endl;
+          std::cout << "material->get_dPsi_vol_dJ():   "
+                    << material->get_dPsi_vol_dJ() << std::endl;
+          std::cout << "d2Psi_vol_dJ2:                 " << d2Psi_vol_dJ2
+                    << std::endl;
+          std::cout << "material->get_d2Psi_vol_dJ2(): "
+                    << material->get_d2Psi_vol_dJ2() << std::endl;
+
+          std::cout << "tau:                 " << tau << std::endl;
+          std::cout << "material->get_tau(): " << material->get_tau()
+                    << std::endl;
+          std::cout << "Jc:                  " << Jc << std::endl;
+          std::cout << "material->get_Jc():  " << material->get_Jc()
+                    << std::endl;
+        }
+
+      {
+        static const double tol =
+          1e-6; // Minor computation error due to order of operations
+
+        // Zero strain --> zero stress
+        if (std::abs(determinant(F) - 1.0) > 1e-9)
+          {
+            const SymmetricTensor<2, dim> tau_ref = material->get_tau();
+            const SymmetricTensor<4, dim> Jc_ref  = material->get_Jc();
+
+            Assert((tau - tau_ref).norm() / tau_ref.norm() < tol,
+                   ExcMessage("SD computed stress is incorrect."));
+            Assert((Jc - Jc_ref).norm() / Jc_ref.norm() < tol,
+                   ExcMessage("SD computed tangent is incorrect."));
+            Assert(std::abs((dPsi_vol_dJ - material->get_dPsi_vol_dJ()) /
+                            material->get_dPsi_vol_dJ()) < tol,
+                   ExcMessage("SD computed dPsi_vol_dJ is incorrect."));
+            Assert(std::abs((d2Psi_vol_dJ2 - material->get_d2Psi_vol_dJ2()) /
+                            material->get_d2Psi_vol_dJ2()) < tol,
+                   ExcMessage("SD computed d2Psi_vol_dJ2 is incorrect."));
+          }
+        else
+          {
+            Assert((tau - material->get_tau()).norm() < tol,
+                   ExcMessage("SD computed stress is incorrect."));
+            Assert((Jc - material->get_Jc()).norm() < tol,
+                   ExcMessage("SD computed tangent is incorrect."));
+            Assert(std::abs(dPsi_vol_dJ - material->get_dPsi_vol_dJ()) < tol,
+                   ExcMessage("SD computed dPsi_vol_dJ is incorrect."));
+            Assert(std::abs(d2Psi_vol_dJ2 - material->get_d2Psi_vol_dJ2()) <
+                     tol,
+                   ExcMessage("SD computed d2Psi_vol_dJ2 is incorrect."));
+          }
+      }
+    }
+    double
+    get_J_tilde() const
+    {
+      return material->get_J_tilde();
+    }
+    double
+    get_det_F() const
+    {
+      return material->get_det_F();
+    }
+    const Tensor<2, dim> &
+    get_F_inv() const
+    {
+      return F_inv;
+    }
+    double
+    get_p_tilde() const
+    {
+      return material->get_p_tilde();
+    }
+    const SymmetricTensor<2, dim> &
+    get_tau() const
+    {
+      return tau;
+    }
+    double
+    get_dPsi_vol_dJ() const
+    {
+      return dPsi_vol_dJ;
+    }
+    double
+    get_d2Psi_vol_dJ2() const
+    {
+      return d2Psi_vol_dJ2;
+    }
+    const SymmetricTensor<4, dim> &
+    get_Jc() const
+    {
+      return Jc;
+    }
+
+  private:
+    std::shared_ptr<Material_Compressible_Neo_Hook_Three_Field<dim>> material;
+    Tensor<2, dim>                                                   F_inv;
+
+    const SymmetricTensor<2, dim, SDNumberType> C_SD;
+    const SDNumberType                          p_tilde_SD;
+    const SDNumberType                          J_tilde_SD;
+    SymmetricTensor<2, dim, SDNumberType>       symbolic_S;
+    SymmetricTensor<4, dim, SDNumberType>       symbolic_H;
+    SDNumberType                                symbolic_dPsi_vol_dJ;
+    SDNumberType                                symbolic_d2Psi_vol_dJ2;
+    OptimizerType                               optimizer;
+
+    SymmetricTensor<2, dim> tau;
+    double                  d2Psi_vol_dJ2;
+    double                  dPsi_vol_dJ;
+    SymmetricTensor<4, dim> Jc;
+  };
+} // namespace Step44
+int
+main(int argc, char **argv)
+{
+  initlog();
+
+  Utilities::MPI::MPI_InitFinalize mpi_initialization(
+    argc, argv, testing_max_num_threads());
+
+  using namespace dealii;
+  using namespace Step44;
+  try
+    {
+      const unsigned int dim = 3;
+      Solid<dim>         solid(SOURCE_DIR "/prm/parameters-step-44.prm");
+      solid.run();
+    }
+  catch (std::exception &exc)
+    {
+      std::cerr << std::endl
+                << std::endl
+                << "----------------------------------------------------"
+                << std::endl;
+      std::cerr << "Exception on processing: " << std::endl
+                << exc.what() << std::endl
+                << "Aborting!" << std::endl
+                << "----------------------------------------------------"
+                << std::endl;
+      return 1;
+    }
+  catch (...)
+    {
+      std::cerr << std::endl
+                << std::endl
+                << "----------------------------------------------------"
+                << std::endl;
+      std::cerr << "Unknown exception!" << std::endl
+                << "Aborting!" << std::endl
+                << "----------------------------------------------------"
+                << std::endl;
+      return 1;
+    }
+  return 0;
+}
diff --git a/tests/symengine/step-44-sd-quadrature_level_03.with_symengine_with_llvm.output b/tests/symengine/step-44-sd-quadrature_level_03.with_symengine_with_llvm.output
new file mode 100644 (file)
index 0000000..9f2261a
--- /dev/null
@@ -0,0 +1,11 @@
+
+DEAL::Timestep 1: 0.00 -0.000129 0.00
+DEAL::Timestep 2: 0.00 -0.000256 0.00
+DEAL::Timestep 3: 0.00 -0.000376 0.00
+DEAL::Timestep 4: 0.00 -0.000485 0.00
+DEAL::Timestep 5: 0.00 -0.000580 0.00
+DEAL::Timestep 6: 0.00 -0.000660 0.00
+DEAL::Timestep 7: 0.00 -0.000727 0.00
+DEAL::Timestep 8: 0.00 -0.000783 0.00
+DEAL::Timestep 9: 0.00 -0.000828 0.00
+DEAL::Timestep 10: 0.00 -0.000866 0.00

In the beginning the Universe was created. This has made a lot of people very angry and has been widely regarded as a bad move.

Douglas Adams


Typeset in Trocchi and Trocchi Bold Sans Serif.