\left(J \cdot \left(e^{\ell} - e^{-\ell}\right)\right) \cdot \cos \left(\frac{K}{2}\right) + UU + J \cdot \left(\left(\frac{1}{60} \cdot {\ell}^{5} + \ell \cdot \left(2 + \frac{1}{3} \cdot \left(\ell \cdot \ell\right)\right)\right) \cdot \cos \left(\frac{K}{2}\right)\right)double f(double J, double l, double K, double U) {
double r4380125 = J;
double r4380126 = l;
double r4380127 = exp(r4380126);
double r4380128 = -r4380126;
double r4380129 = exp(r4380128);
double r4380130 = r4380127 - r4380129;
double r4380131 = r4380125 * r4380130;
double r4380132 = K;
double r4380133 = 2.0;
double r4380134 = r4380132 / r4380133;
double r4380135 = cos(r4380134);
double r4380136 = r4380131 * r4380135;
double r4380137 = U;
double r4380138 = r4380136 + r4380137;
return r4380138;
}
double f(double J, double l, double K, double U) {
double r4380139 = U;
double r4380140 = J;
double r4380141 = 0.016666666666666666;
double r4380142 = l;
double r4380143 = 5.0;
double r4380144 = pow(r4380142, r4380143);
double r4380145 = r4380141 * r4380144;
double r4380146 = 2.0;
double r4380147 = 0.3333333333333333;
double r4380148 = r4380142 * r4380142;
double r4380149 = r4380147 * r4380148;
double r4380150 = r4380146 + r4380149;
double r4380151 = r4380142 * r4380150;
double r4380152 = r4380145 + r4380151;
double r4380153 = K;
double r4380154 = 2.0;
double r4380155 = r4380153 / r4380154;
double r4380156 = cos(r4380155);
double r4380157 = r4380152 * r4380156;
double r4380158 = r4380140 * r4380157;
double r4380159 = r4380139 + r4380158;
return r4380159;
}



Bits error versus J



Bits error versus l



Bits error versus K



Bits error versus U
Results
Initial program 16.9
Taylor expanded around 0 0.3
Simplified0.3
rmApplied associate-*l*0.3
Final simplification0.3
herbie shell --seed 2019172
(FPCore (J l K U)
:name "Maksimov and Kolovsky, Equation (4)"
(+ (* (* J (- (exp l) (exp (- l)))) (cos (/ K 2.0))) U))