Average Error: 20.3 → 8.8
Time: 19.2s
Precision: 64
\[\frac{\left(\left(x \cdot 9\right) \cdot y - \left(\left(z \cdot 4\right) \cdot t\right) \cdot a\right) + b}{z \cdot c}\]
\[\begin{array}{l} \mathbf{if}\;\left(x \cdot 9\right) \cdot y \le -7.169587714961531472534492831676192257356 \cdot 10^{216}:\\ \;\;\;\;\left(\frac{b}{c \cdot z} + \left(\frac{x}{z} \cdot \frac{y}{c}\right) \cdot 9\right) - 4 \cdot \frac{t}{\frac{c}{a}}\\ \mathbf{elif}\;\left(x \cdot 9\right) \cdot y \le -1272864.31622410751879215240478515625:\\ \;\;\;\;\left(9 \cdot \frac{y \cdot x}{c \cdot z} + \frac{\sqrt[3]{b} \cdot \sqrt[3]{b}}{z} \cdot \frac{\sqrt[3]{b}}{c}\right) - \left(t \cdot \frac{a}{c}\right) \cdot 4\\ \mathbf{elif}\;\left(x \cdot 9\right) \cdot y \le -1.307634149043525719112723879745698901365 \cdot 10^{-232}:\\ \;\;\;\;\frac{1}{\frac{c}{\frac{\left(x \cdot 9\right) \cdot y + b}{z} - \left(4 \cdot a\right) \cdot t}}\\ \mathbf{elif}\;\left(x \cdot 9\right) \cdot y \le 2.692076446767464273891980102672595792998 \cdot 10^{239}:\\ \;\;\;\;\left(9 \cdot \frac{y \cdot x}{c \cdot z} + \frac{\sqrt[3]{b} \cdot \sqrt[3]{b}}{z} \cdot \frac{\sqrt[3]{b}}{c}\right) - \left(t \cdot \frac{a}{c}\right) \cdot 4\\ \mathbf{else}:\\ \;\;\;\;\left(\frac{b}{c \cdot z} + \left(\frac{x}{z} \cdot \frac{y}{c}\right) \cdot 9\right) - 4 \cdot \frac{t}{\frac{c}{a}}\\ \end{array}\]
\frac{\left(\left(x \cdot 9\right) \cdot y - \left(\left(z \cdot 4\right) \cdot t\right) \cdot a\right) + b}{z \cdot c}
\begin{array}{l}
\mathbf{if}\;\left(x \cdot 9\right) \cdot y \le -7.169587714961531472534492831676192257356 \cdot 10^{216}:\\
\;\;\;\;\left(\frac{b}{c \cdot z} + \left(\frac{x}{z} \cdot \frac{y}{c}\right) \cdot 9\right) - 4 \cdot \frac{t}{\frac{c}{a}}\\

\mathbf{elif}\;\left(x \cdot 9\right) \cdot y \le -1272864.31622410751879215240478515625:\\
\;\;\;\;\left(9 \cdot \frac{y \cdot x}{c \cdot z} + \frac{\sqrt[3]{b} \cdot \sqrt[3]{b}}{z} \cdot \frac{\sqrt[3]{b}}{c}\right) - \left(t \cdot \frac{a}{c}\right) \cdot 4\\

\mathbf{elif}\;\left(x \cdot 9\right) \cdot y \le -1.307634149043525719112723879745698901365 \cdot 10^{-232}:\\
\;\;\;\;\frac{1}{\frac{c}{\frac{\left(x \cdot 9\right) \cdot y + b}{z} - \left(4 \cdot a\right) \cdot t}}\\

\mathbf{elif}\;\left(x \cdot 9\right) \cdot y \le 2.692076446767464273891980102672595792998 \cdot 10^{239}:\\
\;\;\;\;\left(9 \cdot \frac{y \cdot x}{c \cdot z} + \frac{\sqrt[3]{b} \cdot \sqrt[3]{b}}{z} \cdot \frac{\sqrt[3]{b}}{c}\right) - \left(t \cdot \frac{a}{c}\right) \cdot 4\\

\mathbf{else}:\\
\;\;\;\;\left(\frac{b}{c \cdot z} + \left(\frac{x}{z} \cdot \frac{y}{c}\right) \cdot 9\right) - 4 \cdot \frac{t}{\frac{c}{a}}\\

\end{array}
double f(double x, double y, double z, double t, double a, double b, double c) {
        double r38326486 = x;
        double r38326487 = 9.0;
        double r38326488 = r38326486 * r38326487;
        double r38326489 = y;
        double r38326490 = r38326488 * r38326489;
        double r38326491 = z;
        double r38326492 = 4.0;
        double r38326493 = r38326491 * r38326492;
        double r38326494 = t;
        double r38326495 = r38326493 * r38326494;
        double r38326496 = a;
        double r38326497 = r38326495 * r38326496;
        double r38326498 = r38326490 - r38326497;
        double r38326499 = b;
        double r38326500 = r38326498 + r38326499;
        double r38326501 = c;
        double r38326502 = r38326491 * r38326501;
        double r38326503 = r38326500 / r38326502;
        return r38326503;
}

double f(double x, double y, double z, double t, double a, double b, double c) {
        double r38326504 = x;
        double r38326505 = 9.0;
        double r38326506 = r38326504 * r38326505;
        double r38326507 = y;
        double r38326508 = r38326506 * r38326507;
        double r38326509 = -7.169587714961531e+216;
        bool r38326510 = r38326508 <= r38326509;
        double r38326511 = b;
        double r38326512 = c;
        double r38326513 = z;
        double r38326514 = r38326512 * r38326513;
        double r38326515 = r38326511 / r38326514;
        double r38326516 = r38326504 / r38326513;
        double r38326517 = r38326507 / r38326512;
        double r38326518 = r38326516 * r38326517;
        double r38326519 = r38326518 * r38326505;
        double r38326520 = r38326515 + r38326519;
        double r38326521 = 4.0;
        double r38326522 = t;
        double r38326523 = a;
        double r38326524 = r38326512 / r38326523;
        double r38326525 = r38326522 / r38326524;
        double r38326526 = r38326521 * r38326525;
        double r38326527 = r38326520 - r38326526;
        double r38326528 = -1272864.3162241075;
        bool r38326529 = r38326508 <= r38326528;
        double r38326530 = r38326507 * r38326504;
        double r38326531 = r38326530 / r38326514;
        double r38326532 = r38326505 * r38326531;
        double r38326533 = cbrt(r38326511);
        double r38326534 = r38326533 * r38326533;
        double r38326535 = r38326534 / r38326513;
        double r38326536 = r38326533 / r38326512;
        double r38326537 = r38326535 * r38326536;
        double r38326538 = r38326532 + r38326537;
        double r38326539 = r38326523 / r38326512;
        double r38326540 = r38326522 * r38326539;
        double r38326541 = r38326540 * r38326521;
        double r38326542 = r38326538 - r38326541;
        double r38326543 = -1.3076341490435257e-232;
        bool r38326544 = r38326508 <= r38326543;
        double r38326545 = 1.0;
        double r38326546 = r38326508 + r38326511;
        double r38326547 = r38326546 / r38326513;
        double r38326548 = r38326521 * r38326523;
        double r38326549 = r38326548 * r38326522;
        double r38326550 = r38326547 - r38326549;
        double r38326551 = r38326512 / r38326550;
        double r38326552 = r38326545 / r38326551;
        double r38326553 = 2.6920764467674643e+239;
        bool r38326554 = r38326508 <= r38326553;
        double r38326555 = r38326554 ? r38326542 : r38326527;
        double r38326556 = r38326544 ? r38326552 : r38326555;
        double r38326557 = r38326529 ? r38326542 : r38326556;
        double r38326558 = r38326510 ? r38326527 : r38326557;
        return r38326558;
}

Error

Bits error versus x

Bits error versus y

Bits error versus z

Bits error versus t

Bits error versus a

Bits error versus b

Bits error versus c

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Target

Original20.3
Target14.1
Herbie8.8
\[\begin{array}{l} \mathbf{if}\;\frac{\left(\left(x \cdot 9\right) \cdot y - \left(\left(z \cdot 4\right) \cdot t\right) \cdot a\right) + b}{z \cdot c} \lt -1.100156740804104887233830094663413900721 \cdot 10^{-171}:\\ \;\;\;\;\frac{\left(\left(x \cdot 9\right) \cdot y - \left(z \cdot 4\right) \cdot \left(t \cdot a\right)\right) + b}{z \cdot c}\\ \mathbf{elif}\;\frac{\left(\left(x \cdot 9\right) \cdot y - \left(\left(z \cdot 4\right) \cdot t\right) \cdot a\right) + b}{z \cdot c} \lt -0.0:\\ \;\;\;\;\frac{\frac{\left(\left(x \cdot 9\right) \cdot y - \left(\left(z \cdot 4\right) \cdot t\right) \cdot a\right) + b}{z}}{c}\\ \mathbf{elif}\;\frac{\left(\left(x \cdot 9\right) \cdot y - \left(\left(z \cdot 4\right) \cdot t\right) \cdot a\right) + b}{z \cdot c} \lt 1.170887791174748819600820354912645756062 \cdot 10^{-53}:\\ \;\;\;\;\frac{\left(\left(x \cdot 9\right) \cdot y - \left(z \cdot 4\right) \cdot \left(t \cdot a\right)\right) + b}{z \cdot c}\\ \mathbf{elif}\;\frac{\left(\left(x \cdot 9\right) \cdot y - \left(\left(z \cdot 4\right) \cdot t\right) \cdot a\right) + b}{z \cdot c} \lt 2.876823679546137226963937101710277849382 \cdot 10^{130}:\\ \;\;\;\;\left(\left(9 \cdot \frac{y}{c}\right) \cdot \frac{x}{z} + \frac{b}{c \cdot z}\right) - 4 \cdot \frac{a \cdot t}{c}\\ \mathbf{elif}\;\frac{\left(\left(x \cdot 9\right) \cdot y - \left(\left(z \cdot 4\right) \cdot t\right) \cdot a\right) + b}{z \cdot c} \lt 1.383851504245631860711731716196098366993 \cdot 10^{158}:\\ \;\;\;\;\frac{\left(\left(x \cdot 9\right) \cdot y - \left(z \cdot 4\right) \cdot \left(t \cdot a\right)\right) + b}{z \cdot c}\\ \mathbf{else}:\\ \;\;\;\;\left(9 \cdot \left(\frac{y}{c \cdot z} \cdot x\right) + \frac{b}{c \cdot z}\right) - 4 \cdot \frac{a \cdot t}{c}\\ \end{array}\]

Derivation

  1. Split input into 3 regimes
  2. if (* (* x 9.0) y) < -7.169587714961531e+216 or 2.6920764467674643e+239 < (* (* x 9.0) y)

    1. Initial program 45.1

      \[\frac{\left(\left(x \cdot 9\right) \cdot y - \left(\left(z \cdot 4\right) \cdot t\right) \cdot a\right) + b}{z \cdot c}\]
    2. Simplified44.4

      \[\leadsto \color{blue}{\frac{\frac{\left(x \cdot 9\right) \cdot y + b}{z} - \left(4 \cdot a\right) \cdot t}{c}}\]
    3. Taylor expanded around 0 40.0

      \[\leadsto \color{blue}{\left(9 \cdot \frac{x \cdot y}{z \cdot c} + \frac{b}{z \cdot c}\right) - 4 \cdot \frac{t \cdot a}{c}}\]
    4. Using strategy rm
    5. Applied associate-/l*38.5

      \[\leadsto \left(9 \cdot \frac{x \cdot y}{z \cdot c} + \frac{b}{z \cdot c}\right) - 4 \cdot \color{blue}{\frac{t}{\frac{c}{a}}}\]
    6. Using strategy rm
    7. Applied times-frac10.1

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

    if -7.169587714961531e+216 < (* (* x 9.0) y) < -1272864.3162241075 or -1.3076341490435257e-232 < (* (* x 9.0) y) < 2.6920764467674643e+239

    1. Initial program 17.0

      \[\frac{\left(\left(x \cdot 9\right) \cdot y - \left(\left(z \cdot 4\right) \cdot t\right) \cdot a\right) + b}{z \cdot c}\]
    2. Simplified9.3

      \[\leadsto \color{blue}{\frac{\frac{\left(x \cdot 9\right) \cdot y + b}{z} - \left(4 \cdot a\right) \cdot t}{c}}\]
    3. Taylor expanded around 0 7.7

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

      \[\leadsto \left(9 \cdot \frac{x \cdot y}{z \cdot c} + \frac{b}{z \cdot c}\right) - 4 \cdot \frac{t \cdot a}{\color{blue}{1 \cdot c}}\]
    6. Applied times-frac7.6

      \[\leadsto \left(9 \cdot \frac{x \cdot y}{z \cdot c} + \frac{b}{z \cdot c}\right) - 4 \cdot \color{blue}{\left(\frac{t}{1} \cdot \frac{a}{c}\right)}\]
    7. Simplified7.6

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

      \[\leadsto \left(9 \cdot \frac{x \cdot y}{z \cdot c} + \frac{\color{blue}{\left(\sqrt[3]{b} \cdot \sqrt[3]{b}\right) \cdot \sqrt[3]{b}}}{z \cdot c}\right) - 4 \cdot \left(t \cdot \frac{a}{c}\right)\]
    10. Applied times-frac8.9

      \[\leadsto \left(9 \cdot \frac{x \cdot y}{z \cdot c} + \color{blue}{\frac{\sqrt[3]{b} \cdot \sqrt[3]{b}}{z} \cdot \frac{\sqrt[3]{b}}{c}}\right) - 4 \cdot \left(t \cdot \frac{a}{c}\right)\]

    if -1272864.3162241075 < (* (* x 9.0) y) < -1.3076341490435257e-232

    1. Initial program 15.5

      \[\frac{\left(\left(x \cdot 9\right) \cdot y - \left(\left(z \cdot 4\right) \cdot t\right) \cdot a\right) + b}{z \cdot c}\]
    2. Simplified6.9

      \[\leadsto \color{blue}{\frac{\frac{\left(x \cdot 9\right) \cdot y + b}{z} - \left(4 \cdot a\right) \cdot t}{c}}\]
    3. Using strategy rm
    4. Applied clear-num7.2

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

    \[\leadsto \begin{array}{l} \mathbf{if}\;\left(x \cdot 9\right) \cdot y \le -7.169587714961531472534492831676192257356 \cdot 10^{216}:\\ \;\;\;\;\left(\frac{b}{c \cdot z} + \left(\frac{x}{z} \cdot \frac{y}{c}\right) \cdot 9\right) - 4 \cdot \frac{t}{\frac{c}{a}}\\ \mathbf{elif}\;\left(x \cdot 9\right) \cdot y \le -1272864.31622410751879215240478515625:\\ \;\;\;\;\left(9 \cdot \frac{y \cdot x}{c \cdot z} + \frac{\sqrt[3]{b} \cdot \sqrt[3]{b}}{z} \cdot \frac{\sqrt[3]{b}}{c}\right) - \left(t \cdot \frac{a}{c}\right) \cdot 4\\ \mathbf{elif}\;\left(x \cdot 9\right) \cdot y \le -1.307634149043525719112723879745698901365 \cdot 10^{-232}:\\ \;\;\;\;\frac{1}{\frac{c}{\frac{\left(x \cdot 9\right) \cdot y + b}{z} - \left(4 \cdot a\right) \cdot t}}\\ \mathbf{elif}\;\left(x \cdot 9\right) \cdot y \le 2.692076446767464273891980102672595792998 \cdot 10^{239}:\\ \;\;\;\;\left(9 \cdot \frac{y \cdot x}{c \cdot z} + \frac{\sqrt[3]{b} \cdot \sqrt[3]{b}}{z} \cdot \frac{\sqrt[3]{b}}{c}\right) - \left(t \cdot \frac{a}{c}\right) \cdot 4\\ \mathbf{else}:\\ \;\;\;\;\left(\frac{b}{c \cdot z} + \left(\frac{x}{z} \cdot \frac{y}{c}\right) \cdot 9\right) - 4 \cdot \frac{t}{\frac{c}{a}}\\ \end{array}\]

Reproduce

herbie shell --seed 2019179 
(FPCore (x y z t a b c)
  :name "Diagrams.Solve.Polynomial:cubForm  from diagrams-solve-0.1, J"

  :herbie-target
  (if (< (/ (+ (- (* (* x 9.0) y) (* (* (* z 4.0) t) a)) b) (* z c)) -1.100156740804105e-171) (/ (+ (- (* (* x 9.0) y) (* (* z 4.0) (* t a))) b) (* z c)) (if (< (/ (+ (- (* (* x 9.0) y) (* (* (* z 4.0) t) a)) b) (* z c)) -0.0) (/ (/ (+ (- (* (* x 9.0) y) (* (* (* z 4.0) t) a)) b) z) c) (if (< (/ (+ (- (* (* x 9.0) y) (* (* (* z 4.0) t) a)) b) (* z c)) 1.1708877911747488e-53) (/ (+ (- (* (* x 9.0) y) (* (* z 4.0) (* t a))) b) (* z c)) (if (< (/ (+ (- (* (* x 9.0) y) (* (* (* z 4.0) t) a)) b) (* z c)) 2.876823679546137e+130) (- (+ (* (* 9.0 (/ y c)) (/ x z)) (/ b (* c z))) (* 4.0 (/ (* a t) c))) (if (< (/ (+ (- (* (* x 9.0) y) (* (* (* z 4.0) t) a)) b) (* z c)) 1.3838515042456319e+158) (/ (+ (- (* (* x 9.0) y) (* (* z 4.0) (* t a))) b) (* z c)) (- (+ (* 9.0 (* (/ y (* c z)) x)) (/ b (* c z))) (* 4.0 (/ (* a t) c))))))))

  (/ (+ (- (* (* x 9.0) y) (* (* (* z 4.0) t) a)) b) (* z c)))