Average Error: 20.6 → 5.1
Time: 21.6s
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}\;\frac{\left(\left(x \cdot 9\right) \cdot y - \left(\left(z \cdot 4\right) \cdot t\right) \cdot a\right) + b}{c \cdot z} \le -1.813370883718299285387959113591105561862 \cdot 10^{71}:\\ \;\;\;\;\left(\frac{b}{c \cdot z} + \frac{x}{\frac{c \cdot z}{y}} \cdot 9\right) - \left(\frac{1}{c} \cdot \left(t \cdot a\right)\right) \cdot 4\\ \mathbf{elif}\;\frac{\left(\left(x \cdot 9\right) \cdot y - \left(\left(z \cdot 4\right) \cdot t\right) \cdot a\right) + b}{c \cdot z} \le 6.71719399387071399742261734584069163283 \cdot 10^{-266}:\\ \;\;\;\;\frac{\frac{1}{z} \cdot \left(\left(x \cdot 9\right) \cdot y + b\right) - \left(a \cdot 4\right) \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}{c \cdot z} \le 2.621452537176748546055737053625009593514 \cdot 10^{285}:\\ \;\;\;\;\frac{\left(\left(x \cdot 9\right) \cdot y - \left(\left(z \cdot 4\right) \cdot t\right) \cdot a\right) + b}{c \cdot z}\\ \mathbf{else}:\\ \;\;\;\;\left(\frac{x}{z \cdot \frac{c}{y}} \cdot 9 + \frac{b}{c \cdot z}\right) - \left(\frac{a}{c} \cdot t\right) \cdot 4\\ \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}\;\frac{\left(\left(x \cdot 9\right) \cdot y - \left(\left(z \cdot 4\right) \cdot t\right) \cdot a\right) + b}{c \cdot z} \le -1.813370883718299285387959113591105561862 \cdot 10^{71}:\\
\;\;\;\;\left(\frac{b}{c \cdot z} + \frac{x}{\frac{c \cdot z}{y}} \cdot 9\right) - \left(\frac{1}{c} \cdot \left(t \cdot a\right)\right) \cdot 4\\

\mathbf{elif}\;\frac{\left(\left(x \cdot 9\right) \cdot y - \left(\left(z \cdot 4\right) \cdot t\right) \cdot a\right) + b}{c \cdot z} \le 6.71719399387071399742261734584069163283 \cdot 10^{-266}:\\
\;\;\;\;\frac{\frac{1}{z} \cdot \left(\left(x \cdot 9\right) \cdot y + b\right) - \left(a \cdot 4\right) \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}{c \cdot z} \le 2.621452537176748546055737053625009593514 \cdot 10^{285}:\\
\;\;\;\;\frac{\left(\left(x \cdot 9\right) \cdot y - \left(\left(z \cdot 4\right) \cdot t\right) \cdot a\right) + b}{c \cdot z}\\

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

\end{array}
double f(double x, double y, double z, double t, double a, double b, double c) {
        double r44613746 = x;
        double r44613747 = 9.0;
        double r44613748 = r44613746 * r44613747;
        double r44613749 = y;
        double r44613750 = r44613748 * r44613749;
        double r44613751 = z;
        double r44613752 = 4.0;
        double r44613753 = r44613751 * r44613752;
        double r44613754 = t;
        double r44613755 = r44613753 * r44613754;
        double r44613756 = a;
        double r44613757 = r44613755 * r44613756;
        double r44613758 = r44613750 - r44613757;
        double r44613759 = b;
        double r44613760 = r44613758 + r44613759;
        double r44613761 = c;
        double r44613762 = r44613751 * r44613761;
        double r44613763 = r44613760 / r44613762;
        return r44613763;
}

double f(double x, double y, double z, double t, double a, double b, double c) {
        double r44613764 = x;
        double r44613765 = 9.0;
        double r44613766 = r44613764 * r44613765;
        double r44613767 = y;
        double r44613768 = r44613766 * r44613767;
        double r44613769 = z;
        double r44613770 = 4.0;
        double r44613771 = r44613769 * r44613770;
        double r44613772 = t;
        double r44613773 = r44613771 * r44613772;
        double r44613774 = a;
        double r44613775 = r44613773 * r44613774;
        double r44613776 = r44613768 - r44613775;
        double r44613777 = b;
        double r44613778 = r44613776 + r44613777;
        double r44613779 = c;
        double r44613780 = r44613779 * r44613769;
        double r44613781 = r44613778 / r44613780;
        double r44613782 = -1.8133708837182993e+71;
        bool r44613783 = r44613781 <= r44613782;
        double r44613784 = r44613777 / r44613780;
        double r44613785 = r44613780 / r44613767;
        double r44613786 = r44613764 / r44613785;
        double r44613787 = r44613786 * r44613765;
        double r44613788 = r44613784 + r44613787;
        double r44613789 = 1.0;
        double r44613790 = r44613789 / r44613779;
        double r44613791 = r44613772 * r44613774;
        double r44613792 = r44613790 * r44613791;
        double r44613793 = r44613792 * r44613770;
        double r44613794 = r44613788 - r44613793;
        double r44613795 = 6.717193993870714e-266;
        bool r44613796 = r44613781 <= r44613795;
        double r44613797 = r44613789 / r44613769;
        double r44613798 = r44613768 + r44613777;
        double r44613799 = r44613797 * r44613798;
        double r44613800 = r44613774 * r44613770;
        double r44613801 = r44613800 * r44613772;
        double r44613802 = r44613799 - r44613801;
        double r44613803 = r44613802 / r44613779;
        double r44613804 = 2.6214525371767485e+285;
        bool r44613805 = r44613781 <= r44613804;
        double r44613806 = r44613779 / r44613767;
        double r44613807 = r44613769 * r44613806;
        double r44613808 = r44613764 / r44613807;
        double r44613809 = r44613808 * r44613765;
        double r44613810 = r44613809 + r44613784;
        double r44613811 = r44613774 / r44613779;
        double r44613812 = r44613811 * r44613772;
        double r44613813 = r44613812 * r44613770;
        double r44613814 = r44613810 - r44613813;
        double r44613815 = r44613805 ? r44613781 : r44613814;
        double r44613816 = r44613796 ? r44613803 : r44613815;
        double r44613817 = r44613783 ? r44613794 : r44613816;
        return r44613817;
}

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.6
Target14.8
Herbie5.1
\[\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 4 regimes
  2. if (/ (+ (- (* (* x 9.0) y) (* (* (* z 4.0) t) a)) b) (* z c)) < -1.8133708837182993e+71

    1. Initial program 20.3

      \[\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. Simplified20.0

      \[\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 12.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*9.6

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

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

    if -1.8133708837182993e+71 < (/ (+ (- (* (* x 9.0) y) (* (* (* z 4.0) t) a)) b) (* z c)) < 6.717193993870714e-266

    1. Initial program 16.4

      \[\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. Simplified1.5

      \[\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 div-inv1.6

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

    if 6.717193993870714e-266 < (/ (+ (- (* (* x 9.0) y) (* (* (* z 4.0) t) a)) b) (* z c)) < 2.6214525371767485e+285

    1. Initial program 0.7

      \[\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}\]

    if 2.6214525371767485e+285 < (/ (+ (- (* (* x 9.0) y) (* (* (* z 4.0) t) a)) b) (* z c))

    1. Initial program 59.6

      \[\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. Simplified27.0

      \[\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 29.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*21.1

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

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

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

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

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

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

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

    \[\leadsto \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}{c \cdot z} \le -1.813370883718299285387959113591105561862 \cdot 10^{71}:\\ \;\;\;\;\left(\frac{b}{c \cdot z} + \frac{x}{\frac{c \cdot z}{y}} \cdot 9\right) - \left(\frac{1}{c} \cdot \left(t \cdot a\right)\right) \cdot 4\\ \mathbf{elif}\;\frac{\left(\left(x \cdot 9\right) \cdot y - \left(\left(z \cdot 4\right) \cdot t\right) \cdot a\right) + b}{c \cdot z} \le 6.71719399387071399742261734584069163283 \cdot 10^{-266}:\\ \;\;\;\;\frac{\frac{1}{z} \cdot \left(\left(x \cdot 9\right) \cdot y + b\right) - \left(a \cdot 4\right) \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}{c \cdot z} \le 2.621452537176748546055737053625009593514 \cdot 10^{285}:\\ \;\;\;\;\frac{\left(\left(x \cdot 9\right) \cdot y - \left(\left(z \cdot 4\right) \cdot t\right) \cdot a\right) + b}{c \cdot z}\\ \mathbf{else}:\\ \;\;\;\;\left(\frac{x}{z \cdot \frac{c}{y}} \cdot 9 + \frac{b}{c \cdot z}\right) - \left(\frac{a}{c} \cdot t\right) \cdot 4\\ \end{array}\]

Reproduce

herbie shell --seed 2019171 
(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)))