Average Error: 5.5 → 3.2
Time: 9.5s
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}\;t \le -1230856537969914387638316433408:\\ \;\;\;\;\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(\left(j \cdot 27\right) \cdot \left(\sqrt[3]{k} \cdot \sqrt[3]{k}\right)\right) \cdot \sqrt[3]{k}\\ \mathbf{elif}\;t \le 21.73111932267078572067475761286914348602:\\ \;\;\;\;\left(\left(\left(\left(\left(x \cdot 18\right) \cdot y\right) \cdot \left(z \cdot t\right) - \left(a \cdot 4\right) \cdot t\right) + b \cdot c\right) - \left(x \cdot 4\right) \cdot i\right) - j \cdot \left(27 \cdot k\right)\\ \mathbf{else}:\\ \;\;\;\;\left(\left(\left({\left(18 \cdot \left(x \cdot \left(z \cdot y\right)\right)\right)}^{1} \cdot t - \left(a \cdot 4\right) \cdot t\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}\;t \le -1230856537969914387638316433408:\\
\;\;\;\;\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(\left(j \cdot 27\right) \cdot \left(\sqrt[3]{k} \cdot \sqrt[3]{k}\right)\right) \cdot \sqrt[3]{k}\\

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

\mathbf{else}:\\
\;\;\;\;\left(\left(\left({\left(18 \cdot \left(x \cdot \left(z \cdot y\right)\right)\right)}^{1} \cdot t - \left(a \cdot 4\right) \cdot t\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 r762224 = x;
        double r762225 = 18.0;
        double r762226 = r762224 * r762225;
        double r762227 = y;
        double r762228 = r762226 * r762227;
        double r762229 = z;
        double r762230 = r762228 * r762229;
        double r762231 = t;
        double r762232 = r762230 * r762231;
        double r762233 = a;
        double r762234 = 4.0;
        double r762235 = r762233 * r762234;
        double r762236 = r762235 * r762231;
        double r762237 = r762232 - r762236;
        double r762238 = b;
        double r762239 = c;
        double r762240 = r762238 * r762239;
        double r762241 = r762237 + r762240;
        double r762242 = r762224 * r762234;
        double r762243 = i;
        double r762244 = r762242 * r762243;
        double r762245 = r762241 - r762244;
        double r762246 = j;
        double r762247 = 27.0;
        double r762248 = r762246 * r762247;
        double r762249 = k;
        double r762250 = r762248 * r762249;
        double r762251 = r762245 - r762250;
        return r762251;
}

double f(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k) {
        double r762252 = t;
        double r762253 = -1.2308565379699144e+30;
        bool r762254 = r762252 <= r762253;
        double r762255 = x;
        double r762256 = 18.0;
        double r762257 = r762255 * r762256;
        double r762258 = y;
        double r762259 = r762257 * r762258;
        double r762260 = z;
        double r762261 = r762259 * r762260;
        double r762262 = r762261 * r762252;
        double r762263 = a;
        double r762264 = 4.0;
        double r762265 = r762263 * r762264;
        double r762266 = r762265 * r762252;
        double r762267 = r762262 - r762266;
        double r762268 = b;
        double r762269 = c;
        double r762270 = r762268 * r762269;
        double r762271 = r762267 + r762270;
        double r762272 = r762255 * r762264;
        double r762273 = i;
        double r762274 = r762272 * r762273;
        double r762275 = r762271 - r762274;
        double r762276 = j;
        double r762277 = 27.0;
        double r762278 = r762276 * r762277;
        double r762279 = k;
        double r762280 = cbrt(r762279);
        double r762281 = r762280 * r762280;
        double r762282 = r762278 * r762281;
        double r762283 = r762282 * r762280;
        double r762284 = r762275 - r762283;
        double r762285 = 21.731119322670786;
        bool r762286 = r762252 <= r762285;
        double r762287 = r762260 * r762252;
        double r762288 = r762259 * r762287;
        double r762289 = r762288 - r762266;
        double r762290 = r762289 + r762270;
        double r762291 = r762290 - r762274;
        double r762292 = r762277 * r762279;
        double r762293 = r762276 * r762292;
        double r762294 = r762291 - r762293;
        double r762295 = r762260 * r762258;
        double r762296 = r762255 * r762295;
        double r762297 = r762256 * r762296;
        double r762298 = 1.0;
        double r762299 = pow(r762297, r762298);
        double r762300 = r762299 * r762252;
        double r762301 = r762300 - r762266;
        double r762302 = r762301 + r762270;
        double r762303 = r762302 - r762274;
        double r762304 = r762303 - r762293;
        double r762305 = r762286 ? r762294 : r762304;
        double r762306 = r762254 ? r762284 : r762305;
        return r762306;
}

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.5
Target1.6
Herbie3.2
\[\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 t < -1.2308565379699144e+30

    1. Initial program 1.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. Using strategy rm
    3. Applied add-cube-cbrt1.8

      \[\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) - \left(j \cdot 27\right) \cdot \color{blue}{\left(\left(\sqrt[3]{k} \cdot \sqrt[3]{k}\right) \cdot \sqrt[3]{k}\right)}\]
    4. Applied associate-*r*1.8

      \[\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}{\left(\left(j \cdot 27\right) \cdot \left(\sqrt[3]{k} \cdot \sqrt[3]{k}\right)\right) \cdot \sqrt[3]{k}}\]

    if -1.2308565379699144e+30 < t < 21.731119322670786

    1. Initial program 7.3

      \[\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*7.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 associate-*l*3.9

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

    if 21.731119322670786 < t

    1. Initial program 1.9

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

      \[\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 add-cube-cbrt1.9

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

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

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

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

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

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

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

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

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

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

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

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

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

      \[\leadsto \left(\left(\left({\color{blue}{\left(18 \cdot \left(x \cdot \left(z \cdot y\right)\right)\right)}}^{1} \cdot t - \left(a \cdot 4\right) \cdot t\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.2

    \[\leadsto \begin{array}{l} \mathbf{if}\;t \le -1230856537969914387638316433408:\\ \;\;\;\;\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(\left(j \cdot 27\right) \cdot \left(\sqrt[3]{k} \cdot \sqrt[3]{k}\right)\right) \cdot \sqrt[3]{k}\\ \mathbf{elif}\;t \le 21.73111932267078572067475761286914348602:\\ \;\;\;\;\left(\left(\left(\left(\left(x \cdot 18\right) \cdot y\right) \cdot \left(z \cdot t\right) - \left(a \cdot 4\right) \cdot t\right) + b \cdot c\right) - \left(x \cdot 4\right) \cdot i\right) - j \cdot \left(27 \cdot k\right)\\ \mathbf{else}:\\ \;\;\;\;\left(\left(\left({\left(18 \cdot \left(x \cdot \left(z \cdot y\right)\right)\right)}^{1} \cdot t - \left(a \cdot 4\right) \cdot t\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 2020002 
(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.68027943805222) (+ (- (* (* 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)))