Average Error: 5.9 → 1.5
Time: 25.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}\;\left(\left(t \cdot \left(\left(\left(x \cdot 18\right) \cdot y\right) \cdot z\right) - \left(a \cdot 4\right) \cdot t\right) + c \cdot b\right) - \left(x \cdot 4\right) \cdot i \le -3.562733702540698501769975042751072620323 \cdot 10^{286} \lor \neg \left(\left(\left(t \cdot \left(\left(\left(x \cdot 18\right) \cdot y\right) \cdot z\right) - \left(a \cdot 4\right) \cdot t\right) + c \cdot b\right) - \left(x \cdot 4\right) \cdot i \le 8.107231729667045342202036618227366964577 \cdot 10^{306}\right):\\ \;\;\;\;\left(\left(\left(\left(y \cdot \left(t \cdot z\right)\right) \cdot \left(x \cdot 18\right) - \left(a \cdot 4\right) \cdot t\right) + c \cdot b\right) - \left(x \cdot 4\right) \cdot i\right) - \left(27 \cdot j\right) \cdot k\\ \mathbf{else}:\\ \;\;\;\;\left(\left(c \cdot b + \left(\left(z \cdot \left(\left(y \cdot x\right) \cdot 18\right)\right) \cdot t - \left(a \cdot 4\right) \cdot t\right)\right) - \left(x \cdot 4\right) \cdot i\right) - \left(\sqrt[3]{\left(27 \cdot k\right) \cdot j} \cdot \sqrt[3]{\left(27 \cdot k\right) \cdot j}\right) \cdot \left(\sqrt[3]{27 \cdot k} \cdot \sqrt[3]{j}\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}\;\left(\left(t \cdot \left(\left(\left(x \cdot 18\right) \cdot y\right) \cdot z\right) - \left(a \cdot 4\right) \cdot t\right) + c \cdot b\right) - \left(x \cdot 4\right) \cdot i \le -3.562733702540698501769975042751072620323 \cdot 10^{286} \lor \neg \left(\left(\left(t \cdot \left(\left(\left(x \cdot 18\right) \cdot y\right) \cdot z\right) - \left(a \cdot 4\right) \cdot t\right) + c \cdot b\right) - \left(x \cdot 4\right) \cdot i \le 8.107231729667045342202036618227366964577 \cdot 10^{306}\right):\\
\;\;\;\;\left(\left(\left(\left(y \cdot \left(t \cdot z\right)\right) \cdot \left(x \cdot 18\right) - \left(a \cdot 4\right) \cdot t\right) + c \cdot b\right) - \left(x \cdot 4\right) \cdot i\right) - \left(27 \cdot j\right) \cdot k\\

\mathbf{else}:\\
\;\;\;\;\left(\left(c \cdot b + \left(\left(z \cdot \left(\left(y \cdot x\right) \cdot 18\right)\right) \cdot t - \left(a \cdot 4\right) \cdot t\right)\right) - \left(x \cdot 4\right) \cdot i\right) - \left(\sqrt[3]{\left(27 \cdot k\right) \cdot j} \cdot \sqrt[3]{\left(27 \cdot k\right) \cdot j}\right) \cdot \left(\sqrt[3]{27 \cdot k} \cdot \sqrt[3]{j}\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 r866228 = x;
        double r866229 = 18.0;
        double r866230 = r866228 * r866229;
        double r866231 = y;
        double r866232 = r866230 * r866231;
        double r866233 = z;
        double r866234 = r866232 * r866233;
        double r866235 = t;
        double r866236 = r866234 * r866235;
        double r866237 = a;
        double r866238 = 4.0;
        double r866239 = r866237 * r866238;
        double r866240 = r866239 * r866235;
        double r866241 = r866236 - r866240;
        double r866242 = b;
        double r866243 = c;
        double r866244 = r866242 * r866243;
        double r866245 = r866241 + r866244;
        double r866246 = r866228 * r866238;
        double r866247 = i;
        double r866248 = r866246 * r866247;
        double r866249 = r866245 - r866248;
        double r866250 = j;
        double r866251 = 27.0;
        double r866252 = r866250 * r866251;
        double r866253 = k;
        double r866254 = r866252 * r866253;
        double r866255 = r866249 - r866254;
        return r866255;
}

double f(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k) {
        double r866256 = t;
        double r866257 = x;
        double r866258 = 18.0;
        double r866259 = r866257 * r866258;
        double r866260 = y;
        double r866261 = r866259 * r866260;
        double r866262 = z;
        double r866263 = r866261 * r866262;
        double r866264 = r866256 * r866263;
        double r866265 = a;
        double r866266 = 4.0;
        double r866267 = r866265 * r866266;
        double r866268 = r866267 * r866256;
        double r866269 = r866264 - r866268;
        double r866270 = c;
        double r866271 = b;
        double r866272 = r866270 * r866271;
        double r866273 = r866269 + r866272;
        double r866274 = r866257 * r866266;
        double r866275 = i;
        double r866276 = r866274 * r866275;
        double r866277 = r866273 - r866276;
        double r866278 = -3.5627337025406985e+286;
        bool r866279 = r866277 <= r866278;
        double r866280 = 8.107231729667045e+306;
        bool r866281 = r866277 <= r866280;
        double r866282 = !r866281;
        bool r866283 = r866279 || r866282;
        double r866284 = r866256 * r866262;
        double r866285 = r866260 * r866284;
        double r866286 = r866285 * r866259;
        double r866287 = r866286 - r866268;
        double r866288 = r866287 + r866272;
        double r866289 = r866288 - r866276;
        double r866290 = 27.0;
        double r866291 = j;
        double r866292 = r866290 * r866291;
        double r866293 = k;
        double r866294 = r866292 * r866293;
        double r866295 = r866289 - r866294;
        double r866296 = r866260 * r866257;
        double r866297 = r866296 * r866258;
        double r866298 = r866262 * r866297;
        double r866299 = r866298 * r866256;
        double r866300 = r866299 - r866268;
        double r866301 = r866272 + r866300;
        double r866302 = r866301 - r866276;
        double r866303 = r866290 * r866293;
        double r866304 = r866303 * r866291;
        double r866305 = cbrt(r866304);
        double r866306 = r866305 * r866305;
        double r866307 = cbrt(r866303);
        double r866308 = cbrt(r866291);
        double r866309 = r866307 * r866308;
        double r866310 = r866306 * r866309;
        double r866311 = r866302 - r866310;
        double r866312 = r866283 ? r866295 : r866311;
        return r866312;
}

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.9
Target1.6
Herbie1.5
\[\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 2 regimes
  2. if (- (+ (- (* (* (* (* x 18.0) y) z) t) (* (* a 4.0) t)) (* b c)) (* (* x 4.0) i)) < -3.5627337025406985e+286 or 8.107231729667045e+306 < (- (+ (- (* (* (* (* x 18.0) y) z) t) (* (* a 4.0) t)) (* b c)) (* (* x 4.0) i))

    1. Initial program 47.1

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

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

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

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

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

      \[\leadsto \left(\left(\left(\left(\left(\left(\color{blue}{{x}^{1}} \cdot {18}^{1}\right) \cdot {y}^{1}\right) \cdot {z}^{1}\right) \cdot {t}^{1} - \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\]
    8. Applied pow-prod-down47.1

      \[\leadsto \left(\left(\left(\left(\left(\color{blue}{{\left(x \cdot 18\right)}^{1}} \cdot {y}^{1}\right) \cdot {z}^{1}\right) \cdot {t}^{1} - \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\]
    9. Applied pow-prod-down47.1

      \[\leadsto \left(\left(\left(\left(\color{blue}{{\left(\left(x \cdot 18\right) \cdot y\right)}^{1}} \cdot {z}^{1}\right) \cdot {t}^{1} - \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\]
    10. Applied pow-prod-down47.1

      \[\leadsto \left(\left(\left(\color{blue}{{\left(\left(\left(x \cdot 18\right) \cdot y\right) \cdot z\right)}^{1}} \cdot {t}^{1} - \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\]
    11. Applied pow-prod-down47.1

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

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

    if -3.5627337025406985e+286 < (- (+ (- (* (* (* (* x 18.0) y) z) t) (* (* a 4.0) t)) (* b c)) (* (* x 4.0) i)) < 8.107231729667045e+306

    1. Initial program 0.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 add-cube-cbrt0.6

      \[\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(\sqrt[3]{\left(j \cdot 27\right) \cdot k} \cdot \sqrt[3]{\left(j \cdot 27\right) \cdot k}\right) \cdot \sqrt[3]{\left(j \cdot 27\right) \cdot k}}\]
    4. Simplified0.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}{\left(\sqrt[3]{j \cdot \left(k \cdot 27\right)} \cdot \sqrt[3]{j \cdot \left(k \cdot 27\right)}\right)} \cdot \sqrt[3]{\left(j \cdot 27\right) \cdot k}\]
    5. Simplified0.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) - \left(\sqrt[3]{j \cdot \left(k \cdot 27\right)} \cdot \sqrt[3]{j \cdot \left(k \cdot 27\right)}\right) \cdot \color{blue}{\sqrt[3]{j \cdot \left(k \cdot 27\right)}}\]
    6. Using strategy rm
    7. Applied cbrt-prod0.6

      \[\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(\sqrt[3]{j \cdot \left(k \cdot 27\right)} \cdot \sqrt[3]{j \cdot \left(k \cdot 27\right)}\right) \cdot \color{blue}{\left(\sqrt[3]{j} \cdot \sqrt[3]{k \cdot 27}\right)}\]
    8. Simplified0.6

      \[\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(\sqrt[3]{j \cdot \left(k \cdot 27\right)} \cdot \sqrt[3]{j \cdot \left(k \cdot 27\right)}\right) \cdot \left(\sqrt[3]{j} \cdot \color{blue}{\sqrt[3]{27 \cdot k}}\right)\]
    9. Using strategy rm
    10. Applied *-un-lft-identity0.6

      \[\leadsto \left(\left(\left(\left(\left(\left(x \cdot 18\right) \cdot y\right) \cdot \color{blue}{\left(1 \cdot 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) - \left(\sqrt[3]{j \cdot \left(k \cdot 27\right)} \cdot \sqrt[3]{j \cdot \left(k \cdot 27\right)}\right) \cdot \left(\sqrt[3]{j} \cdot \sqrt[3]{27 \cdot k}\right)\]
    11. Applied associate-*r*0.6

      \[\leadsto \left(\left(\left(\color{blue}{\left(\left(\left(\left(x \cdot 18\right) \cdot y\right) \cdot 1\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(\sqrt[3]{j \cdot \left(k \cdot 27\right)} \cdot \sqrt[3]{j \cdot \left(k \cdot 27\right)}\right) \cdot \left(\sqrt[3]{j} \cdot \sqrt[3]{27 \cdot k}\right)\]
    12. Simplified0.6

      \[\leadsto \left(\left(\left(\left(\color{blue}{\left(\left(y \cdot x\right) \cdot 18\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(\sqrt[3]{j \cdot \left(k \cdot 27\right)} \cdot \sqrt[3]{j \cdot \left(k \cdot 27\right)}\right) \cdot \left(\sqrt[3]{j} \cdot \sqrt[3]{27 \cdot k}\right)\]
  3. Recombined 2 regimes into one program.
  4. Final simplification1.5

    \[\leadsto \begin{array}{l} \mathbf{if}\;\left(\left(t \cdot \left(\left(\left(x \cdot 18\right) \cdot y\right) \cdot z\right) - \left(a \cdot 4\right) \cdot t\right) + c \cdot b\right) - \left(x \cdot 4\right) \cdot i \le -3.562733702540698501769975042751072620323 \cdot 10^{286} \lor \neg \left(\left(\left(t \cdot \left(\left(\left(x \cdot 18\right) \cdot y\right) \cdot z\right) - \left(a \cdot 4\right) \cdot t\right) + c \cdot b\right) - \left(x \cdot 4\right) \cdot i \le 8.107231729667045342202036618227366964577 \cdot 10^{306}\right):\\ \;\;\;\;\left(\left(\left(\left(y \cdot \left(t \cdot z\right)\right) \cdot \left(x \cdot 18\right) - \left(a \cdot 4\right) \cdot t\right) + c \cdot b\right) - \left(x \cdot 4\right) \cdot i\right) - \left(27 \cdot j\right) \cdot k\\ \mathbf{else}:\\ \;\;\;\;\left(\left(c \cdot b + \left(\left(z \cdot \left(\left(y \cdot x\right) \cdot 18\right)\right) \cdot t - \left(a \cdot 4\right) \cdot t\right)\right) - \left(x \cdot 4\right) \cdot i\right) - \left(\sqrt[3]{\left(27 \cdot k\right) \cdot j} \cdot \sqrt[3]{\left(27 \cdot k\right) \cdot j}\right) \cdot \left(\sqrt[3]{27 \cdot k} \cdot \sqrt[3]{j}\right)\\ \end{array}\]

Reproduce

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

  :herbie-target
  (if (< t -1.6210815397541398e-69) (- (- (* (* 18.0 t) (* (* x y) z)) (* (+ (* a t) (* i x)) 4.0)) (- (* (* k j) 27.0) (* c b))) (if (< t 165.68027943805222) (+ (- (* (* 18.0 y) (* x (* z t))) (* (+ (* a t) (* i x)) 4.0)) (- (* c b) (* 27.0 (* k j)))) (- (- (* (* 18.0 t) (* (* x y) z)) (* (+ (* a t) (* i x)) 4.0)) (- (* (* k j) 27.0) (* c b)))))

  (- (- (+ (- (* (* (* (* x 18.0) y) z) t) (* (* a 4.0) t)) (* b c)) (* (* x 4.0) i)) (* (* j 27.0) k)))