Average Error: 14.7 → 7.8
Time: 1.9m
Precision: 64
\[x + \left(y - z\right) \cdot \frac{t - x}{a - z}\]
\[\begin{array}{l} \mathbf{if}\;x + \frac{t - x}{a - z} \cdot \left(y - z\right) \le -3.956280165893758193874340988906388103674 \cdot 10^{-277}:\\ \;\;\;\;\frac{\sqrt[3]{t - x}}{\sqrt[3]{a - z}} \cdot \left(\frac{\frac{\sqrt[3]{t - x}}{\sqrt[3]{a - z}}}{\frac{\sqrt[3]{a - z}}{\sqrt[3]{\sqrt[3]{t - x} \cdot \left(\sqrt[3]{t - x} \cdot \sqrt[3]{t - x}\right)}}} \cdot \left(y - z\right)\right) + x\\ \mathbf{elif}\;x + \frac{t - x}{a - z} \cdot \left(y - z\right) \le 7.212469295770238938198482358900016909808 \cdot 10^{-262}:\\ \;\;\;\;\left(t + \frac{x \cdot y}{z}\right) - y \cdot \frac{t}{z}\\ \mathbf{else}:\\ \;\;\;\;x + \frac{y - z}{\frac{\sqrt[3]{a - z}}{\sqrt[3]{t - x}} \cdot \frac{\sqrt[3]{a - z}}{\sqrt[3]{t - x}}} \cdot \frac{\sqrt[3]{t - x}}{\sqrt[3]{a - z}}\\ \end{array}\]
x + \left(y - z\right) \cdot \frac{t - x}{a - z}
\begin{array}{l}
\mathbf{if}\;x + \frac{t - x}{a - z} \cdot \left(y - z\right) \le -3.956280165893758193874340988906388103674 \cdot 10^{-277}:\\
\;\;\;\;\frac{\sqrt[3]{t - x}}{\sqrt[3]{a - z}} \cdot \left(\frac{\frac{\sqrt[3]{t - x}}{\sqrt[3]{a - z}}}{\frac{\sqrt[3]{a - z}}{\sqrt[3]{\sqrt[3]{t - x} \cdot \left(\sqrt[3]{t - x} \cdot \sqrt[3]{t - x}\right)}}} \cdot \left(y - z\right)\right) + x\\

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

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

\end{array}
double f(double x, double y, double z, double t, double a) {
        double r339849 = x;
        double r339850 = y;
        double r339851 = z;
        double r339852 = r339850 - r339851;
        double r339853 = t;
        double r339854 = r339853 - r339849;
        double r339855 = a;
        double r339856 = r339855 - r339851;
        double r339857 = r339854 / r339856;
        double r339858 = r339852 * r339857;
        double r339859 = r339849 + r339858;
        return r339859;
}

double f(double x, double y, double z, double t, double a) {
        double r339860 = x;
        double r339861 = t;
        double r339862 = r339861 - r339860;
        double r339863 = a;
        double r339864 = z;
        double r339865 = r339863 - r339864;
        double r339866 = r339862 / r339865;
        double r339867 = y;
        double r339868 = r339867 - r339864;
        double r339869 = r339866 * r339868;
        double r339870 = r339860 + r339869;
        double r339871 = -3.956280165893758e-277;
        bool r339872 = r339870 <= r339871;
        double r339873 = cbrt(r339862);
        double r339874 = cbrt(r339865);
        double r339875 = r339873 / r339874;
        double r339876 = r339873 * r339873;
        double r339877 = r339873 * r339876;
        double r339878 = cbrt(r339877);
        double r339879 = r339874 / r339878;
        double r339880 = r339875 / r339879;
        double r339881 = r339880 * r339868;
        double r339882 = r339875 * r339881;
        double r339883 = r339882 + r339860;
        double r339884 = 7.212469295770239e-262;
        bool r339885 = r339870 <= r339884;
        double r339886 = r339860 * r339867;
        double r339887 = r339886 / r339864;
        double r339888 = r339861 + r339887;
        double r339889 = r339861 / r339864;
        double r339890 = r339867 * r339889;
        double r339891 = r339888 - r339890;
        double r339892 = r339874 / r339873;
        double r339893 = r339892 * r339892;
        double r339894 = r339868 / r339893;
        double r339895 = r339894 * r339875;
        double r339896 = r339860 + r339895;
        double r339897 = r339885 ? r339891 : r339896;
        double r339898 = r339872 ? r339883 : r339897;
        return r339898;
}

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

    1. Initial program 6.5

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

      \[\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 add-cube-cbrt7.4

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

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

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

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

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

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

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

    if -3.956280165893758e-277 < (+ x (* (- y z) (/ (- t x) (- a z)))) < 7.212469295770239e-262

    1. Initial program 58.8

      \[x + \left(y - z\right) \cdot \frac{t - x}{a - z}\]
    2. Using strategy rm
    3. Applied add-cube-cbrt58.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 add-cube-cbrt58.6

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

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

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

      \[\leadsto x + \color{blue}{\frac{y - z}{\frac{\sqrt[3]{a - z}}{\sqrt[3]{t - x}} \cdot \frac{\sqrt[3]{a - z}}{\sqrt[3]{t - x}}}} \cdot \frac{\sqrt[3]{t - x}}{\sqrt[3]{a - z}}\]
    8. Taylor expanded around inf 26.5

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

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

    if 7.212469295770239e-262 < (+ x (* (- y z) (/ (- t x) (- a z))))

    1. Initial program 7.3

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

      \[\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 add-cube-cbrt8.2

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

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

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

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

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

Reproduce

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