\left(J \cdot \left(e^{\ell} - e^{-\ell}\right)\right) \cdot \cos \left(\frac{K}{2}\right) + U\left(J \cdot \left(\frac{1}{3} \cdot {\ell}^{3} + \left(\frac{1}{60} \cdot {\ell}^{5} + 2 \cdot \ell\right)\right)\right) \cdot \cos \left(\frac{K}{2}\right) + Udouble f(double J, double l, double K, double U) {
double r162115 = J;
double r162116 = l;
double r162117 = exp(r162116);
double r162118 = -r162116;
double r162119 = exp(r162118);
double r162120 = r162117 - r162119;
double r162121 = r162115 * r162120;
double r162122 = K;
double r162123 = 2.0;
double r162124 = r162122 / r162123;
double r162125 = cos(r162124);
double r162126 = r162121 * r162125;
double r162127 = U;
double r162128 = r162126 + r162127;
return r162128;
}
double f(double J, double l, double K, double U) {
double r162129 = J;
double r162130 = 0.3333333333333333;
double r162131 = l;
double r162132 = 3.0;
double r162133 = pow(r162131, r162132);
double r162134 = r162130 * r162133;
double r162135 = 0.016666666666666666;
double r162136 = 5.0;
double r162137 = pow(r162131, r162136);
double r162138 = r162135 * r162137;
double r162139 = 2.0;
double r162140 = r162139 * r162131;
double r162141 = r162138 + r162140;
double r162142 = r162134 + r162141;
double r162143 = r162129 * r162142;
double r162144 = K;
double r162145 = 2.0;
double r162146 = r162144 / r162145;
double r162147 = cos(r162146);
double r162148 = r162143 * r162147;
double r162149 = U;
double r162150 = r162148 + r162149;
return r162150;
}



Bits error versus J



Bits error versus l



Bits error versus K



Bits error versus U
Results
Initial program 17.9
Taylor expanded around 0 0.5
Final simplification0.5
herbie shell --seed 2020001
(FPCore (J l K U)
:name "Maksimov and Kolovsky, Equation (4)"
:precision binary64
(+ (* (* J (- (exp l) (exp (- l)))) (cos (/ K 2))) U))