Average Error: 5.9 → 1.3
Time: 22.5s
Precision: 64
\[x + \frac{y \cdot \left(z - t\right)}{a}\]
\[\begin{array}{l} \mathbf{if}\;a \le -3.645255194916715937641968772702949461824 \cdot 10^{-56}:\\ \;\;\;\;x - \left(\frac{t}{a} - \frac{z}{a}\right) \cdot y\\ \mathbf{elif}\;a \le 11441004867780468335951397958707827651380000:\\ \;\;\;\;x - \frac{y \cdot \left(t - z\right)}{a}\\ \mathbf{else}:\\ \;\;\;\;x - \left(t \cdot \frac{1}{\frac{a}{y}} - \frac{z}{\frac{a}{y}}\right)\\ \end{array}\]
x + \frac{y \cdot \left(z - t\right)}{a}
\begin{array}{l}
\mathbf{if}\;a \le -3.645255194916715937641968772702949461824 \cdot 10^{-56}:\\
\;\;\;\;x - \left(\frac{t}{a} - \frac{z}{a}\right) \cdot y\\

\mathbf{elif}\;a \le 11441004867780468335951397958707827651380000:\\
\;\;\;\;x - \frac{y \cdot \left(t - z\right)}{a}\\

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

\end{array}
double f(double x, double y, double z, double t, double a) {
        double r262604 = x;
        double r262605 = y;
        double r262606 = z;
        double r262607 = t;
        double r262608 = r262606 - r262607;
        double r262609 = r262605 * r262608;
        double r262610 = a;
        double r262611 = r262609 / r262610;
        double r262612 = r262604 + r262611;
        return r262612;
}

double f(double x, double y, double z, double t, double a) {
        double r262613 = a;
        double r262614 = -3.645255194916716e-56;
        bool r262615 = r262613 <= r262614;
        double r262616 = x;
        double r262617 = t;
        double r262618 = r262617 / r262613;
        double r262619 = z;
        double r262620 = r262619 / r262613;
        double r262621 = r262618 - r262620;
        double r262622 = y;
        double r262623 = r262621 * r262622;
        double r262624 = r262616 - r262623;
        double r262625 = 1.1441004867780468e+43;
        bool r262626 = r262613 <= r262625;
        double r262627 = r262617 - r262619;
        double r262628 = r262622 * r262627;
        double r262629 = r262628 / r262613;
        double r262630 = r262616 - r262629;
        double r262631 = 1.0;
        double r262632 = r262613 / r262622;
        double r262633 = r262631 / r262632;
        double r262634 = r262617 * r262633;
        double r262635 = r262619 / r262632;
        double r262636 = r262634 - r262635;
        double r262637 = r262616 - r262636;
        double r262638 = r262626 ? r262630 : r262637;
        double r262639 = r262615 ? r262624 : r262638;
        return r262639;
}

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

Original5.9
Target0.7
Herbie1.3
\[\begin{array}{l} \mathbf{if}\;y \lt -1.07612662163899753216593153715602325729 \cdot 10^{-10}:\\ \;\;\;\;x + \frac{1}{\frac{\frac{a}{z - t}}{y}}\\ \mathbf{elif}\;y \lt 2.894426862792089097262541964056085749132 \cdot 10^{-49}:\\ \;\;\;\;x + \frac{y \cdot \left(z - t\right)}{a}\\ \mathbf{else}:\\ \;\;\;\;x + \frac{y}{\frac{a}{z - t}}\\ \end{array}\]

Derivation

  1. Split input into 3 regimes
  2. if a < -3.645255194916716e-56

    1. Initial program 8.3

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

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

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

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

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

      \[\leadsto x - \left(\left(\sqrt[3]{t - z} \cdot \frac{y}{a}\right) \cdot \sqrt[3]{t - z}\right) \cdot \sqrt[3]{\color{blue}{\left(\sqrt[3]{t - z} \cdot \sqrt[3]{t - z}\right) \cdot \sqrt[3]{t - z}}}\]
    9. Applied cbrt-prod1.9

      \[\leadsto x - \left(\left(\sqrt[3]{t - z} \cdot \frac{y}{a}\right) \cdot \sqrt[3]{t - z}\right) \cdot \color{blue}{\left(\sqrt[3]{\sqrt[3]{t - z} \cdot \sqrt[3]{t - z}} \cdot \sqrt[3]{\sqrt[3]{t - z}}\right)}\]
    10. Taylor expanded around 0 8.3

      \[\leadsto x - \color{blue}{\left(\frac{t \cdot y}{a} - \frac{z \cdot y}{a}\right)}\]
    11. Simplified1.6

      \[\leadsto x - \color{blue}{\left(\frac{t}{\frac{a}{y}} - \frac{z}{\frac{a}{y}}\right)}\]
    12. Using strategy rm
    13. Applied *-un-lft-identity1.6

      \[\leadsto x - \left(\frac{t}{\frac{a}{y}} - \frac{z}{\frac{a}{\color{blue}{1 \cdot y}}}\right)\]
    14. Applied *-un-lft-identity1.6

      \[\leadsto x - \left(\frac{t}{\frac{a}{y}} - \frac{z}{\frac{\color{blue}{1 \cdot a}}{1 \cdot y}}\right)\]
    15. Applied times-frac1.6

      \[\leadsto x - \left(\frac{t}{\frac{a}{y}} - \frac{z}{\color{blue}{\frac{1}{1} \cdot \frac{a}{y}}}\right)\]
    16. Applied *-un-lft-identity1.6

      \[\leadsto x - \left(\frac{t}{\frac{a}{y}} - \frac{\color{blue}{1 \cdot z}}{\frac{1}{1} \cdot \frac{a}{y}}\right)\]
    17. Applied times-frac1.6

      \[\leadsto x - \left(\frac{t}{\frac{a}{y}} - \color{blue}{\frac{1}{\frac{1}{1}} \cdot \frac{z}{\frac{a}{y}}}\right)\]
    18. Applied *-un-lft-identity1.6

      \[\leadsto x - \left(\frac{t}{\frac{a}{\color{blue}{1 \cdot y}}} - \frac{1}{\frac{1}{1}} \cdot \frac{z}{\frac{a}{y}}\right)\]
    19. Applied *-un-lft-identity1.6

      \[\leadsto x - \left(\frac{t}{\frac{\color{blue}{1 \cdot a}}{1 \cdot y}} - \frac{1}{\frac{1}{1}} \cdot \frac{z}{\frac{a}{y}}\right)\]
    20. Applied times-frac1.6

      \[\leadsto x - \left(\frac{t}{\color{blue}{\frac{1}{1} \cdot \frac{a}{y}}} - \frac{1}{\frac{1}{1}} \cdot \frac{z}{\frac{a}{y}}\right)\]
    21. Applied *-un-lft-identity1.6

      \[\leadsto x - \left(\frac{\color{blue}{1 \cdot t}}{\frac{1}{1} \cdot \frac{a}{y}} - \frac{1}{\frac{1}{1}} \cdot \frac{z}{\frac{a}{y}}\right)\]
    22. Applied times-frac1.6

      \[\leadsto x - \left(\color{blue}{\frac{1}{\frac{1}{1}} \cdot \frac{t}{\frac{a}{y}}} - \frac{1}{\frac{1}{1}} \cdot \frac{z}{\frac{a}{y}}\right)\]
    23. Applied distribute-lft-out--1.6

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

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

    if -3.645255194916716e-56 < a < 1.1441004867780468e+43

    1. Initial program 1.2

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

      \[\leadsto \color{blue}{x - \frac{y}{a} \cdot \left(t - z\right)}\]
    3. Using strategy rm
    4. Applied associate-*l/1.2

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

    if 1.1441004867780468e+43 < a

    1. Initial program 9.6

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

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

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

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

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

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

      \[\leadsto x - \left(\left(\sqrt[3]{t - z} \cdot \frac{y}{a}\right) \cdot \sqrt[3]{t - z}\right) \cdot \color{blue}{\left(\sqrt[3]{\sqrt[3]{t - z} \cdot \sqrt[3]{t - z}} \cdot \sqrt[3]{\sqrt[3]{t - z}}\right)}\]
    10. Taylor expanded around 0 9.6

      \[\leadsto x - \color{blue}{\left(\frac{t \cdot y}{a} - \frac{z \cdot y}{a}\right)}\]
    11. Simplified2.2

      \[\leadsto x - \color{blue}{\left(\frac{t}{\frac{a}{y}} - \frac{z}{\frac{a}{y}}\right)}\]
    12. Using strategy rm
    13. Applied div-inv2.3

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

    \[\leadsto \begin{array}{l} \mathbf{if}\;a \le -3.645255194916715937641968772702949461824 \cdot 10^{-56}:\\ \;\;\;\;x - \left(\frac{t}{a} - \frac{z}{a}\right) \cdot y\\ \mathbf{elif}\;a \le 11441004867780468335951397958707827651380000:\\ \;\;\;\;x - \frac{y \cdot \left(t - z\right)}{a}\\ \mathbf{else}:\\ \;\;\;\;x - \left(t \cdot \frac{1}{\frac{a}{y}} - \frac{z}{\frac{a}{y}}\right)\\ \end{array}\]

Reproduce

herbie shell --seed 2019194 
(FPCore (x y z t a)
  :name "Optimisation.CirclePacking:place from circle-packing-0.1.0.4, E"

  :herbie-target
  (if (< y -1.0761266216389975e-10) (+ x (/ 1.0 (/ (/ a (- z t)) y))) (if (< y 2.894426862792089e-49) (+ x (/ (* y (- z t)) a)) (+ x (/ y (/ a (- z t))))))

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