Average Error: 14.3 → 7.5
Time: 7.1s
Precision: 64
\[x + \left(y - z\right) \cdot \frac{t - x}{a - z}\]
\[\begin{array}{l} \mathbf{if}\;x + \left(y - z\right) \cdot \frac{t - x}{a - z} \le -1.1217753974023432 \cdot 10^{-287}:\\ \;\;\;\;x + \left(\sqrt[3]{\frac{y - z}{\left(\sqrt[3]{\sqrt[3]{a - z}} \cdot \sqrt[3]{\sqrt[3]{a - z}}\right) \cdot \left(\sqrt[3]{\sqrt[3]{a - z}} \cdot \sqrt[3]{a - z}\right)}} \cdot \sqrt[3]{\frac{y - z}{\left(\sqrt[3]{\sqrt[3]{a - z}} \cdot \sqrt[3]{\sqrt[3]{a - z}}\right) \cdot \left(\sqrt[3]{\sqrt[3]{a - z}} \cdot \sqrt[3]{a - z}\right)}}\right) \cdot \left(\sqrt[3]{\frac{y - z}{\left(\sqrt[3]{\sqrt[3]{a - z}} \cdot \sqrt[3]{\sqrt[3]{a - z}}\right) \cdot \left(\sqrt[3]{\sqrt[3]{a - z}} \cdot \sqrt[3]{a - z}\right)}} \cdot \frac{t - x}{\sqrt[3]{a - z}}\right)\\ \mathbf{elif}\;x + \left(y - z\right) \cdot \frac{t - x}{a - z} \le 0.0:\\ \;\;\;\;\mathsf{fma}\left(y, \frac{x}{z} - \frac{t}{z}, t\right)\\ \mathbf{else}:\\ \;\;\;\;x + \frac{\frac{\frac{y - z}{\sqrt[3]{\sqrt[3]{a - z}} \cdot \sqrt[3]{\sqrt[3]{a - z}}}}{{\left(\sqrt[3]{\sqrt[3]{a - z}}\right)}^{3}}}{\sqrt[3]{a - z}} \cdot \frac{t - x}{\sqrt[3]{\sqrt[3]{a - z}}}\\ \end{array}\]
x + \left(y - z\right) \cdot \frac{t - x}{a - z}
\begin{array}{l}
\mathbf{if}\;x + \left(y - z\right) \cdot \frac{t - x}{a - z} \le -1.1217753974023432 \cdot 10^{-287}:\\
\;\;\;\;x + \left(\sqrt[3]{\frac{y - z}{\left(\sqrt[3]{\sqrt[3]{a - z}} \cdot \sqrt[3]{\sqrt[3]{a - z}}\right) \cdot \left(\sqrt[3]{\sqrt[3]{a - z}} \cdot \sqrt[3]{a - z}\right)}} \cdot \sqrt[3]{\frac{y - z}{\left(\sqrt[3]{\sqrt[3]{a - z}} \cdot \sqrt[3]{\sqrt[3]{a - z}}\right) \cdot \left(\sqrt[3]{\sqrt[3]{a - z}} \cdot \sqrt[3]{a - z}\right)}}\right) \cdot \left(\sqrt[3]{\frac{y - z}{\left(\sqrt[3]{\sqrt[3]{a - z}} \cdot \sqrt[3]{\sqrt[3]{a - z}}\right) \cdot \left(\sqrt[3]{\sqrt[3]{a - z}} \cdot \sqrt[3]{a - z}\right)}} \cdot \frac{t - x}{\sqrt[3]{a - z}}\right)\\

\mathbf{elif}\;x + \left(y - z\right) \cdot \frac{t - x}{a - z} \le 0.0:\\
\;\;\;\;\mathsf{fma}\left(y, \frac{x}{z} - \frac{t}{z}, t\right)\\

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

\end{array}
double f(double x, double y, double z, double t, double a) {
        double r115788 = x;
        double r115789 = y;
        double r115790 = z;
        double r115791 = r115789 - r115790;
        double r115792 = t;
        double r115793 = r115792 - r115788;
        double r115794 = a;
        double r115795 = r115794 - r115790;
        double r115796 = r115793 / r115795;
        double r115797 = r115791 * r115796;
        double r115798 = r115788 + r115797;
        return r115798;
}

double f(double x, double y, double z, double t, double a) {
        double r115799 = x;
        double r115800 = y;
        double r115801 = z;
        double r115802 = r115800 - r115801;
        double r115803 = t;
        double r115804 = r115803 - r115799;
        double r115805 = a;
        double r115806 = r115805 - r115801;
        double r115807 = r115804 / r115806;
        double r115808 = r115802 * r115807;
        double r115809 = r115799 + r115808;
        double r115810 = -1.1217753974023432e-287;
        bool r115811 = r115809 <= r115810;
        double r115812 = cbrt(r115806);
        double r115813 = cbrt(r115812);
        double r115814 = r115813 * r115813;
        double r115815 = r115813 * r115812;
        double r115816 = r115814 * r115815;
        double r115817 = r115802 / r115816;
        double r115818 = cbrt(r115817);
        double r115819 = r115818 * r115818;
        double r115820 = r115804 / r115812;
        double r115821 = r115818 * r115820;
        double r115822 = r115819 * r115821;
        double r115823 = r115799 + r115822;
        double r115824 = 0.0;
        bool r115825 = r115809 <= r115824;
        double r115826 = r115799 / r115801;
        double r115827 = r115803 / r115801;
        double r115828 = r115826 - r115827;
        double r115829 = fma(r115800, r115828, r115803);
        double r115830 = r115802 / r115814;
        double r115831 = 3.0;
        double r115832 = pow(r115813, r115831);
        double r115833 = r115830 / r115832;
        double r115834 = r115833 / r115812;
        double r115835 = r115804 / r115813;
        double r115836 = r115834 * r115835;
        double r115837 = r115799 + r115836;
        double r115838 = r115825 ? r115829 : r115837;
        double r115839 = r115811 ? r115823 : r115838;
        return r115839;
}

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 (+ x (* (- y z) (/ (- t x) (- a z)))) < -1.1217753974023432e-287

    1. Initial program 7.2

      \[x + \left(y - z\right) \cdot \frac{t - x}{a - z}\]
    2. Using strategy rm
    3. Applied add-cube-cbrt7.9

      \[\leadsto x + \left(y - z\right) \cdot \frac{t - x}{\color{blue}{\left(\sqrt[3]{a - z} \cdot \sqrt[3]{a - z}\right) \cdot \sqrt[3]{a - z}}}\]
    4. Applied *-un-lft-identity7.9

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

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

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

      \[\leadsto x + \color{blue}{\frac{y - z}{\sqrt[3]{a - z} \cdot \sqrt[3]{a - z}}} \cdot \frac{t - x}{\sqrt[3]{a - z}}\]
    8. Using strategy rm
    9. Applied add-cube-cbrt5.5

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

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

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

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

    if -1.1217753974023432e-287 < (+ x (* (- y z) (/ (- t x) (- a z)))) < 0.0

    1. Initial program 61.3

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

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

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

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

    if 0.0 < (+ x (* (- y z) (/ (- t x) (- a z))))

    1. Initial program 6.9

      \[x + \left(y - z\right) \cdot \frac{t - x}{a - z}\]
    2. Using strategy rm
    3. Applied add-cube-cbrt7.6

      \[\leadsto x + \left(y - z\right) \cdot \frac{t - x}{\color{blue}{\left(\sqrt[3]{a - z} \cdot \sqrt[3]{a - z}\right) \cdot \sqrt[3]{a - z}}}\]
    4. Applied *-un-lft-identity7.6

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

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

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

      \[\leadsto x + \color{blue}{\frac{y - z}{\sqrt[3]{a - z} \cdot \sqrt[3]{a - z}}} \cdot \frac{t - x}{\sqrt[3]{a - z}}\]
    8. Using strategy rm
    9. Applied add-cube-cbrt5.1

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

      \[\leadsto x + \frac{y - z}{\color{blue}{\left(\sqrt[3]{\sqrt[3]{a - z}} \cdot \sqrt[3]{\sqrt[3]{a - z}}\right) \cdot \left(\sqrt[3]{\sqrt[3]{a - z}} \cdot \sqrt[3]{a - z}\right)}} \cdot \frac{t - x}{\sqrt[3]{a - z}}\]
    11. Using strategy rm
    12. Applied add-cube-cbrt5.4

      \[\leadsto x + \frac{y - z}{\left(\sqrt[3]{\sqrt[3]{a - z}} \cdot \sqrt[3]{\sqrt[3]{a - z}}\right) \cdot \left(\sqrt[3]{\sqrt[3]{a - z}} \cdot \sqrt[3]{a - z}\right)} \cdot \frac{t - x}{\color{blue}{\left(\sqrt[3]{\sqrt[3]{a - z}} \cdot \sqrt[3]{\sqrt[3]{a - z}}\right) \cdot \sqrt[3]{\sqrt[3]{a - z}}}}\]
    13. Applied *-un-lft-identity5.4

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

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

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

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

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

Reproduce

herbie shell --seed 2020020 +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)))))