Average Error: 3.6 → 0.4
Time: 4.7s
Precision: 64
\[\left(x - \frac{y}{z \cdot 3}\right) + \frac{t}{\left(z \cdot 3\right) \cdot y}\]
\[\begin{array}{l} \mathbf{if}\;z \le -7.686463608781792051961197037237609248513 \cdot 10^{-26}:\\ \;\;\;\;\left(x - \frac{\frac{y}{z}}{3}\right) + \frac{t}{\left(z \cdot 3\right) \cdot y}\\ \mathbf{elif}\;z \le 1313.663686912553885122179053723812103271:\\ \;\;\;\;\left(x - \frac{y}{z \cdot 3}\right) + \frac{\frac{1}{z}}{\frac{y}{\frac{t}{3}}}\\ \mathbf{else}:\\ \;\;\;\;\left(x - \frac{y}{z \cdot 3}\right) + \frac{\frac{t}{\sqrt{3}}}{y \cdot \left(\sqrt{3} \cdot z\right)}\\ \end{array}\]
\left(x - \frac{y}{z \cdot 3}\right) + \frac{t}{\left(z \cdot 3\right) \cdot y}
\begin{array}{l}
\mathbf{if}\;z \le -7.686463608781792051961197037237609248513 \cdot 10^{-26}:\\
\;\;\;\;\left(x - \frac{\frac{y}{z}}{3}\right) + \frac{t}{\left(z \cdot 3\right) \cdot y}\\

\mathbf{elif}\;z \le 1313.663686912553885122179053723812103271:\\
\;\;\;\;\left(x - \frac{y}{z \cdot 3}\right) + \frac{\frac{1}{z}}{\frac{y}{\frac{t}{3}}}\\

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

\end{array}
double f(double x, double y, double z, double t) {
        double r908302 = x;
        double r908303 = y;
        double r908304 = z;
        double r908305 = 3.0;
        double r908306 = r908304 * r908305;
        double r908307 = r908303 / r908306;
        double r908308 = r908302 - r908307;
        double r908309 = t;
        double r908310 = r908306 * r908303;
        double r908311 = r908309 / r908310;
        double r908312 = r908308 + r908311;
        return r908312;
}

double f(double x, double y, double z, double t) {
        double r908313 = z;
        double r908314 = -7.686463608781792e-26;
        bool r908315 = r908313 <= r908314;
        double r908316 = x;
        double r908317 = y;
        double r908318 = r908317 / r908313;
        double r908319 = 3.0;
        double r908320 = r908318 / r908319;
        double r908321 = r908316 - r908320;
        double r908322 = t;
        double r908323 = r908313 * r908319;
        double r908324 = r908323 * r908317;
        double r908325 = r908322 / r908324;
        double r908326 = r908321 + r908325;
        double r908327 = 1313.6636869125539;
        bool r908328 = r908313 <= r908327;
        double r908329 = r908317 / r908323;
        double r908330 = r908316 - r908329;
        double r908331 = 1.0;
        double r908332 = r908331 / r908313;
        double r908333 = r908322 / r908319;
        double r908334 = r908317 / r908333;
        double r908335 = r908332 / r908334;
        double r908336 = r908330 + r908335;
        double r908337 = sqrt(r908319);
        double r908338 = r908322 / r908337;
        double r908339 = r908337 * r908313;
        double r908340 = r908317 * r908339;
        double r908341 = r908338 / r908340;
        double r908342 = r908330 + r908341;
        double r908343 = r908328 ? r908336 : r908342;
        double r908344 = r908315 ? r908326 : r908343;
        return r908344;
}

Error

Bits error versus x

Bits error versus y

Bits error versus z

Bits error versus t

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Target

Original3.6
Target1.9
Herbie0.4
\[\left(x - \frac{y}{z \cdot 3}\right) + \frac{\frac{t}{z \cdot 3}}{y}\]

Derivation

  1. Split input into 3 regimes
  2. if z < -7.686463608781792e-26

    1. Initial program 0.4

      \[\left(x - \frac{y}{z \cdot 3}\right) + \frac{t}{\left(z \cdot 3\right) \cdot y}\]
    2. Using strategy rm
    3. Applied associate-/r*0.4

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

    if -7.686463608781792e-26 < z < 1313.6636869125539

    1. Initial program 10.6

      \[\left(x - \frac{y}{z \cdot 3}\right) + \frac{t}{\left(z \cdot 3\right) \cdot y}\]
    2. Using strategy rm
    3. Applied associate-/r*3.4

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

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

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

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

    if 1313.6636869125539 < z

    1. Initial program 0.3

      \[\left(x - \frac{y}{z \cdot 3}\right) + \frac{t}{\left(z \cdot 3\right) \cdot y}\]
    2. Using strategy rm
    3. Applied associate-/r*1.1

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

      \[\leadsto \left(x - \frac{y}{z \cdot 3}\right) + \frac{\color{blue}{\frac{\frac{t}{z}}{3}}}{y}\]
    6. Using strategy rm
    7. Applied add-sqr-sqrt1.1

      \[\leadsto \left(x - \frac{y}{z \cdot 3}\right) + \frac{\frac{\frac{t}{z}}{\color{blue}{\sqrt{3} \cdot \sqrt{3}}}}{y}\]
    8. Applied div-inv1.1

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

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

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

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

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

Reproduce

herbie shell --seed 2019362 
(FPCore (x y z t)
  :name "Diagrams.Solve.Polynomial:cubForm  from diagrams-solve-0.1, H"
  :precision binary64

  :herbie-target
  (+ (- x (/ y (* z 3))) (/ (/ t (* z 3)) y))

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