Average Error: 14.5 → 10.6
Time: 5.9s
Precision: 64
\[x + \left(y - z\right) \cdot \frac{t - x}{a - z}\]
\[\begin{array}{l} \mathbf{if}\;a \le -8.40974200722042392 \cdot 10^{-79}:\\ \;\;\;\;\mathsf{fma}\left(\frac{1}{\frac{\sqrt[3]{a - z} \cdot \sqrt[3]{a - z}}{\sqrt[3]{t - x} \cdot \sqrt[3]{t - x}}}, \frac{y - z}{\frac{\sqrt[3]{a - z}}{\sqrt[3]{t - x}}}, x\right)\\ \mathbf{elif}\;a \le 2.7113534911240639 \cdot 10^{-219}:\\ \;\;\;\;\mathsf{fma}\left(y, \frac{x}{z} - \frac{t}{z}, t\right)\\ \mathbf{else}:\\ \;\;\;\;\frac{y}{\frac{a - z}{t - x}} - \left(\frac{z}{\frac{a - z}{t - x}} - x\right)\\ \end{array}\]
x + \left(y - z\right) \cdot \frac{t - x}{a - z}
\begin{array}{l}
\mathbf{if}\;a \le -8.40974200722042392 \cdot 10^{-79}:\\
\;\;\;\;\mathsf{fma}\left(\frac{1}{\frac{\sqrt[3]{a - z} \cdot \sqrt[3]{a - z}}{\sqrt[3]{t - x} \cdot \sqrt[3]{t - x}}}, \frac{y - z}{\frac{\sqrt[3]{a - z}}{\sqrt[3]{t - x}}}, x\right)\\

\mathbf{elif}\;a \le 2.7113534911240639 \cdot 10^{-219}:\\
\;\;\;\;\mathsf{fma}\left(y, \frac{x}{z} - \frac{t}{z}, t\right)\\

\mathbf{else}:\\
\;\;\;\;\frac{y}{\frac{a - z}{t - x}} - \left(\frac{z}{\frac{a - z}{t - x}} - x\right)\\

\end{array}
double f(double x, double y, double z, double t, double a) {
        double r68461 = x;
        double r68462 = y;
        double r68463 = z;
        double r68464 = r68462 - r68463;
        double r68465 = t;
        double r68466 = r68465 - r68461;
        double r68467 = a;
        double r68468 = r68467 - r68463;
        double r68469 = r68466 / r68468;
        double r68470 = r68464 * r68469;
        double r68471 = r68461 + r68470;
        return r68471;
}

double f(double x, double y, double z, double t, double a) {
        double r68472 = a;
        double r68473 = -8.409742007220424e-79;
        bool r68474 = r68472 <= r68473;
        double r68475 = 1.0;
        double r68476 = z;
        double r68477 = r68472 - r68476;
        double r68478 = cbrt(r68477);
        double r68479 = r68478 * r68478;
        double r68480 = t;
        double r68481 = x;
        double r68482 = r68480 - r68481;
        double r68483 = cbrt(r68482);
        double r68484 = r68483 * r68483;
        double r68485 = r68479 / r68484;
        double r68486 = r68475 / r68485;
        double r68487 = y;
        double r68488 = r68487 - r68476;
        double r68489 = r68478 / r68483;
        double r68490 = r68488 / r68489;
        double r68491 = fma(r68486, r68490, r68481);
        double r68492 = 2.711353491124064e-219;
        bool r68493 = r68472 <= r68492;
        double r68494 = r68481 / r68476;
        double r68495 = r68480 / r68476;
        double r68496 = r68494 - r68495;
        double r68497 = fma(r68487, r68496, r68480);
        double r68498 = r68477 / r68482;
        double r68499 = r68487 / r68498;
        double r68500 = r68476 / r68498;
        double r68501 = r68500 - r68481;
        double r68502 = r68499 - r68501;
        double r68503 = r68493 ? r68497 : r68502;
        double r68504 = r68474 ? r68491 : r68503;
        return r68504;
}

Error

Bits error versus x

Bits error versus y

Bits error versus z

Bits error versus t

Bits error versus a

Derivation

  1. Split input into 3 regimes
  2. if a < -8.409742007220424e-79

    1. Initial program 10.1

      \[x + \left(y - z\right) \cdot \frac{t - x}{a - z}\]
    2. Simplified10.1

      \[\leadsto \color{blue}{\mathsf{fma}\left(y - z, \frac{t - x}{a - z}, x\right)}\]
    3. Using strategy rm
    4. Applied clear-num10.3

      \[\leadsto \mathsf{fma}\left(y - z, \color{blue}{\frac{1}{\frac{a - z}{t - x}}}, x\right)\]
    5. Using strategy rm
    6. Applied fma-udef10.3

      \[\leadsto \color{blue}{\left(y - z\right) \cdot \frac{1}{\frac{a - z}{t - x}} + x}\]
    7. Simplified10.2

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

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

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

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

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

      \[\leadsto \color{blue}{\frac{1}{\frac{\sqrt[3]{a - z} \cdot \sqrt[3]{a - z}}{\sqrt[3]{t - x} \cdot \sqrt[3]{t - x}}} \cdot \frac{y - z}{\frac{\sqrt[3]{a - z}}{\sqrt[3]{t - x}}}} + x\]
    14. Applied fma-def8.5

      \[\leadsto \color{blue}{\mathsf{fma}\left(\frac{1}{\frac{\sqrt[3]{a - z} \cdot \sqrt[3]{a - z}}{\sqrt[3]{t - x} \cdot \sqrt[3]{t - x}}}, \frac{y - z}{\frac{\sqrt[3]{a - z}}{\sqrt[3]{t - x}}}, x\right)}\]

    if -8.409742007220424e-79 < a < 2.711353491124064e-219

    1. Initial program 24.5

      \[x + \left(y - z\right) \cdot \frac{t - x}{a - z}\]
    2. Simplified24.5

      \[\leadsto \color{blue}{\mathsf{fma}\left(y - z, \frac{t - x}{a - z}, x\right)}\]
    3. Taylor expanded around inf 16.1

      \[\leadsto \color{blue}{\left(\frac{x \cdot y}{z} + t\right) - \frac{t \cdot y}{z}}\]
    4. Simplified13.2

      \[\leadsto \color{blue}{\mathsf{fma}\left(y, \frac{x}{z} - \frac{t}{z}, t\right)}\]

    if 2.711353491124064e-219 < a

    1. Initial program 12.7

      \[x + \left(y - z\right) \cdot \frac{t - x}{a - z}\]
    2. Simplified12.6

      \[\leadsto \color{blue}{\mathsf{fma}\left(y - z, \frac{t - x}{a - z}, x\right)}\]
    3. Using strategy rm
    4. Applied clear-num12.9

      \[\leadsto \mathsf{fma}\left(y - z, \color{blue}{\frac{1}{\frac{a - z}{t - x}}}, x\right)\]
    5. Using strategy rm
    6. Applied fma-udef12.9

      \[\leadsto \color{blue}{\left(y - z\right) \cdot \frac{1}{\frac{a - z}{t - x}} + x}\]
    7. Simplified12.8

      \[\leadsto \color{blue}{\frac{y - z}{\frac{a - z}{t - x}}} + x\]
    8. Using strategy rm
    9. Applied div-sub12.8

      \[\leadsto \color{blue}{\left(\frac{y}{\frac{a - z}{t - x}} - \frac{z}{\frac{a - z}{t - x}}\right)} + x\]
    10. Applied associate-+l-10.8

      \[\leadsto \color{blue}{\frac{y}{\frac{a - z}{t - x}} - \left(\frac{z}{\frac{a - z}{t - x}} - x\right)}\]
  3. Recombined 3 regimes into one program.
  4. Final simplification10.6

    \[\leadsto \begin{array}{l} \mathbf{if}\;a \le -8.40974200722042392 \cdot 10^{-79}:\\ \;\;\;\;\mathsf{fma}\left(\frac{1}{\frac{\sqrt[3]{a - z} \cdot \sqrt[3]{a - z}}{\sqrt[3]{t - x} \cdot \sqrt[3]{t - x}}}, \frac{y - z}{\frac{\sqrt[3]{a - z}}{\sqrt[3]{t - x}}}, x\right)\\ \mathbf{elif}\;a \le 2.7113534911240639 \cdot 10^{-219}:\\ \;\;\;\;\mathsf{fma}\left(y, \frac{x}{z} - \frac{t}{z}, t\right)\\ \mathbf{else}:\\ \;\;\;\;\frac{y}{\frac{a - z}{t - x}} - \left(\frac{z}{\frac{a - z}{t - x}} - x\right)\\ \end{array}\]

Reproduce

herbie shell --seed 2020034 +o rules:numerics
(FPCore (x y z t a)
  :name "Numeric.Signal:interpolate   from hsignal-0.2.7.1"
  :precision binary64
  (+ x (* (- y z) (/ (- t x) (- a z)))))