\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 r86130 = J;
double r86131 = l;
double r86132 = exp(r86131);
double r86133 = -r86131;
double r86134 = exp(r86133);
double r86135 = r86132 - r86134;
double r86136 = r86130 * r86135;
double r86137 = K;
double r86138 = 2.0;
double r86139 = r86137 / r86138;
double r86140 = cos(r86139);
double r86141 = r86136 * r86140;
double r86142 = U;
double r86143 = r86141 + r86142;
return r86143;
}
double f(double J, double l, double K, double U) {
double r86144 = J;
double r86145 = 0.3333333333333333;
double r86146 = l;
double r86147 = 3.0;
double r86148 = pow(r86146, r86147);
double r86149 = r86145 * r86148;
double r86150 = 0.016666666666666666;
double r86151 = 5.0;
double r86152 = pow(r86146, r86151);
double r86153 = r86150 * r86152;
double r86154 = 2.0;
double r86155 = r86154 * r86146;
double r86156 = r86153 + r86155;
double r86157 = r86149 + r86156;
double r86158 = r86144 * r86157;
double r86159 = K;
double r86160 = 2.0;
double r86161 = r86159 / r86160;
double r86162 = cos(r86161);
double r86163 = r86158 * r86162;
double r86164 = U;
double r86165 = r86163 + r86164;
return r86165;
}



Bits error versus J



Bits error versus l



Bits error versus K



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