Average Error: 5.1 → 3.5
Time: 37.7s
Precision: 64
\[\left(\left(\left(\left(\left(\left(x \cdot 18.0\right) \cdot y\right) \cdot z\right) \cdot t - \left(a \cdot 4.0\right) \cdot t\right) + b \cdot c\right) - \left(x \cdot 4.0\right) \cdot i\right) - \left(j \cdot 27.0\right) \cdot k\]
\[\begin{array}{l} \mathbf{if}\;t \le -6.823488250285462 \cdot 10^{+70}:\\ \;\;\;\;\left(\left(b \cdot c + \left(18.0 \cdot \left(t \cdot \left(y \cdot \left(x \cdot z\right)\right)\right) - \left(a \cdot 4.0\right) \cdot t\right)\right) - \left(x \cdot 4.0\right) \cdot i\right) - k \cdot \left(j \cdot 27.0\right)\\ \mathbf{elif}\;t \le -1.0279681412385918 \cdot 10^{-260}:\\ \;\;\;\;\left(\left(b \cdot c + \left(\left(z \cdot t\right) \cdot \left(\left(18.0 \cdot x\right) \cdot y\right) - \left(a \cdot 4.0\right) \cdot t\right)\right) - \left(x \cdot 4.0\right) \cdot i\right) - k \cdot \left(j \cdot 27.0\right)\\ \mathbf{elif}\;t \le 6.297778380507014 \cdot 10^{-168}:\\ \;\;\;\;\left(\left(b \cdot c + \left(\left(18.0 \cdot x\right) \cdot \left(t \cdot \left(y \cdot z\right)\right) - \left(a \cdot 4.0\right) \cdot t\right)\right) - \left(x \cdot 4.0\right) \cdot i\right) - k \cdot \left(j \cdot 27.0\right)\\ \mathbf{elif}\;t \le 1.785670845810061 \cdot 10^{-61}:\\ \;\;\;\;\left(\left(b \cdot c + \left(\left(z \cdot t\right) \cdot \left(\left(18.0 \cdot x\right) \cdot y\right) - \left(a \cdot 4.0\right) \cdot t\right)\right) - \left(x \cdot 4.0\right) \cdot i\right) - k \cdot \left(j \cdot 27.0\right)\\ \mathbf{else}:\\ \;\;\;\;\left(\left(b \cdot c + \left(18.0 \cdot \left(t \cdot \left(y \cdot \left(x \cdot z\right)\right)\right) - \left(a \cdot 4.0\right) \cdot t\right)\right) - \left(x \cdot 4.0\right) \cdot i\right) - k \cdot \left(j \cdot 27.0\right)\\ \end{array}\]
\left(\left(\left(\left(\left(\left(x \cdot 18.0\right) \cdot y\right) \cdot z\right) \cdot t - \left(a \cdot 4.0\right) \cdot t\right) + b \cdot c\right) - \left(x \cdot 4.0\right) \cdot i\right) - \left(j \cdot 27.0\right) \cdot k
\begin{array}{l}
\mathbf{if}\;t \le -6.823488250285462 \cdot 10^{+70}:\\
\;\;\;\;\left(\left(b \cdot c + \left(18.0 \cdot \left(t \cdot \left(y \cdot \left(x \cdot z\right)\right)\right) - \left(a \cdot 4.0\right) \cdot t\right)\right) - \left(x \cdot 4.0\right) \cdot i\right) - k \cdot \left(j \cdot 27.0\right)\\

\mathbf{elif}\;t \le -1.0279681412385918 \cdot 10^{-260}:\\
\;\;\;\;\left(\left(b \cdot c + \left(\left(z \cdot t\right) \cdot \left(\left(18.0 \cdot x\right) \cdot y\right) - \left(a \cdot 4.0\right) \cdot t\right)\right) - \left(x \cdot 4.0\right) \cdot i\right) - k \cdot \left(j \cdot 27.0\right)\\

\mathbf{elif}\;t \le 6.297778380507014 \cdot 10^{-168}:\\
\;\;\;\;\left(\left(b \cdot c + \left(\left(18.0 \cdot x\right) \cdot \left(t \cdot \left(y \cdot z\right)\right) - \left(a \cdot 4.0\right) \cdot t\right)\right) - \left(x \cdot 4.0\right) \cdot i\right) - k \cdot \left(j \cdot 27.0\right)\\

\mathbf{elif}\;t \le 1.785670845810061 \cdot 10^{-61}:\\
\;\;\;\;\left(\left(b \cdot c + \left(\left(z \cdot t\right) \cdot \left(\left(18.0 \cdot x\right) \cdot y\right) - \left(a \cdot 4.0\right) \cdot t\right)\right) - \left(x \cdot 4.0\right) \cdot i\right) - k \cdot \left(j \cdot 27.0\right)\\

\mathbf{else}:\\
\;\;\;\;\left(\left(b \cdot c + \left(18.0 \cdot \left(t \cdot \left(y \cdot \left(x \cdot z\right)\right)\right) - \left(a \cdot 4.0\right) \cdot t\right)\right) - \left(x \cdot 4.0\right) \cdot i\right) - k \cdot \left(j \cdot 27.0\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 r4663348 = x;
        double r4663349 = 18.0;
        double r4663350 = r4663348 * r4663349;
        double r4663351 = y;
        double r4663352 = r4663350 * r4663351;
        double r4663353 = z;
        double r4663354 = r4663352 * r4663353;
        double r4663355 = t;
        double r4663356 = r4663354 * r4663355;
        double r4663357 = a;
        double r4663358 = 4.0;
        double r4663359 = r4663357 * r4663358;
        double r4663360 = r4663359 * r4663355;
        double r4663361 = r4663356 - r4663360;
        double r4663362 = b;
        double r4663363 = c;
        double r4663364 = r4663362 * r4663363;
        double r4663365 = r4663361 + r4663364;
        double r4663366 = r4663348 * r4663358;
        double r4663367 = i;
        double r4663368 = r4663366 * r4663367;
        double r4663369 = r4663365 - r4663368;
        double r4663370 = j;
        double r4663371 = 27.0;
        double r4663372 = r4663370 * r4663371;
        double r4663373 = k;
        double r4663374 = r4663372 * r4663373;
        double r4663375 = r4663369 - r4663374;
        return r4663375;
}

double f(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k) {
        double r4663376 = t;
        double r4663377 = -6.823488250285462e+70;
        bool r4663378 = r4663376 <= r4663377;
        double r4663379 = b;
        double r4663380 = c;
        double r4663381 = r4663379 * r4663380;
        double r4663382 = 18.0;
        double r4663383 = y;
        double r4663384 = x;
        double r4663385 = z;
        double r4663386 = r4663384 * r4663385;
        double r4663387 = r4663383 * r4663386;
        double r4663388 = r4663376 * r4663387;
        double r4663389 = r4663382 * r4663388;
        double r4663390 = a;
        double r4663391 = 4.0;
        double r4663392 = r4663390 * r4663391;
        double r4663393 = r4663392 * r4663376;
        double r4663394 = r4663389 - r4663393;
        double r4663395 = r4663381 + r4663394;
        double r4663396 = r4663384 * r4663391;
        double r4663397 = i;
        double r4663398 = r4663396 * r4663397;
        double r4663399 = r4663395 - r4663398;
        double r4663400 = k;
        double r4663401 = j;
        double r4663402 = 27.0;
        double r4663403 = r4663401 * r4663402;
        double r4663404 = r4663400 * r4663403;
        double r4663405 = r4663399 - r4663404;
        double r4663406 = -1.0279681412385918e-260;
        bool r4663407 = r4663376 <= r4663406;
        double r4663408 = r4663385 * r4663376;
        double r4663409 = r4663382 * r4663384;
        double r4663410 = r4663409 * r4663383;
        double r4663411 = r4663408 * r4663410;
        double r4663412 = r4663411 - r4663393;
        double r4663413 = r4663381 + r4663412;
        double r4663414 = r4663413 - r4663398;
        double r4663415 = r4663414 - r4663404;
        double r4663416 = 6.297778380507014e-168;
        bool r4663417 = r4663376 <= r4663416;
        double r4663418 = r4663383 * r4663385;
        double r4663419 = r4663376 * r4663418;
        double r4663420 = r4663409 * r4663419;
        double r4663421 = r4663420 - r4663393;
        double r4663422 = r4663381 + r4663421;
        double r4663423 = r4663422 - r4663398;
        double r4663424 = r4663423 - r4663404;
        double r4663425 = 1.785670845810061e-61;
        bool r4663426 = r4663376 <= r4663425;
        double r4663427 = r4663426 ? r4663415 : r4663405;
        double r4663428 = r4663417 ? r4663424 : r4663427;
        double r4663429 = r4663407 ? r4663415 : r4663428;
        double r4663430 = r4663378 ? r4663405 : r4663429;
        return r4663430;
}

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

Derivation

  1. Split input into 3 regimes
  2. if t < -6.823488250285462e+70 or 1.785670845810061e-61 < t

    1. Initial program 2.0

      \[\left(\left(\left(\left(\left(\left(x \cdot 18.0\right) \cdot y\right) \cdot z\right) \cdot t - \left(a \cdot 4.0\right) \cdot t\right) + b \cdot c\right) - \left(x \cdot 4.0\right) \cdot i\right) - \left(j \cdot 27.0\right) \cdot k\]
    2. Using strategy rm
    3. Applied associate-*l*2.3

      \[\leadsto \left(\left(\left(\color{blue}{\left(\left(x \cdot 18.0\right) \cdot \left(y \cdot z\right)\right)} \cdot t - \left(a \cdot 4.0\right) \cdot t\right) + b \cdot c\right) - \left(x \cdot 4.0\right) \cdot i\right) - \left(j \cdot 27.0\right) \cdot k\]
    4. Taylor expanded around inf 2.3

      \[\leadsto \left(\left(\left(\color{blue}{18.0 \cdot \left(t \cdot \left(x \cdot \left(z \cdot y\right)\right)\right)} - \left(a \cdot 4.0\right) \cdot t\right) + b \cdot c\right) - \left(x \cdot 4.0\right) \cdot i\right) - \left(j \cdot 27.0\right) \cdot k\]
    5. Using strategy rm
    6. Applied associate-*r*2.1

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

    if -6.823488250285462e+70 < t < -1.0279681412385918e-260 or 6.297778380507014e-168 < t < 1.785670845810061e-61

    1. Initial program 5.2

      \[\left(\left(\left(\left(\left(\left(x \cdot 18.0\right) \cdot y\right) \cdot z\right) \cdot t - \left(a \cdot 4.0\right) \cdot t\right) + b \cdot c\right) - \left(x \cdot 4.0\right) \cdot i\right) - \left(j \cdot 27.0\right) \cdot k\]
    2. Using strategy rm
    3. Applied associate-*l*3.3

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

    if -1.0279681412385918e-260 < t < 6.297778380507014e-168

    1. Initial program 10.1

      \[\left(\left(\left(\left(\left(\left(x \cdot 18.0\right) \cdot y\right) \cdot z\right) \cdot t - \left(a \cdot 4.0\right) \cdot t\right) + b \cdot c\right) - \left(x \cdot 4.0\right) \cdot i\right) - \left(j \cdot 27.0\right) \cdot k\]
    2. Using strategy rm
    3. Applied associate-*l*10.4

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

      \[\leadsto \left(\left(\left(\color{blue}{\left(x \cdot 18.0\right) \cdot \left(\left(y \cdot z\right) \cdot t\right)} - \left(a \cdot 4.0\right) \cdot t\right) + b \cdot c\right) - \left(x \cdot 4.0\right) \cdot i\right) - \left(j \cdot 27.0\right) \cdot k\]
  3. Recombined 3 regimes into one program.
  4. Final simplification3.5

    \[\leadsto \begin{array}{l} \mathbf{if}\;t \le -6.823488250285462 \cdot 10^{+70}:\\ \;\;\;\;\left(\left(b \cdot c + \left(18.0 \cdot \left(t \cdot \left(y \cdot \left(x \cdot z\right)\right)\right) - \left(a \cdot 4.0\right) \cdot t\right)\right) - \left(x \cdot 4.0\right) \cdot i\right) - k \cdot \left(j \cdot 27.0\right)\\ \mathbf{elif}\;t \le -1.0279681412385918 \cdot 10^{-260}:\\ \;\;\;\;\left(\left(b \cdot c + \left(\left(z \cdot t\right) \cdot \left(\left(18.0 \cdot x\right) \cdot y\right) - \left(a \cdot 4.0\right) \cdot t\right)\right) - \left(x \cdot 4.0\right) \cdot i\right) - k \cdot \left(j \cdot 27.0\right)\\ \mathbf{elif}\;t \le 6.297778380507014 \cdot 10^{-168}:\\ \;\;\;\;\left(\left(b \cdot c + \left(\left(18.0 \cdot x\right) \cdot \left(t \cdot \left(y \cdot z\right)\right) - \left(a \cdot 4.0\right) \cdot t\right)\right) - \left(x \cdot 4.0\right) \cdot i\right) - k \cdot \left(j \cdot 27.0\right)\\ \mathbf{elif}\;t \le 1.785670845810061 \cdot 10^{-61}:\\ \;\;\;\;\left(\left(b \cdot c + \left(\left(z \cdot t\right) \cdot \left(\left(18.0 \cdot x\right) \cdot y\right) - \left(a \cdot 4.0\right) \cdot t\right)\right) - \left(x \cdot 4.0\right) \cdot i\right) - k \cdot \left(j \cdot 27.0\right)\\ \mathbf{else}:\\ \;\;\;\;\left(\left(b \cdot c + \left(18.0 \cdot \left(t \cdot \left(y \cdot \left(x \cdot z\right)\right)\right) - \left(a \cdot 4.0\right) \cdot t\right)\right) - \left(x \cdot 4.0\right) \cdot i\right) - k \cdot \left(j \cdot 27.0\right)\\ \end{array}\]

Reproduce

herbie shell --seed 2019134 
(FPCore (x y z t a b c i j k)
  :name "Diagrams.Solve.Polynomial:cubForm  from diagrams-solve-0.1"
  (- (- (+ (- (* (* (* (* x 18.0) y) z) t) (* (* a 4.0) t)) (* b c)) (* (* x 4.0) i)) (* (* j 27.0) k)))