Average Error: 24.6 → 11.1
Time: 9.1s
Precision: 64
\[x + \frac{\left(y - z\right) \cdot \left(t - x\right)}{a - z}\]
\[\begin{array}{l} \mathbf{if}\;a \le -1.3251830678825456 \cdot 10^{-80}:\\ \;\;\;\;x + \frac{y - z}{\sqrt[3]{a - z} \cdot \sqrt[3]{a - z}} \cdot \frac{t - x}{\sqrt[3]{a - z}}\\ \mathbf{elif}\;a \le 8.7380390302425882 \cdot 10^{-128}:\\ \;\;\;\;\left(\frac{x \cdot y}{z} + t\right) - \frac{t \cdot y}{z}\\ \mathbf{else}:\\ \;\;\;\;x + \frac{\frac{\sqrt[3]{y - z} \cdot \sqrt[3]{y - z}}{\sqrt[3]{a - z}}}{\sqrt[3]{\sqrt[3]{a - z}}} \cdot \left(\frac{\frac{\left(\sqrt[3]{\sqrt[3]{y - z}} \cdot \sqrt[3]{\sqrt[3]{y - z}}\right) \cdot \sqrt[3]{\sqrt[3]{y - z}}}{\sqrt[3]{a - z}}}{\sqrt[3]{\sqrt[3]{a - z}}} \cdot \frac{t - x}{\sqrt[3]{\sqrt[3]{a - z}}}\right)\\ \end{array}\]
x + \frac{\left(y - z\right) \cdot \left(t - x\right)}{a - z}
\begin{array}{l}
\mathbf{if}\;a \le -1.3251830678825456 \cdot 10^{-80}:\\
\;\;\;\;x + \frac{y - z}{\sqrt[3]{a - z} \cdot \sqrt[3]{a - z}} \cdot \frac{t - x}{\sqrt[3]{a - z}}\\

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

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

\end{array}
double f(double x, double y, double z, double t, double a) {
        double r602700 = x;
        double r602701 = y;
        double r602702 = z;
        double r602703 = r602701 - r602702;
        double r602704 = t;
        double r602705 = r602704 - r602700;
        double r602706 = r602703 * r602705;
        double r602707 = a;
        double r602708 = r602707 - r602702;
        double r602709 = r602706 / r602708;
        double r602710 = r602700 + r602709;
        return r602710;
}

double f(double x, double y, double z, double t, double a) {
        double r602711 = a;
        double r602712 = -1.3251830678825456e-80;
        bool r602713 = r602711 <= r602712;
        double r602714 = x;
        double r602715 = y;
        double r602716 = z;
        double r602717 = r602715 - r602716;
        double r602718 = r602711 - r602716;
        double r602719 = cbrt(r602718);
        double r602720 = r602719 * r602719;
        double r602721 = r602717 / r602720;
        double r602722 = t;
        double r602723 = r602722 - r602714;
        double r602724 = r602723 / r602719;
        double r602725 = r602721 * r602724;
        double r602726 = r602714 + r602725;
        double r602727 = 8.738039030242588e-128;
        bool r602728 = r602711 <= r602727;
        double r602729 = r602714 * r602715;
        double r602730 = r602729 / r602716;
        double r602731 = r602730 + r602722;
        double r602732 = r602722 * r602715;
        double r602733 = r602732 / r602716;
        double r602734 = r602731 - r602733;
        double r602735 = cbrt(r602717);
        double r602736 = r602735 * r602735;
        double r602737 = r602736 / r602719;
        double r602738 = cbrt(r602719);
        double r602739 = r602737 / r602738;
        double r602740 = cbrt(r602735);
        double r602741 = r602740 * r602740;
        double r602742 = r602741 * r602740;
        double r602743 = r602742 / r602719;
        double r602744 = r602743 / r602738;
        double r602745 = r602723 / r602738;
        double r602746 = r602744 * r602745;
        double r602747 = r602739 * r602746;
        double r602748 = r602714 + r602747;
        double r602749 = r602728 ? r602734 : r602748;
        double r602750 = r602713 ? r602726 : r602749;
        return r602750;
}

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

Original24.6
Target11.5
Herbie11.1
\[\begin{array}{l} \mathbf{if}\;z \lt -1.25361310560950359 \cdot 10^{188}:\\ \;\;\;\;t - \frac{y}{z} \cdot \left(t - x\right)\\ \mathbf{elif}\;z \lt 4.44670236911381103 \cdot 10^{64}:\\ \;\;\;\;x + \frac{y - z}{\frac{a - z}{t - x}}\\ \mathbf{else}:\\ \;\;\;\;t - \frac{y}{z} \cdot \left(t - x\right)\\ \end{array}\]

Derivation

  1. Split input into 3 regimes
  2. if a < -1.3251830678825456e-80

    1. Initial program 23.5

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

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

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

    if -1.3251830678825456e-80 < a < 8.738039030242588e-128

    1. Initial program 28.3

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

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

    if 8.738039030242588e-128 < a

    1. Initial program 22.7

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

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

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

      \[\leadsto x + \frac{y - z}{\sqrt[3]{a - z} \cdot \sqrt[3]{a - z}} \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}}}}\]
    7. Applied *-un-lft-identity10.4

      \[\leadsto x + \frac{y - z}{\sqrt[3]{a - z} \cdot \sqrt[3]{a - z}} \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}}}\]
    8. Applied times-frac10.4

      \[\leadsto x + \frac{y - z}{\sqrt[3]{a - z} \cdot \sqrt[3]{a - z}} \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)}\]
    9. Applied associate-*r*10.2

      \[\leadsto x + \color{blue}{\left(\frac{y - z}{\sqrt[3]{a - z} \cdot \sqrt[3]{a - z}} \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}}}}\]
    10. Simplified10.2

      \[\leadsto x + \color{blue}{\frac{\frac{y - z}{\sqrt[3]{a - z} \cdot \sqrt[3]{a - z}}}{\sqrt[3]{\sqrt[3]{a - z}} \cdot \sqrt[3]{\sqrt[3]{a - z}}}} \cdot \frac{t - x}{\sqrt[3]{\sqrt[3]{a - z}}}\]
    11. Using strategy rm
    12. Applied add-cube-cbrt10.2

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

      \[\leadsto x + \frac{\color{blue}{\frac{\sqrt[3]{y - z} \cdot \sqrt[3]{y - z}}{\sqrt[3]{a - z}} \cdot \frac{\sqrt[3]{y - z}}{\sqrt[3]{a - z}}}}{\sqrt[3]{\sqrt[3]{a - z}} \cdot \sqrt[3]{\sqrt[3]{a - z}}} \cdot \frac{t - x}{\sqrt[3]{\sqrt[3]{a - z}}}\]
    14. Applied times-frac10.2

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

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

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

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

Reproduce

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

  :herbie-target
  (if (< z -1.2536131056095036e+188) (- t (* (/ y z) (- t x))) (if (< z 4.446702369113811e+64) (+ x (/ (- y z) (/ (- a z) (- t x)))) (- t (* (/ y z) (- t x)))))

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