Average Error: 5.6 → 6.0
Time: 30.9s
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}\;i \le -1.665202283515742793327224723917164378526 \cdot 10^{102}:\\ \;\;\;\;\left(b \cdot c + \left(-a \cdot 4\right) \cdot t\right) - \left(\left(x \cdot 4\right) \cdot i + \left(j \cdot 27\right) \cdot k\right)\\ \mathbf{elif}\;i \le -4.628878247562695805141969556661176174167 \cdot 10^{-205}:\\ \;\;\;\;\left(t \cdot \left(18 \cdot \left(x \cdot \left(z \cdot y\right)\right) - a \cdot 4\right) + b \cdot c\right) - \left(\left(x \cdot 4\right) \cdot i + j \cdot \left(27 \cdot k\right)\right)\\ \mathbf{else}:\\ \;\;\;\;\left(t \cdot \left(\left(\left(x \cdot 18\right) \cdot y\right) \cdot z - a \cdot 4\right) + b \cdot c\right) - \left(\left(x \cdot 4\right) \cdot i + \sqrt{27} \cdot \left(\sqrt{27} \cdot \left(k \cdot j\right)\right)\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}\;i \le -1.665202283515742793327224723917164378526 \cdot 10^{102}:\\
\;\;\;\;\left(b \cdot c + \left(-a \cdot 4\right) \cdot t\right) - \left(\left(x \cdot 4\right) \cdot i + \left(j \cdot 27\right) \cdot k\right)\\

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

\mathbf{else}:\\
\;\;\;\;\left(t \cdot \left(\left(\left(x \cdot 18\right) \cdot y\right) \cdot z - a \cdot 4\right) + b \cdot c\right) - \left(\left(x \cdot 4\right) \cdot i + \sqrt{27} \cdot \left(\sqrt{27} \cdot \left(k \cdot j\right)\right)\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 r541534 = x;
        double r541535 = 18.0;
        double r541536 = r541534 * r541535;
        double r541537 = y;
        double r541538 = r541536 * r541537;
        double r541539 = z;
        double r541540 = r541538 * r541539;
        double r541541 = t;
        double r541542 = r541540 * r541541;
        double r541543 = a;
        double r541544 = 4.0;
        double r541545 = r541543 * r541544;
        double r541546 = r541545 * r541541;
        double r541547 = r541542 - r541546;
        double r541548 = b;
        double r541549 = c;
        double r541550 = r541548 * r541549;
        double r541551 = r541547 + r541550;
        double r541552 = r541534 * r541544;
        double r541553 = i;
        double r541554 = r541552 * r541553;
        double r541555 = r541551 - r541554;
        double r541556 = j;
        double r541557 = 27.0;
        double r541558 = r541556 * r541557;
        double r541559 = k;
        double r541560 = r541558 * r541559;
        double r541561 = r541555 - r541560;
        return r541561;
}

double f(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k) {
        double r541562 = i;
        double r541563 = -1.6652022835157428e+102;
        bool r541564 = r541562 <= r541563;
        double r541565 = b;
        double r541566 = c;
        double r541567 = r541565 * r541566;
        double r541568 = a;
        double r541569 = 4.0;
        double r541570 = r541568 * r541569;
        double r541571 = -r541570;
        double r541572 = t;
        double r541573 = r541571 * r541572;
        double r541574 = r541567 + r541573;
        double r541575 = x;
        double r541576 = r541575 * r541569;
        double r541577 = r541576 * r541562;
        double r541578 = j;
        double r541579 = 27.0;
        double r541580 = r541578 * r541579;
        double r541581 = k;
        double r541582 = r541580 * r541581;
        double r541583 = r541577 + r541582;
        double r541584 = r541574 - r541583;
        double r541585 = -4.628878247562696e-205;
        bool r541586 = r541562 <= r541585;
        double r541587 = 18.0;
        double r541588 = z;
        double r541589 = y;
        double r541590 = r541588 * r541589;
        double r541591 = r541575 * r541590;
        double r541592 = r541587 * r541591;
        double r541593 = r541592 - r541570;
        double r541594 = r541572 * r541593;
        double r541595 = r541594 + r541567;
        double r541596 = r541579 * r541581;
        double r541597 = r541578 * r541596;
        double r541598 = r541577 + r541597;
        double r541599 = r541595 - r541598;
        double r541600 = r541575 * r541587;
        double r541601 = r541600 * r541589;
        double r541602 = r541601 * r541588;
        double r541603 = r541602 - r541570;
        double r541604 = r541572 * r541603;
        double r541605 = r541604 + r541567;
        double r541606 = sqrt(r541579);
        double r541607 = r541581 * r541578;
        double r541608 = r541606 * r541607;
        double r541609 = r541606 * r541608;
        double r541610 = r541577 + r541609;
        double r541611 = r541605 - r541610;
        double r541612 = r541586 ? r541599 : r541611;
        double r541613 = r541564 ? r541584 : r541612;
        return r541613;
}

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.6
Target1.5
Herbie6.0
\[\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 i < -1.6652022835157428e+102

    1. Initial program 3.8

      \[\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. Simplified3.8

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

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

    if -1.6652022835157428e+102 < i < -4.628878247562696e-205

    1. Initial program 6.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. Simplified6.4

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

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

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

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

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

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

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

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

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

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

    if -4.628878247562696e-205 < i

    1. Initial program 5.7

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

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

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

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

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

      \[\leadsto \left(t \cdot \left(\left(\left(x \cdot 18\right) \cdot y\right) \cdot z - a \cdot 4\right) + b \cdot c\right) - \left(\left(x \cdot 4\right) \cdot i + 1 \cdot \color{blue}{\left(27 \cdot \left(k \cdot j\right)\right)}\right)\]
    9. Using strategy rm
    10. Applied add-sqr-sqrt5.6

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

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

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

Reproduce

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