Average Error: 20.7 → 6.4
Time: 19.4s
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}{z \cdot c} \le -4.310655787273717085626057165340673522926 \cdot 10^{307}:\\ \;\;\;\;\left(9 \cdot \frac{1}{\frac{\frac{z \cdot c}{y}}{x}} + \frac{b}{z \cdot c}\right) - 4 \cdot \frac{t \cdot a}{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} \le -5.714617762619817600956632832341409108159 \cdot 10^{-177}:\\ \;\;\;\;\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}\\ \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} \le 1.508521702468635068346725200584782078703 \cdot 10^{-260}:\\ \;\;\;\;\frac{\frac{b + 9 \cdot \left(x \cdot y\right)}{z} - a \cdot \left(4 \cdot t\right)}{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} \le 6.624712766971525157760939835591736702834 \cdot 10^{252}:\\ \;\;\;\;\left(9 \cdot \frac{x}{\frac{z \cdot c}{y}} + \frac{b}{z \cdot c}\right) - 4 \cdot \frac{1}{\frac{\frac{c}{t}}{a}}\\ \mathbf{else}:\\ \;\;\;\;\left(9 \cdot \left(\frac{x}{z} \cdot \frac{y}{c}\right) + \frac{b}{z \cdot c}\right) - 4 \cdot \frac{t \cdot a}{c}\\ \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}{z \cdot c} \le -4.310655787273717085626057165340673522926 \cdot 10^{307}:\\
\;\;\;\;\left(9 \cdot \frac{1}{\frac{\frac{z \cdot c}{y}}{x}} + \frac{b}{z \cdot c}\right) - 4 \cdot \frac{t \cdot a}{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} \le -5.714617762619817600956632832341409108159 \cdot 10^{-177}:\\
\;\;\;\;\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}\\

\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} \le 1.508521702468635068346725200584782078703 \cdot 10^{-260}:\\
\;\;\;\;\frac{\frac{b + 9 \cdot \left(x \cdot y\right)}{z} - a \cdot \left(4 \cdot t\right)}{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} \le 6.624712766971525157760939835591736702834 \cdot 10^{252}:\\
\;\;\;\;\left(9 \cdot \frac{x}{\frac{z \cdot c}{y}} + \frac{b}{z \cdot c}\right) - 4 \cdot \frac{1}{\frac{\frac{c}{t}}{a}}\\

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

\end{array}
double f(double x, double y, double z, double t, double a, double b, double c) {
        double r49098851 = x;
        double r49098852 = 9.0;
        double r49098853 = r49098851 * r49098852;
        double r49098854 = y;
        double r49098855 = r49098853 * r49098854;
        double r49098856 = z;
        double r49098857 = 4.0;
        double r49098858 = r49098856 * r49098857;
        double r49098859 = t;
        double r49098860 = r49098858 * r49098859;
        double r49098861 = a;
        double r49098862 = r49098860 * r49098861;
        double r49098863 = r49098855 - r49098862;
        double r49098864 = b;
        double r49098865 = r49098863 + r49098864;
        double r49098866 = c;
        double r49098867 = r49098856 * r49098866;
        double r49098868 = r49098865 / r49098867;
        return r49098868;
}

double f(double x, double y, double z, double t, double a, double b, double c) {
        double r49098869 = x;
        double r49098870 = 9.0;
        double r49098871 = r49098869 * r49098870;
        double r49098872 = y;
        double r49098873 = r49098871 * r49098872;
        double r49098874 = z;
        double r49098875 = 4.0;
        double r49098876 = r49098874 * r49098875;
        double r49098877 = t;
        double r49098878 = r49098876 * r49098877;
        double r49098879 = a;
        double r49098880 = r49098878 * r49098879;
        double r49098881 = r49098873 - r49098880;
        double r49098882 = b;
        double r49098883 = r49098881 + r49098882;
        double r49098884 = c;
        double r49098885 = r49098874 * r49098884;
        double r49098886 = r49098883 / r49098885;
        double r49098887 = -4.310655787273717e+307;
        bool r49098888 = r49098886 <= r49098887;
        double r49098889 = 1.0;
        double r49098890 = r49098885 / r49098872;
        double r49098891 = r49098890 / r49098869;
        double r49098892 = r49098889 / r49098891;
        double r49098893 = r49098870 * r49098892;
        double r49098894 = r49098882 / r49098885;
        double r49098895 = r49098893 + r49098894;
        double r49098896 = r49098877 * r49098879;
        double r49098897 = r49098896 / r49098884;
        double r49098898 = r49098875 * r49098897;
        double r49098899 = r49098895 - r49098898;
        double r49098900 = -5.714617762619818e-177;
        bool r49098901 = r49098886 <= r49098900;
        double r49098902 = 1.508521702468635e-260;
        bool r49098903 = r49098886 <= r49098902;
        double r49098904 = r49098869 * r49098872;
        double r49098905 = r49098870 * r49098904;
        double r49098906 = r49098882 + r49098905;
        double r49098907 = r49098906 / r49098874;
        double r49098908 = r49098875 * r49098877;
        double r49098909 = r49098879 * r49098908;
        double r49098910 = r49098907 - r49098909;
        double r49098911 = r49098910 / r49098884;
        double r49098912 = 6.624712766971525e+252;
        bool r49098913 = r49098886 <= r49098912;
        double r49098914 = r49098869 / r49098890;
        double r49098915 = r49098870 * r49098914;
        double r49098916 = r49098915 + r49098894;
        double r49098917 = r49098884 / r49098877;
        double r49098918 = r49098917 / r49098879;
        double r49098919 = r49098889 / r49098918;
        double r49098920 = r49098875 * r49098919;
        double r49098921 = r49098916 - r49098920;
        double r49098922 = r49098869 / r49098874;
        double r49098923 = r49098872 / r49098884;
        double r49098924 = r49098922 * r49098923;
        double r49098925 = r49098870 * r49098924;
        double r49098926 = r49098925 + r49098894;
        double r49098927 = r49098926 - r49098898;
        double r49098928 = r49098913 ? r49098921 : r49098927;
        double r49098929 = r49098903 ? r49098911 : r49098928;
        double r49098930 = r49098901 ? r49098886 : r49098929;
        double r49098931 = r49098888 ? r49098899 : r49098930;
        return r49098931;
}

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.7
Target14.5
Herbie6.4
\[\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 5 regimes
  2. if (/ (+ (- (* (* x 9.0) y) (* (* (* z 4.0) t) a)) b) (* z c)) < -4.310655787273717e+307

    1. Initial program 63.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. Simplified29.0

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

      \[\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*15.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 clear-num15.6

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

    if -4.310655787273717e+307 < (/ (+ (- (* (* x 9.0) y) (* (* (* z 4.0) t) a)) b) (* z c)) < -5.714617762619818e-177

    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 -5.714617762619818e-177 < (/ (+ (- (* (* x 9.0) y) (* (* (* z 4.0) t) a)) b) (* z c)) < 1.508521702468635e-260

    1. Initial program 30.8

      \[\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. Simplified0.7

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

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

    if 1.508521702468635e-260 < (/ (+ (- (* (* x 9.0) y) (* (* (* z 4.0) t) a)) b) (* z c)) < 6.624712766971525e+252

    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}\]
    2. Simplified8.6

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

      \[\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*4.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 clear-num4.7

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

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

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

    1. Initial program 53.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}\]
    2. Simplified26.3

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

      \[\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 times-frac17.2

      \[\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 \cdot a}{c}\]
  3. Recombined 5 regimes into one program.
  4. Final simplification6.4

    \[\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}{z \cdot c} \le -4.310655787273717085626057165340673522926 \cdot 10^{307}:\\ \;\;\;\;\left(9 \cdot \frac{1}{\frac{\frac{z \cdot c}{y}}{x}} + \frac{b}{z \cdot c}\right) - 4 \cdot \frac{t \cdot a}{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} \le -5.714617762619817600956632832341409108159 \cdot 10^{-177}:\\ \;\;\;\;\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}\\ \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} \le 1.508521702468635068346725200584782078703 \cdot 10^{-260}:\\ \;\;\;\;\frac{\frac{b + 9 \cdot \left(x \cdot y\right)}{z} - a \cdot \left(4 \cdot t\right)}{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} \le 6.624712766971525157760939835591736702834 \cdot 10^{252}:\\ \;\;\;\;\left(9 \cdot \frac{x}{\frac{z \cdot c}{y}} + \frac{b}{z \cdot c}\right) - 4 \cdot \frac{1}{\frac{\frac{c}{t}}{a}}\\ \mathbf{else}:\\ \;\;\;\;\left(9 \cdot \left(\frac{x}{z} \cdot \frac{y}{c}\right) + \frac{b}{z \cdot c}\right) - 4 \cdot \frac{t \cdot a}{c}\\ \end{array}\]

Reproduce

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