Average Error: 14.8 → 10.6
Time: 25.2s
Precision: 64
\[x + \left(y - z\right) \cdot \frac{t - x}{a - z}\]
\[\begin{array}{l} \mathbf{if}\;a \le -6.073710910444692 \cdot 10^{-248}:\\ \;\;\;\;x + \frac{t - x}{\frac{a - z}{y - z}}\\ \mathbf{elif}\;a \le 1.666153532327582 \cdot 10^{-129}:\\ \;\;\;\;\left(t + \frac{y \cdot x}{z}\right) - \frac{t \cdot y}{z}\\ \mathbf{else}:\\ \;\;\;\;x + \left(\left(\sqrt[3]{t - x} \cdot \sqrt[3]{t - x}\right) \cdot \frac{y - z}{a - z}\right) \cdot \sqrt[3]{t - x}\\ \end{array}\]
x + \left(y - z\right) \cdot \frac{t - x}{a - z}
\begin{array}{l}
\mathbf{if}\;a \le -6.073710910444692 \cdot 10^{-248}:\\
\;\;\;\;x + \frac{t - x}{\frac{a - z}{y - z}}\\

\mathbf{elif}\;a \le 1.666153532327582 \cdot 10^{-129}:\\
\;\;\;\;\left(t + \frac{y \cdot x}{z}\right) - \frac{t \cdot y}{z}\\

\mathbf{else}:\\
\;\;\;\;x + \left(\left(\sqrt[3]{t - x} \cdot \sqrt[3]{t - x}\right) \cdot \frac{y - z}{a - z}\right) \cdot \sqrt[3]{t - x}\\

\end{array}
double f(double x, double y, double z, double t, double a) {
        double r7996712 = x;
        double r7996713 = y;
        double r7996714 = z;
        double r7996715 = r7996713 - r7996714;
        double r7996716 = t;
        double r7996717 = r7996716 - r7996712;
        double r7996718 = a;
        double r7996719 = r7996718 - r7996714;
        double r7996720 = r7996717 / r7996719;
        double r7996721 = r7996715 * r7996720;
        double r7996722 = r7996712 + r7996721;
        return r7996722;
}

double f(double x, double y, double z, double t, double a) {
        double r7996723 = a;
        double r7996724 = -6.073710910444692e-248;
        bool r7996725 = r7996723 <= r7996724;
        double r7996726 = x;
        double r7996727 = t;
        double r7996728 = r7996727 - r7996726;
        double r7996729 = z;
        double r7996730 = r7996723 - r7996729;
        double r7996731 = y;
        double r7996732 = r7996731 - r7996729;
        double r7996733 = r7996730 / r7996732;
        double r7996734 = r7996728 / r7996733;
        double r7996735 = r7996726 + r7996734;
        double r7996736 = 1.666153532327582e-129;
        bool r7996737 = r7996723 <= r7996736;
        double r7996738 = r7996731 * r7996726;
        double r7996739 = r7996738 / r7996729;
        double r7996740 = r7996727 + r7996739;
        double r7996741 = r7996727 * r7996731;
        double r7996742 = r7996741 / r7996729;
        double r7996743 = r7996740 - r7996742;
        double r7996744 = cbrt(r7996728);
        double r7996745 = r7996744 * r7996744;
        double r7996746 = r7996732 / r7996730;
        double r7996747 = r7996745 * r7996746;
        double r7996748 = r7996747 * r7996744;
        double r7996749 = r7996726 + r7996748;
        double r7996750 = r7996737 ? r7996743 : r7996749;
        double r7996751 = r7996725 ? r7996735 : r7996750;
        return r7996751;
}

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

Derivation

  1. Split input into 3 regimes
  2. if a < -6.073710910444692e-248

    1. Initial program 13.4

      \[x + \left(y - z\right) \cdot \frac{t - x}{a - z}\]
    2. Using strategy rm
    3. Applied clear-num13.7

      \[\leadsto x + \left(y - z\right) \cdot \color{blue}{\frac{1}{\frac{a - z}{t - x}}}\]
    4. Applied un-div-inv13.5

      \[\leadsto x + \color{blue}{\frac{y - z}{\frac{a - z}{t - x}}}\]
    5. Using strategy rm
    6. Applied associate-/r/10.2

      \[\leadsto x + \color{blue}{\frac{y - z}{a - z} \cdot \left(t - x\right)}\]
    7. Using strategy rm
    8. Applied clear-num10.3

      \[\leadsto x + \color{blue}{\frac{1}{\frac{a - z}{y - z}}} \cdot \left(t - x\right)\]
    9. Applied associate-*l/10.2

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

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

    if -6.073710910444692e-248 < a < 1.666153532327582e-129

    1. Initial program 25.6

      \[x + \left(y - z\right) \cdot \frac{t - x}{a - z}\]
    2. Taylor expanded around inf 13.1

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

    if 1.666153532327582e-129 < a

    1. Initial program 11.4

      \[x + \left(y - z\right) \cdot \frac{t - x}{a - z}\]
    2. Using strategy rm
    3. Applied clear-num11.7

      \[\leadsto x + \left(y - z\right) \cdot \color{blue}{\frac{1}{\frac{a - z}{t - x}}}\]
    4. Applied un-div-inv11.5

      \[\leadsto x + \color{blue}{\frac{y - z}{\frac{a - z}{t - x}}}\]
    5. Using strategy rm
    6. Applied associate-/r/9.2

      \[\leadsto x + \color{blue}{\frac{y - z}{a - z} \cdot \left(t - x\right)}\]
    7. Using strategy rm
    8. Applied add-cube-cbrt9.8

      \[\leadsto x + \frac{y - z}{a - z} \cdot \color{blue}{\left(\left(\sqrt[3]{t - x} \cdot \sqrt[3]{t - x}\right) \cdot \sqrt[3]{t - x}\right)}\]
    9. Applied associate-*r*9.8

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

    \[\leadsto \begin{array}{l} \mathbf{if}\;a \le -6.073710910444692 \cdot 10^{-248}:\\ \;\;\;\;x + \frac{t - x}{\frac{a - z}{y - z}}\\ \mathbf{elif}\;a \le 1.666153532327582 \cdot 10^{-129}:\\ \;\;\;\;\left(t + \frac{y \cdot x}{z}\right) - \frac{t \cdot y}{z}\\ \mathbf{else}:\\ \;\;\;\;x + \left(\left(\sqrt[3]{t - x} \cdot \sqrt[3]{t - x}\right) \cdot \frac{y - z}{a - z}\right) \cdot \sqrt[3]{t - x}\\ \end{array}\]

Reproduce

herbie shell --seed 2019158 
(FPCore (x y z t a)
  :name "Numeric.Signal:interpolate   from hsignal-0.2.7.1"
  (+ x (* (- y z) (/ (- t x) (- a z)))))