Average Error: 17.6 → 0.2
Time: 47.0s
Precision: 64
\[\left(J \cdot \left(e^{\ell} - e^{-\ell}\right)\right) \cdot \cos \left(\frac{K}{2}\right) + U\]
\[\begin{array}{l} \mathbf{if}\;\ell \le 0.01530521373744643705283596801791645702906:\\ \;\;\;\;U + J \cdot \left(\cos \left(\frac{K}{2}\right) \cdot \left(\ell \cdot \left(2 + \frac{1}{3} \cdot \left(\ell \cdot \ell\right)\right) + \frac{1}{60} \cdot {\ell}^{5}\right)\right)\\ \mathbf{else}:\\ \;\;\;\;\left(J \cdot e^{\ell} - \frac{J}{e^{\ell}}\right) \cdot \cos \left(0.5 \cdot K\right) + U\\ \end{array}\]
\left(J \cdot \left(e^{\ell} - e^{-\ell}\right)\right) \cdot \cos \left(\frac{K}{2}\right) + U
\begin{array}{l}
\mathbf{if}\;\ell \le 0.01530521373744643705283596801791645702906:\\
\;\;\;\;U + J \cdot \left(\cos \left(\frac{K}{2}\right) \cdot \left(\ell \cdot \left(2 + \frac{1}{3} \cdot \left(\ell \cdot \ell\right)\right) + \frac{1}{60} \cdot {\ell}^{5}\right)\right)\\

\mathbf{else}:\\
\;\;\;\;\left(J \cdot e^{\ell} - \frac{J}{e^{\ell}}\right) \cdot \cos \left(0.5 \cdot K\right) + U\\

\end{array}
double f(double J, double l, double K, double U) {
        double r4917128 = J;
        double r4917129 = l;
        double r4917130 = exp(r4917129);
        double r4917131 = -r4917129;
        double r4917132 = exp(r4917131);
        double r4917133 = r4917130 - r4917132;
        double r4917134 = r4917128 * r4917133;
        double r4917135 = K;
        double r4917136 = 2.0;
        double r4917137 = r4917135 / r4917136;
        double r4917138 = cos(r4917137);
        double r4917139 = r4917134 * r4917138;
        double r4917140 = U;
        double r4917141 = r4917139 + r4917140;
        return r4917141;
}

double f(double J, double l, double K, double U) {
        double r4917142 = l;
        double r4917143 = 0.015305213737446437;
        bool r4917144 = r4917142 <= r4917143;
        double r4917145 = U;
        double r4917146 = J;
        double r4917147 = K;
        double r4917148 = 2.0;
        double r4917149 = r4917147 / r4917148;
        double r4917150 = cos(r4917149);
        double r4917151 = 2.0;
        double r4917152 = 0.3333333333333333;
        double r4917153 = r4917142 * r4917142;
        double r4917154 = r4917152 * r4917153;
        double r4917155 = r4917151 + r4917154;
        double r4917156 = r4917142 * r4917155;
        double r4917157 = 0.016666666666666666;
        double r4917158 = 5.0;
        double r4917159 = pow(r4917142, r4917158);
        double r4917160 = r4917157 * r4917159;
        double r4917161 = r4917156 + r4917160;
        double r4917162 = r4917150 * r4917161;
        double r4917163 = r4917146 * r4917162;
        double r4917164 = r4917145 + r4917163;
        double r4917165 = exp(r4917142);
        double r4917166 = r4917146 * r4917165;
        double r4917167 = r4917146 / r4917165;
        double r4917168 = r4917166 - r4917167;
        double r4917169 = 0.5;
        double r4917170 = r4917169 * r4917147;
        double r4917171 = cos(r4917170);
        double r4917172 = r4917168 * r4917171;
        double r4917173 = r4917172 + r4917145;
        double r4917174 = r4917144 ? r4917164 : r4917173;
        return r4917174;
}

Error

Bits error versus J

Bits error versus l

Bits error versus K

Bits error versus U

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Split input into 2 regimes
  2. if l < 0.015305213737446437

    1. Initial program 17.7

      \[\left(J \cdot \left(e^{\ell} - e^{-\ell}\right)\right) \cdot \cos \left(\frac{K}{2}\right) + U\]
    2. Taylor expanded around 0 0.2

      \[\leadsto \left(J \cdot \color{blue}{\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) + U\]
    3. Simplified0.2

      \[\leadsto \left(J \cdot \color{blue}{\left(\ell \cdot \left(\left(\ell \cdot \ell\right) \cdot \frac{1}{3} + 2\right) + \frac{1}{60} \cdot {\ell}^{5}\right)}\right) \cdot \cos \left(\frac{K}{2}\right) + U\]
    4. Using strategy rm
    5. Applied associate-*l*0.2

      \[\leadsto \color{blue}{J \cdot \left(\left(\ell \cdot \left(\left(\ell \cdot \ell\right) \cdot \frac{1}{3} + 2\right) + \frac{1}{60} \cdot {\ell}^{5}\right) \cdot \cos \left(\frac{K}{2}\right)\right)} + U\]

    if 0.015305213737446437 < l

    1. Initial program 1.4

      \[\left(J \cdot \left(e^{\ell} - e^{-\ell}\right)\right) \cdot \cos \left(\frac{K}{2}\right) + U\]
    2. Taylor expanded around inf 1.3

      \[\leadsto \color{blue}{J \cdot \left(\left(e^{\ell} - e^{-\ell}\right) \cdot \cos \left(0.5 \cdot K\right)\right)} + U\]
    3. Simplified1.5

      \[\leadsto \color{blue}{\left(e^{\ell} \cdot J - \frac{J}{e^{\ell}}\right) \cdot \cos \left(0.5 \cdot K\right)} + U\]
  3. Recombined 2 regimes into one program.
  4. Final simplification0.2

    \[\leadsto \begin{array}{l} \mathbf{if}\;\ell \le 0.01530521373744643705283596801791645702906:\\ \;\;\;\;U + J \cdot \left(\cos \left(\frac{K}{2}\right) \cdot \left(\ell \cdot \left(2 + \frac{1}{3} \cdot \left(\ell \cdot \ell\right)\right) + \frac{1}{60} \cdot {\ell}^{5}\right)\right)\\ \mathbf{else}:\\ \;\;\;\;\left(J \cdot e^{\ell} - \frac{J}{e^{\ell}}\right) \cdot \cos \left(0.5 \cdot K\right) + U\\ \end{array}\]

Reproduce

herbie shell --seed 2019200 
(FPCore (J l K U)
  :name "Maksimov and Kolovsky, Equation (4)"
  (+ (* (* J (- (exp l) (exp (- l)))) (cos (/ K 2.0))) U))