Average Error: 5.3 → 3.8
Time: 30.2s
Precision: 64
\[\left(\left(\left(\left(\left(\left(x \cdot 18\right) \cdot y\right) \cdot z\right) \cdot t - \left(a \cdot 4\right) \cdot t\right) + b \cdot c\right) - \left(x \cdot 4\right) \cdot i\right) - \left(j \cdot 27\right) \cdot k\]
\[\begin{array}{l} \mathbf{if}\;x \le -3.852801213810551454306858851667836070232 \cdot 10^{-73}:\\ \;\;\;\;\left(\left(b \cdot c + \left(18 \cdot \left(t \cdot \left(x \cdot \left(z \cdot y\right)\right)\right) - 4 \cdot \left(t \cdot a\right)\right)\right) - \left(x \cdot 4\right) \cdot i\right) - j \cdot \left(27 \cdot k\right)\\ \mathbf{elif}\;x \le 55609495143115152:\\ \;\;\;\;\left(\left(\left(\left(\left(\left(x \cdot 18\right) \cdot y\right) \cdot z\right) \cdot t - 4 \cdot \left(t \cdot a\right)\right) + b \cdot c\right) - \left(x \cdot 4\right) \cdot i\right) - 27 \cdot \left(k \cdot j\right)\\ \mathbf{else}:\\ \;\;\;\;\left(\left(\left(\left(\left(x \cdot 18\right) \cdot y\right) \cdot \left(z \cdot t\right) - 4 \cdot \left(t \cdot a\right)\right) + b \cdot c\right) - \left(x \cdot 4\right) \cdot i\right) - j \cdot \left(27 \cdot k\right)\\ \end{array}\]
\left(\left(\left(\left(\left(\left(x \cdot 18\right) \cdot y\right) \cdot z\right) \cdot t - \left(a \cdot 4\right) \cdot t\right) + b \cdot c\right) - \left(x \cdot 4\right) \cdot i\right) - \left(j \cdot 27\right) \cdot k
\begin{array}{l}
\mathbf{if}\;x \le -3.852801213810551454306858851667836070232 \cdot 10^{-73}:\\
\;\;\;\;\left(\left(b \cdot c + \left(18 \cdot \left(t \cdot \left(x \cdot \left(z \cdot y\right)\right)\right) - 4 \cdot \left(t \cdot a\right)\right)\right) - \left(x \cdot 4\right) \cdot i\right) - j \cdot \left(27 \cdot k\right)\\

\mathbf{elif}\;x \le 55609495143115152:\\
\;\;\;\;\left(\left(\left(\left(\left(\left(x \cdot 18\right) \cdot y\right) \cdot z\right) \cdot t - 4 \cdot \left(t \cdot a\right)\right) + b \cdot c\right) - \left(x \cdot 4\right) \cdot i\right) - 27 \cdot \left(k \cdot j\right)\\

\mathbf{else}:\\
\;\;\;\;\left(\left(\left(\left(\left(x \cdot 18\right) \cdot y\right) \cdot \left(z \cdot t\right) - 4 \cdot \left(t \cdot a\right)\right) + b \cdot c\right) - \left(x \cdot 4\right) \cdot i\right) - j \cdot \left(27 \cdot k\right)\\

\end{array}
double f(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k) {
        double r496851 = x;
        double r496852 = 18.0;
        double r496853 = r496851 * r496852;
        double r496854 = y;
        double r496855 = r496853 * r496854;
        double r496856 = z;
        double r496857 = r496855 * r496856;
        double r496858 = t;
        double r496859 = r496857 * r496858;
        double r496860 = a;
        double r496861 = 4.0;
        double r496862 = r496860 * r496861;
        double r496863 = r496862 * r496858;
        double r496864 = r496859 - r496863;
        double r496865 = b;
        double r496866 = c;
        double r496867 = r496865 * r496866;
        double r496868 = r496864 + r496867;
        double r496869 = r496851 * r496861;
        double r496870 = i;
        double r496871 = r496869 * r496870;
        double r496872 = r496868 - r496871;
        double r496873 = j;
        double r496874 = 27.0;
        double r496875 = r496873 * r496874;
        double r496876 = k;
        double r496877 = r496875 * r496876;
        double r496878 = r496872 - r496877;
        return r496878;
}

double f(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k) {
        double r496879 = x;
        double r496880 = -3.8528012138105515e-73;
        bool r496881 = r496879 <= r496880;
        double r496882 = b;
        double r496883 = c;
        double r496884 = r496882 * r496883;
        double r496885 = 18.0;
        double r496886 = t;
        double r496887 = z;
        double r496888 = y;
        double r496889 = r496887 * r496888;
        double r496890 = r496879 * r496889;
        double r496891 = r496886 * r496890;
        double r496892 = r496885 * r496891;
        double r496893 = 4.0;
        double r496894 = a;
        double r496895 = r496886 * r496894;
        double r496896 = r496893 * r496895;
        double r496897 = r496892 - r496896;
        double r496898 = r496884 + r496897;
        double r496899 = r496879 * r496893;
        double r496900 = i;
        double r496901 = r496899 * r496900;
        double r496902 = r496898 - r496901;
        double r496903 = j;
        double r496904 = 27.0;
        double r496905 = k;
        double r496906 = r496904 * r496905;
        double r496907 = r496903 * r496906;
        double r496908 = r496902 - r496907;
        double r496909 = 5.560949514311515e+16;
        bool r496910 = r496879 <= r496909;
        double r496911 = r496879 * r496885;
        double r496912 = r496911 * r496888;
        double r496913 = r496912 * r496887;
        double r496914 = r496913 * r496886;
        double r496915 = r496914 - r496896;
        double r496916 = r496915 + r496884;
        double r496917 = r496916 - r496901;
        double r496918 = r496905 * r496903;
        double r496919 = r496904 * r496918;
        double r496920 = r496917 - r496919;
        double r496921 = r496887 * r496886;
        double r496922 = r496912 * r496921;
        double r496923 = r496922 - r496896;
        double r496924 = r496923 + r496884;
        double r496925 = r496924 - r496901;
        double r496926 = r496925 - r496907;
        double r496927 = r496910 ? r496920 : r496926;
        double r496928 = r496881 ? r496908 : r496927;
        return r496928;
}

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

Bits error versus i

Bits error versus j

Bits error versus k

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Target

Original5.3
Target1.6
Herbie3.8
\[\begin{array}{l} \mathbf{if}\;t \lt -1.62108153975413982700795070153457058168 \cdot 10^{-69}:\\ \;\;\;\;\left(\left(18 \cdot t\right) \cdot \left(\left(x \cdot y\right) \cdot z\right) - \left(a \cdot t + i \cdot x\right) \cdot 4\right) - \left(\left(k \cdot j\right) \cdot 27 - c \cdot b\right)\\ \mathbf{elif}\;t \lt 165.6802794380522243500308832153677940369:\\ \;\;\;\;\left(\left(18 \cdot y\right) \cdot \left(x \cdot \left(z \cdot t\right)\right) - \left(a \cdot t + i \cdot x\right) \cdot 4\right) + \left(c \cdot b - 27 \cdot \left(k \cdot j\right)\right)\\ \mathbf{else}:\\ \;\;\;\;\left(\left(18 \cdot t\right) \cdot \left(\left(x \cdot y\right) \cdot z\right) - \left(a \cdot t + i \cdot x\right) \cdot 4\right) - \left(\left(k \cdot j\right) \cdot 27 - c \cdot b\right)\\ \end{array}\]

Derivation

  1. Split input into 3 regimes
  2. if x < -3.8528012138105515e-73

    1. Initial program 9.4

      \[\left(\left(\left(\left(\left(\left(x \cdot 18\right) \cdot y\right) \cdot z\right) \cdot t - \left(a \cdot 4\right) \cdot t\right) + b \cdot c\right) - \left(x \cdot 4\right) \cdot i\right) - \left(j \cdot 27\right) \cdot k\]
    2. Using strategy rm
    3. Applied associate-*l*9.3

      \[\leadsto \left(\left(\left(\left(\left(\left(x \cdot 18\right) \cdot y\right) \cdot z\right) \cdot t - \left(a \cdot 4\right) \cdot t\right) + b \cdot c\right) - \left(x \cdot 4\right) \cdot i\right) - \color{blue}{j \cdot \left(27 \cdot k\right)}\]
    4. Using strategy rm
    5. Applied pow19.3

      \[\leadsto \left(\left(\left(\left(\left(\left(x \cdot 18\right) \cdot y\right) \cdot z\right) \cdot t - \left(a \cdot 4\right) \cdot \color{blue}{{t}^{1}}\right) + b \cdot c\right) - \left(x \cdot 4\right) \cdot i\right) - j \cdot \left(27 \cdot k\right)\]
    6. Applied pow19.3

      \[\leadsto \left(\left(\left(\left(\left(\left(x \cdot 18\right) \cdot y\right) \cdot z\right) \cdot t - \left(a \cdot \color{blue}{{4}^{1}}\right) \cdot {t}^{1}\right) + b \cdot c\right) - \left(x \cdot 4\right) \cdot i\right) - j \cdot \left(27 \cdot k\right)\]
    7. Applied pow19.3

      \[\leadsto \left(\left(\left(\left(\left(\left(x \cdot 18\right) \cdot y\right) \cdot z\right) \cdot t - \left(\color{blue}{{a}^{1}} \cdot {4}^{1}\right) \cdot {t}^{1}\right) + b \cdot c\right) - \left(x \cdot 4\right) \cdot i\right) - j \cdot \left(27 \cdot k\right)\]
    8. Applied pow-prod-down9.3

      \[\leadsto \left(\left(\left(\left(\left(\left(x \cdot 18\right) \cdot y\right) \cdot z\right) \cdot t - \color{blue}{{\left(a \cdot 4\right)}^{1}} \cdot {t}^{1}\right) + b \cdot c\right) - \left(x \cdot 4\right) \cdot i\right) - j \cdot \left(27 \cdot k\right)\]
    9. Applied pow-prod-down9.3

      \[\leadsto \left(\left(\left(\left(\left(\left(x \cdot 18\right) \cdot y\right) \cdot z\right) \cdot t - \color{blue}{{\left(\left(a \cdot 4\right) \cdot t\right)}^{1}}\right) + b \cdot c\right) - \left(x \cdot 4\right) \cdot i\right) - j \cdot \left(27 \cdot k\right)\]
    10. Simplified9.3

      \[\leadsto \left(\left(\left(\left(\left(\left(x \cdot 18\right) \cdot y\right) \cdot z\right) \cdot t - {\color{blue}{\left(4 \cdot \left(t \cdot a\right)\right)}}^{1}\right) + b \cdot c\right) - \left(x \cdot 4\right) \cdot i\right) - j \cdot \left(27 \cdot k\right)\]
    11. Taylor expanded around inf 6.2

      \[\leadsto \left(\left(\left(\color{blue}{18 \cdot \left(t \cdot \left(x \cdot \left(z \cdot y\right)\right)\right)} - {\left(4 \cdot \left(t \cdot a\right)\right)}^{1}\right) + b \cdot c\right) - \left(x \cdot 4\right) \cdot i\right) - j \cdot \left(27 \cdot k\right)\]

    if -3.8528012138105515e-73 < x < 5.560949514311515e+16

    1. Initial program 1.4

      \[\left(\left(\left(\left(\left(\left(x \cdot 18\right) \cdot y\right) \cdot z\right) \cdot t - \left(a \cdot 4\right) \cdot t\right) + b \cdot c\right) - \left(x \cdot 4\right) \cdot i\right) - \left(j \cdot 27\right) \cdot k\]
    2. Using strategy rm
    3. Applied associate-*l*1.4

      \[\leadsto \left(\left(\left(\left(\left(\left(x \cdot 18\right) \cdot y\right) \cdot z\right) \cdot t - \left(a \cdot 4\right) \cdot t\right) + b \cdot c\right) - \left(x \cdot 4\right) \cdot i\right) - \color{blue}{j \cdot \left(27 \cdot k\right)}\]
    4. Using strategy rm
    5. Applied pow11.4

      \[\leadsto \left(\left(\left(\left(\left(\left(x \cdot 18\right) \cdot y\right) \cdot z\right) \cdot t - \left(a \cdot 4\right) \cdot \color{blue}{{t}^{1}}\right) + b \cdot c\right) - \left(x \cdot 4\right) \cdot i\right) - j \cdot \left(27 \cdot k\right)\]
    6. Applied pow11.4

      \[\leadsto \left(\left(\left(\left(\left(\left(x \cdot 18\right) \cdot y\right) \cdot z\right) \cdot t - \left(a \cdot \color{blue}{{4}^{1}}\right) \cdot {t}^{1}\right) + b \cdot c\right) - \left(x \cdot 4\right) \cdot i\right) - j \cdot \left(27 \cdot k\right)\]
    7. Applied pow11.4

      \[\leadsto \left(\left(\left(\left(\left(\left(x \cdot 18\right) \cdot y\right) \cdot z\right) \cdot t - \left(\color{blue}{{a}^{1}} \cdot {4}^{1}\right) \cdot {t}^{1}\right) + b \cdot c\right) - \left(x \cdot 4\right) \cdot i\right) - j \cdot \left(27 \cdot k\right)\]
    8. Applied pow-prod-down1.4

      \[\leadsto \left(\left(\left(\left(\left(\left(x \cdot 18\right) \cdot y\right) \cdot z\right) \cdot t - \color{blue}{{\left(a \cdot 4\right)}^{1}} \cdot {t}^{1}\right) + b \cdot c\right) - \left(x \cdot 4\right) \cdot i\right) - j \cdot \left(27 \cdot k\right)\]
    9. Applied pow-prod-down1.4

      \[\leadsto \left(\left(\left(\left(\left(\left(x \cdot 18\right) \cdot y\right) \cdot z\right) \cdot t - \color{blue}{{\left(\left(a \cdot 4\right) \cdot t\right)}^{1}}\right) + b \cdot c\right) - \left(x \cdot 4\right) \cdot i\right) - j \cdot \left(27 \cdot k\right)\]
    10. Simplified1.3

      \[\leadsto \left(\left(\left(\left(\left(\left(x \cdot 18\right) \cdot y\right) \cdot z\right) \cdot t - {\color{blue}{\left(4 \cdot \left(t \cdot a\right)\right)}}^{1}\right) + b \cdot c\right) - \left(x \cdot 4\right) \cdot i\right) - j \cdot \left(27 \cdot k\right)\]
    11. Using strategy rm
    12. Applied *-un-lft-identity1.3

      \[\leadsto \left(\left(\left(\left(\left(\left(x \cdot 18\right) \cdot y\right) \cdot z\right) \cdot t - {\left(4 \cdot \left(t \cdot a\right)\right)}^{1}\right) + b \cdot c\right) - \left(x \cdot 4\right) \cdot i\right) - \color{blue}{\left(1 \cdot j\right)} \cdot \left(27 \cdot k\right)\]
    13. Applied associate-*l*1.3

      \[\leadsto \left(\left(\left(\left(\left(\left(x \cdot 18\right) \cdot y\right) \cdot z\right) \cdot t - {\left(4 \cdot \left(t \cdot a\right)\right)}^{1}\right) + b \cdot c\right) - \left(x \cdot 4\right) \cdot i\right) - \color{blue}{1 \cdot \left(j \cdot \left(27 \cdot k\right)\right)}\]
    14. Simplified1.3

      \[\leadsto \left(\left(\left(\left(\left(\left(x \cdot 18\right) \cdot y\right) \cdot z\right) \cdot t - {\left(4 \cdot \left(t \cdot a\right)\right)}^{1}\right) + b \cdot c\right) - \left(x \cdot 4\right) \cdot i\right) - 1 \cdot \color{blue}{\left(27 \cdot \left(k \cdot j\right)\right)}\]

    if 5.560949514311515e+16 < x

    1. Initial program 12.5

      \[\left(\left(\left(\left(\left(\left(x \cdot 18\right) \cdot y\right) \cdot z\right) \cdot t - \left(a \cdot 4\right) \cdot t\right) + b \cdot c\right) - \left(x \cdot 4\right) \cdot i\right) - \left(j \cdot 27\right) \cdot k\]
    2. Using strategy rm
    3. Applied associate-*l*12.4

      \[\leadsto \left(\left(\left(\left(\left(\left(x \cdot 18\right) \cdot y\right) \cdot z\right) \cdot t - \left(a \cdot 4\right) \cdot t\right) + b \cdot c\right) - \left(x \cdot 4\right) \cdot i\right) - \color{blue}{j \cdot \left(27 \cdot k\right)}\]
    4. Using strategy rm
    5. Applied pow112.4

      \[\leadsto \left(\left(\left(\left(\left(\left(x \cdot 18\right) \cdot y\right) \cdot z\right) \cdot t - \left(a \cdot 4\right) \cdot \color{blue}{{t}^{1}}\right) + b \cdot c\right) - \left(x \cdot 4\right) \cdot i\right) - j \cdot \left(27 \cdot k\right)\]
    6. Applied pow112.4

      \[\leadsto \left(\left(\left(\left(\left(\left(x \cdot 18\right) \cdot y\right) \cdot z\right) \cdot t - \left(a \cdot \color{blue}{{4}^{1}}\right) \cdot {t}^{1}\right) + b \cdot c\right) - \left(x \cdot 4\right) \cdot i\right) - j \cdot \left(27 \cdot k\right)\]
    7. Applied pow112.4

      \[\leadsto \left(\left(\left(\left(\left(\left(x \cdot 18\right) \cdot y\right) \cdot z\right) \cdot t - \left(\color{blue}{{a}^{1}} \cdot {4}^{1}\right) \cdot {t}^{1}\right) + b \cdot c\right) - \left(x \cdot 4\right) \cdot i\right) - j \cdot \left(27 \cdot k\right)\]
    8. Applied pow-prod-down12.4

      \[\leadsto \left(\left(\left(\left(\left(\left(x \cdot 18\right) \cdot y\right) \cdot z\right) \cdot t - \color{blue}{{\left(a \cdot 4\right)}^{1}} \cdot {t}^{1}\right) + b \cdot c\right) - \left(x \cdot 4\right) \cdot i\right) - j \cdot \left(27 \cdot k\right)\]
    9. Applied pow-prod-down12.4

      \[\leadsto \left(\left(\left(\left(\left(\left(x \cdot 18\right) \cdot y\right) \cdot z\right) \cdot t - \color{blue}{{\left(\left(a \cdot 4\right) \cdot t\right)}^{1}}\right) + b \cdot c\right) - \left(x \cdot 4\right) \cdot i\right) - j \cdot \left(27 \cdot k\right)\]
    10. Simplified12.4

      \[\leadsto \left(\left(\left(\left(\left(\left(x \cdot 18\right) \cdot y\right) \cdot z\right) \cdot t - {\color{blue}{\left(4 \cdot \left(t \cdot a\right)\right)}}^{1}\right) + b \cdot c\right) - \left(x \cdot 4\right) \cdot i\right) - j \cdot \left(27 \cdot k\right)\]
    11. Using strategy rm
    12. Applied associate-*l*8.9

      \[\leadsto \left(\left(\left(\color{blue}{\left(\left(x \cdot 18\right) \cdot y\right) \cdot \left(z \cdot t\right)} - {\left(4 \cdot \left(t \cdot a\right)\right)}^{1}\right) + b \cdot c\right) - \left(x \cdot 4\right) \cdot i\right) - j \cdot \left(27 \cdot k\right)\]
  3. Recombined 3 regimes into one program.
  4. Final simplification3.8

    \[\leadsto \begin{array}{l} \mathbf{if}\;x \le -3.852801213810551454306858851667836070232 \cdot 10^{-73}:\\ \;\;\;\;\left(\left(b \cdot c + \left(18 \cdot \left(t \cdot \left(x \cdot \left(z \cdot y\right)\right)\right) - 4 \cdot \left(t \cdot a\right)\right)\right) - \left(x \cdot 4\right) \cdot i\right) - j \cdot \left(27 \cdot k\right)\\ \mathbf{elif}\;x \le 55609495143115152:\\ \;\;\;\;\left(\left(\left(\left(\left(\left(x \cdot 18\right) \cdot y\right) \cdot z\right) \cdot t - 4 \cdot \left(t \cdot a\right)\right) + b \cdot c\right) - \left(x \cdot 4\right) \cdot i\right) - 27 \cdot \left(k \cdot j\right)\\ \mathbf{else}:\\ \;\;\;\;\left(\left(\left(\left(\left(x \cdot 18\right) \cdot y\right) \cdot \left(z \cdot t\right) - 4 \cdot \left(t \cdot a\right)\right) + b \cdot c\right) - \left(x \cdot 4\right) \cdot i\right) - j \cdot \left(27 \cdot k\right)\\ \end{array}\]

Reproduce

herbie shell --seed 2019304 
(FPCore (x y z t a b c i j k)
  :name "Diagrams.Solve.Polynomial:cubForm  from diagrams-solve-0.1, E"
  :precision binary64

  :herbie-target
  (if (< t -1.6210815397541398e-69) (- (- (* (* 18 t) (* (* x y) z)) (* (+ (* a t) (* i x)) 4)) (- (* (* k j) 27) (* c b))) (if (< t 165.680279438052224) (+ (- (* (* 18 y) (* x (* z t))) (* (+ (* a t) (* i x)) 4)) (- (* c b) (* 27 (* k j)))) (- (- (* (* 18 t) (* (* x y) z)) (* (+ (* a t) (* i x)) 4)) (- (* (* k j) 27) (* c b)))))

  (- (- (+ (- (* (* (* (* x 18) y) z) t) (* (* a 4) t)) (* b c)) (* (* x 4) i)) (* (* j 27) k)))