Average Error: 5.9 → 1.3
Time: 22.4s
Precision: 64
\[x + \frac{y \cdot \left(z - t\right)}{a}\]
\[\begin{array}{l} \mathbf{if}\;a \le -3.645255194916715937641968772702949461824 \cdot 10^{-56}:\\ \;\;\;\;x - y \cdot \left(\frac{t}{a} - \frac{z}{a}\right)\\ \mathbf{elif}\;a \le 11441004867780468335951397958707827651380000:\\ \;\;\;\;x - \frac{\left(t - z\right) \cdot y}{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 - y \cdot \left(\frac{t}{a} - \frac{z}{a}\right)\\

\mathbf{elif}\;a \le 11441004867780468335951397958707827651380000:\\
\;\;\;\;x - \frac{\left(t - z\right) \cdot y}{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 r321320 = x;
        double r321321 = y;
        double r321322 = z;
        double r321323 = t;
        double r321324 = r321322 - r321323;
        double r321325 = r321321 * r321324;
        double r321326 = a;
        double r321327 = r321325 / r321326;
        double r321328 = r321320 + r321327;
        return r321328;
}

double f(double x, double y, double z, double t, double a) {
        double r321329 = a;
        double r321330 = -3.645255194916716e-56;
        bool r321331 = r321329 <= r321330;
        double r321332 = x;
        double r321333 = y;
        double r321334 = t;
        double r321335 = r321334 / r321329;
        double r321336 = z;
        double r321337 = r321336 / r321329;
        double r321338 = r321335 - r321337;
        double r321339 = r321333 * r321338;
        double r321340 = r321332 - r321339;
        double r321341 = 1.1441004867780468e+43;
        bool r321342 = r321329 <= r321341;
        double r321343 = r321334 - r321336;
        double r321344 = r321343 * r321333;
        double r321345 = r321344 / r321329;
        double r321346 = r321332 - r321345;
        double r321347 = 1.0;
        double r321348 = r321329 / r321333;
        double r321349 = r321347 / r321348;
        double r321350 = r321334 * r321349;
        double r321351 = r321336 / r321348;
        double r321352 = r321350 - r321351;
        double r321353 = r321332 - r321352;
        double r321354 = r321342 ? r321346 : r321353;
        double r321355 = r321331 ? r321340 : r321354;
        return r321355;
}

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 - \color{blue}{1 \cdot \left(\frac{t}{\frac{a}{y}} - \frac{z}{\frac{a}{y}}\right)}\]
    14. Applied *-un-lft-identity1.6

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

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

      \[\leadsto 1 \cdot \color{blue}{\left(x - 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 - y \cdot \left(\frac{t}{a} - \frac{z}{a}\right)\\ \mathbf{elif}\;a \le 11441004867780468335951397958707827651380000:\\ \;\;\;\;x - \frac{\left(t - z\right) \cdot y}{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)))