Average Error: 25.0 → 11.4
Time: 15.4s
Precision: 64
\[x + \frac{\left(y - x\right) \cdot \left(z - t\right)}{a - t}\]
\[\begin{array}{l} \mathbf{if}\;t \le 6.764694878676553378102467614993236358418 \cdot 10^{198}:\\ \;\;\;\;x + \frac{\sqrt[3]{z - t} \cdot \sqrt[3]{z - t}}{\sqrt[3]{a - t} \cdot \sqrt[3]{a - t}} \cdot \frac{y - x}{\frac{\sqrt[3]{a - t}}{\sqrt[3]{z - t}}}\\ \mathbf{else}:\\ \;\;\;\;y\\ \end{array}\]
x + \frac{\left(y - x\right) \cdot \left(z - t\right)}{a - t}
\begin{array}{l}
\mathbf{if}\;t \le 6.764694878676553378102467614993236358418 \cdot 10^{198}:\\
\;\;\;\;x + \frac{\sqrt[3]{z - t} \cdot \sqrt[3]{z - t}}{\sqrt[3]{a - t} \cdot \sqrt[3]{a - t}} \cdot \frac{y - x}{\frac{\sqrt[3]{a - t}}{\sqrt[3]{z - t}}}\\

\mathbf{else}:\\
\;\;\;\;y\\

\end{array}
double f(double x, double y, double z, double t, double a) {
        double r1051444 = x;
        double r1051445 = y;
        double r1051446 = r1051445 - r1051444;
        double r1051447 = z;
        double r1051448 = t;
        double r1051449 = r1051447 - r1051448;
        double r1051450 = r1051446 * r1051449;
        double r1051451 = a;
        double r1051452 = r1051451 - r1051448;
        double r1051453 = r1051450 / r1051452;
        double r1051454 = r1051444 + r1051453;
        return r1051454;
}

double f(double x, double y, double z, double t, double a) {
        double r1051455 = t;
        double r1051456 = 6.764694878676553e+198;
        bool r1051457 = r1051455 <= r1051456;
        double r1051458 = x;
        double r1051459 = z;
        double r1051460 = r1051459 - r1051455;
        double r1051461 = cbrt(r1051460);
        double r1051462 = r1051461 * r1051461;
        double r1051463 = a;
        double r1051464 = r1051463 - r1051455;
        double r1051465 = cbrt(r1051464);
        double r1051466 = r1051465 * r1051465;
        double r1051467 = r1051462 / r1051466;
        double r1051468 = y;
        double r1051469 = r1051468 - r1051458;
        double r1051470 = r1051465 / r1051461;
        double r1051471 = r1051469 / r1051470;
        double r1051472 = r1051467 * r1051471;
        double r1051473 = r1051458 + r1051472;
        double r1051474 = r1051457 ? r1051473 : r1051468;
        return r1051474;
}

Error

Bits error versus x

Bits error versus y

Bits error versus z

Bits error versus t

Bits error versus a

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Target

Original25.0
Target9.2
Herbie11.4
\[\begin{array}{l} \mathbf{if}\;a \lt -1.615306284544257464183904494091872805513 \cdot 10^{-142}:\\ \;\;\;\;x + \frac{y - x}{1} \cdot \frac{z - t}{a - t}\\ \mathbf{elif}\;a \lt 3.774403170083174201868024161554637965035 \cdot 10^{-182}:\\ \;\;\;\;y - \frac{z}{t} \cdot \left(y - x\right)\\ \mathbf{else}:\\ \;\;\;\;x + \frac{y - x}{1} \cdot \frac{z - t}{a - t}\\ \end{array}\]

Derivation

  1. Split input into 2 regimes
  2. if t < 6.764694878676553e+198

    1. Initial program 22.1

      \[x + \frac{\left(y - x\right) \cdot \left(z - t\right)}{a - t}\]
    2. Using strategy rm
    3. Applied associate-/l*10.0

      \[\leadsto x + \color{blue}{\frac{y - x}{\frac{a - t}{z - t}}}\]
    4. Using strategy rm
    5. Applied add-cube-cbrt10.7

      \[\leadsto x + \frac{y - x}{\frac{a - t}{\color{blue}{\left(\sqrt[3]{z - t} \cdot \sqrt[3]{z - t}\right) \cdot \sqrt[3]{z - t}}}}\]
    6. Applied add-cube-cbrt10.6

      \[\leadsto x + \frac{y - x}{\frac{\color{blue}{\left(\sqrt[3]{a - t} \cdot \sqrt[3]{a - t}\right) \cdot \sqrt[3]{a - t}}}{\left(\sqrt[3]{z - t} \cdot \sqrt[3]{z - t}\right) \cdot \sqrt[3]{z - t}}}\]
    7. Applied times-frac10.6

      \[\leadsto x + \frac{y - x}{\color{blue}{\frac{\sqrt[3]{a - t} \cdot \sqrt[3]{a - t}}{\sqrt[3]{z - t} \cdot \sqrt[3]{z - t}} \cdot \frac{\sqrt[3]{a - t}}{\sqrt[3]{z - t}}}}\]
    8. Applied *-un-lft-identity10.6

      \[\leadsto x + \frac{\color{blue}{1 \cdot \left(y - x\right)}}{\frac{\sqrt[3]{a - t} \cdot \sqrt[3]{a - t}}{\sqrt[3]{z - t} \cdot \sqrt[3]{z - t}} \cdot \frac{\sqrt[3]{a - t}}{\sqrt[3]{z - t}}}\]
    9. Applied times-frac9.9

      \[\leadsto x + \color{blue}{\frac{1}{\frac{\sqrt[3]{a - t} \cdot \sqrt[3]{a - t}}{\sqrt[3]{z - t} \cdot \sqrt[3]{z - t}}} \cdot \frac{y - x}{\frac{\sqrt[3]{a - t}}{\sqrt[3]{z - t}}}}\]
    10. Simplified9.9

      \[\leadsto x + \color{blue}{\frac{\sqrt[3]{z - t} \cdot \sqrt[3]{z - t}}{\sqrt[3]{a - t} \cdot \sqrt[3]{a - t}}} \cdot \frac{y - x}{\frac{\sqrt[3]{a - t}}{\sqrt[3]{z - t}}}\]

    if 6.764694878676553e+198 < t

    1. Initial program 49.4

      \[x + \frac{\left(y - x\right) \cdot \left(z - t\right)}{a - t}\]
    2. Using strategy rm
    3. Applied associate-/l*24.0

      \[\leadsto x + \color{blue}{\frac{y - x}{\frac{a - t}{z - t}}}\]
    4. Taylor expanded around 0 23.6

      \[\leadsto \color{blue}{y}\]
  3. Recombined 2 regimes into one program.
  4. Final simplification11.4

    \[\leadsto \begin{array}{l} \mathbf{if}\;t \le 6.764694878676553378102467614993236358418 \cdot 10^{198}:\\ \;\;\;\;x + \frac{\sqrt[3]{z - t} \cdot \sqrt[3]{z - t}}{\sqrt[3]{a - t} \cdot \sqrt[3]{a - t}} \cdot \frac{y - x}{\frac{\sqrt[3]{a - t}}{\sqrt[3]{z - t}}}\\ \mathbf{else}:\\ \;\;\;\;y\\ \end{array}\]

Reproduce

herbie shell --seed 2019209 
(FPCore (x y z t a)
  :name "Graphics.Rendering.Chart.Axis.Types:linMap from Chart-1.5.3"
  :precision binary64

  :herbie-target
  (if (< a -1.6153062845442575e-142) (+ x (* (/ (- y x) 1) (/ (- z t) (- a t)))) (if (< a 3.7744031700831742e-182) (- y (* (/ z t) (- y x))) (+ x (* (/ (- y x) 1) (/ (- z t) (- a t))))))

  (+ x (/ (* (- y x) (- z t)) (- a t))))