Average Error: 5.9 → 1.4
Time: 13.2s
Precision: 64
\[x - \frac{y \cdot \left(z - t\right)}{a}\]
\[\begin{array}{l} \mathbf{if}\;y \le -401466375465460629504:\\ \;\;\;\;\left(\frac{t}{a} - \frac{z}{a}\right) \cdot y + x\\ \mathbf{elif}\;y \le 8.154301343153642018279670833547796995186 \cdot 10^{100}:\\ \;\;\;\;\left(\frac{t \cdot y}{a} - \frac{z}{\frac{a}{y}}\right) + x\\ \mathbf{else}:\\ \;\;\;\;\left(\sqrt[3]{y} \cdot \sqrt[3]{y}\right) \cdot \left(\frac{\sqrt[3]{y}}{a} \cdot \left(t - z\right)\right) + x\\ \end{array}\]
x - \frac{y \cdot \left(z - t\right)}{a}
\begin{array}{l}
\mathbf{if}\;y \le -401466375465460629504:\\
\;\;\;\;\left(\frac{t}{a} - \frac{z}{a}\right) \cdot y + x\\

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

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

\end{array}
double f(double x, double y, double z, double t, double a) {
        double r250279 = x;
        double r250280 = y;
        double r250281 = z;
        double r250282 = t;
        double r250283 = r250281 - r250282;
        double r250284 = r250280 * r250283;
        double r250285 = a;
        double r250286 = r250284 / r250285;
        double r250287 = r250279 - r250286;
        return r250287;
}

double f(double x, double y, double z, double t, double a) {
        double r250288 = y;
        double r250289 = -4.014663754654606e+20;
        bool r250290 = r250288 <= r250289;
        double r250291 = t;
        double r250292 = a;
        double r250293 = r250291 / r250292;
        double r250294 = z;
        double r250295 = r250294 / r250292;
        double r250296 = r250293 - r250295;
        double r250297 = r250296 * r250288;
        double r250298 = x;
        double r250299 = r250297 + r250298;
        double r250300 = 8.154301343153642e+100;
        bool r250301 = r250288 <= r250300;
        double r250302 = r250291 * r250288;
        double r250303 = r250302 / r250292;
        double r250304 = r250292 / r250288;
        double r250305 = r250294 / r250304;
        double r250306 = r250303 - r250305;
        double r250307 = r250306 + r250298;
        double r250308 = cbrt(r250288);
        double r250309 = r250308 * r250308;
        double r250310 = r250308 / r250292;
        double r250311 = r250291 - r250294;
        double r250312 = r250310 * r250311;
        double r250313 = r250309 * r250312;
        double r250314 = r250313 + r250298;
        double r250315 = r250301 ? r250307 : r250314;
        double r250316 = r250290 ? r250299 : r250315;
        return r250316;
}

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.4
\[\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 y < -4.014663754654606e+20

    1. Initial program 15.4

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

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

      \[\leadsto x + \frac{y}{\color{blue}{1 \cdot a}} \cdot \left(t - z\right)\]
    5. Applied add-cube-cbrt5.2

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

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

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

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

      \[\leadsto x + \color{blue}{\left(\frac{t}{\frac{a}{y}} - \frac{z}{\frac{a}{y}}\right)}\]
    10. Using strategy rm
    11. Applied associate-/r/4.1

      \[\leadsto x + \left(\frac{t}{\frac{a}{y}} - \color{blue}{\frac{z}{a} \cdot y}\right)\]
    12. Applied associate-/r/0.7

      \[\leadsto x + \left(\color{blue}{\frac{t}{a} \cdot y} - \frac{z}{a} \cdot y\right)\]
    13. Applied distribute-rgt-out--0.7

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

    if -4.014663754654606e+20 < y < 8.154301343153642e+100

    1. Initial program 1.1

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

      \[\leadsto \color{blue}{x + \frac{y}{a} \cdot \left(t - z\right)}\]
    3. Using strategy rm
    4. Applied *-un-lft-identity1.7

      \[\leadsto x + \frac{y}{\color{blue}{1 \cdot a}} \cdot \left(t - z\right)\]
    5. Applied add-cube-cbrt2.1

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

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

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

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

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

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

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

    if 8.154301343153642e+100 < y

    1. Initial program 23.0

      \[x - \frac{y \cdot \left(z - t\right)}{a}\]
    2. Simplified5.8

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

      \[\leadsto x + \frac{y}{\color{blue}{1 \cdot a}} \cdot \left(t - z\right)\]
    5. Applied add-cube-cbrt6.4

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

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

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

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

Reproduce

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

  :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)))