Average Error: 5.6 → 0.7
Time: 39.3s
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(\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\right) - \left(27 \cdot j\right) \cdot k \le -2.768204954998920714545692361756405988778 \cdot 10^{305}:\\ \;\;\;\;\mathsf{fma}\left(b, c, \left(\left(y \cdot \left(z \cdot \left(t \cdot x\right)\right)\right) \cdot \sqrt{18}\right) \cdot \sqrt{18} - \mathsf{fma}\left(4, \mathsf{fma}\left(t, a, x \cdot i\right), \left(k \cdot j\right) \cdot 27\right)\right)\\ \mathbf{elif}\;\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\right) - \left(27 \cdot j\right) \cdot k \le 4.506487107324018323312747251398502442091 \cdot 10^{306}:\\ \;\;\;\;\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\right) - \left(27 \cdot j\right) \cdot k\\ \mathbf{else}:\\ \;\;\;\;\mathsf{fma}\left(b, c, \left(y \cdot 18\right) \cdot \left(z \cdot \left(t \cdot x\right)\right) - \mathsf{fma}\left(4, \mathsf{fma}\left(t, a, x \cdot i\right), j \cdot \left(k \cdot 27\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}\;\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\right) - \left(27 \cdot j\right) \cdot k \le -2.768204954998920714545692361756405988778 \cdot 10^{305}:\\
\;\;\;\;\mathsf{fma}\left(b, c, \left(\left(y \cdot \left(z \cdot \left(t \cdot x\right)\right)\right) \cdot \sqrt{18}\right) \cdot \sqrt{18} - \mathsf{fma}\left(4, \mathsf{fma}\left(t, a, x \cdot i\right), \left(k \cdot j\right) \cdot 27\right)\right)\\

\mathbf{elif}\;\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\right) - \left(27 \cdot j\right) \cdot k \le 4.506487107324018323312747251398502442091 \cdot 10^{306}:\\
\;\;\;\;\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\right) - \left(27 \cdot j\right) \cdot k\\

\mathbf{else}:\\
\;\;\;\;\mathsf{fma}\left(b, c, \left(y \cdot 18\right) \cdot \left(z \cdot \left(t \cdot x\right)\right) - \mathsf{fma}\left(4, \mathsf{fma}\left(t, a, x \cdot i\right), j \cdot \left(k \cdot 27\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 r4365263 = x;
        double r4365264 = 18.0;
        double r4365265 = r4365263 * r4365264;
        double r4365266 = y;
        double r4365267 = r4365265 * r4365266;
        double r4365268 = z;
        double r4365269 = r4365267 * r4365268;
        double r4365270 = t;
        double r4365271 = r4365269 * r4365270;
        double r4365272 = a;
        double r4365273 = 4.0;
        double r4365274 = r4365272 * r4365273;
        double r4365275 = r4365274 * r4365270;
        double r4365276 = r4365271 - r4365275;
        double r4365277 = b;
        double r4365278 = c;
        double r4365279 = r4365277 * r4365278;
        double r4365280 = r4365276 + r4365279;
        double r4365281 = r4365263 * r4365273;
        double r4365282 = i;
        double r4365283 = r4365281 * r4365282;
        double r4365284 = r4365280 - r4365283;
        double r4365285 = j;
        double r4365286 = 27.0;
        double r4365287 = r4365285 * r4365286;
        double r4365288 = k;
        double r4365289 = r4365287 * r4365288;
        double r4365290 = r4365284 - r4365289;
        return r4365290;
}

double f(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k) {
        double r4365291 = t;
        double r4365292 = x;
        double r4365293 = 18.0;
        double r4365294 = r4365292 * r4365293;
        double r4365295 = y;
        double r4365296 = r4365294 * r4365295;
        double r4365297 = z;
        double r4365298 = r4365296 * r4365297;
        double r4365299 = r4365291 * r4365298;
        double r4365300 = a;
        double r4365301 = 4.0;
        double r4365302 = r4365300 * r4365301;
        double r4365303 = r4365302 * r4365291;
        double r4365304 = r4365299 - r4365303;
        double r4365305 = c;
        double r4365306 = b;
        double r4365307 = r4365305 * r4365306;
        double r4365308 = r4365304 + r4365307;
        double r4365309 = r4365292 * r4365301;
        double r4365310 = i;
        double r4365311 = r4365309 * r4365310;
        double r4365312 = r4365308 - r4365311;
        double r4365313 = 27.0;
        double r4365314 = j;
        double r4365315 = r4365313 * r4365314;
        double r4365316 = k;
        double r4365317 = r4365315 * r4365316;
        double r4365318 = r4365312 - r4365317;
        double r4365319 = -2.7682049549989207e+305;
        bool r4365320 = r4365318 <= r4365319;
        double r4365321 = r4365291 * r4365292;
        double r4365322 = r4365297 * r4365321;
        double r4365323 = r4365295 * r4365322;
        double r4365324 = sqrt(r4365293);
        double r4365325 = r4365323 * r4365324;
        double r4365326 = r4365325 * r4365324;
        double r4365327 = r4365292 * r4365310;
        double r4365328 = fma(r4365291, r4365300, r4365327);
        double r4365329 = r4365316 * r4365314;
        double r4365330 = r4365329 * r4365313;
        double r4365331 = fma(r4365301, r4365328, r4365330);
        double r4365332 = r4365326 - r4365331;
        double r4365333 = fma(r4365306, r4365305, r4365332);
        double r4365334 = 4.5064871073240183e+306;
        bool r4365335 = r4365318 <= r4365334;
        double r4365336 = r4365295 * r4365293;
        double r4365337 = r4365336 * r4365322;
        double r4365338 = r4365316 * r4365313;
        double r4365339 = r4365314 * r4365338;
        double r4365340 = fma(r4365301, r4365328, r4365339);
        double r4365341 = r4365337 - r4365340;
        double r4365342 = fma(r4365306, r4365305, r4365341);
        double r4365343 = r4365335 ? r4365318 : r4365342;
        double r4365344 = r4365320 ? r4365333 : r4365343;
        return r4365344;
}

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

Derivation

  1. Split input into 3 regimes
  2. if (- (- (+ (- (* (* (* (* x 18.0) y) z) t) (* (* a 4.0) t)) (* b c)) (* (* x 4.0) i)) (* (* j 27.0) k)) < -2.7682049549989207e+305

    1. Initial program 58.2

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

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

      \[\leadsto \mathsf{fma}\left(b, c, \color{blue}{\left(z \cdot \left(t \cdot x\right)\right) \cdot \left(y \cdot 18\right)} - \mathsf{fma}\left(4, \mathsf{fma}\left(t, a, x \cdot i\right), 27 \cdot \left(k \cdot j\right)\right)\right)\]
    5. Using strategy rm
    6. Applied associate-*r*4.9

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

      \[\leadsto \mathsf{fma}\left(b, c, \left(\left(z \cdot \left(t \cdot x\right)\right) \cdot y\right) \cdot \color{blue}{\left(\sqrt{18} \cdot \sqrt{18}\right)} - \mathsf{fma}\left(4, \mathsf{fma}\left(t, a, x \cdot i\right), 27 \cdot \left(k \cdot j\right)\right)\right)\]
    9. Applied associate-*r*5.1

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

    if -2.7682049549989207e+305 < (- (- (+ (- (* (* (* (* x 18.0) y) z) t) (* (* a 4.0) t)) (* b c)) (* (* x 4.0) i)) (* (* j 27.0) k)) < 4.5064871073240183e+306

    1. Initial program 0.2

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

    if 4.5064871073240183e+306 < (- (- (+ (- (* (* (* (* x 18.0) y) z) t) (* (* a 4.0) t)) (* b c)) (* (* x 4.0) i)) (* (* j 27.0) k))

    1. Initial program 60.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. Simplified12.1

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

      \[\leadsto \mathsf{fma}\left(b, c, \color{blue}{\left(z \cdot \left(t \cdot x\right)\right) \cdot \left(y \cdot 18\right)} - \mathsf{fma}\left(4, \mathsf{fma}\left(t, a, x \cdot i\right), 27 \cdot \left(k \cdot j\right)\right)\right)\]
    5. Using strategy rm
    6. Applied associate-*r*5.7

      \[\leadsto \mathsf{fma}\left(b, c, \left(z \cdot \left(t \cdot x\right)\right) \cdot \left(y \cdot 18\right) - \mathsf{fma}\left(4, \mathsf{fma}\left(t, a, x \cdot i\right), \color{blue}{\left(27 \cdot k\right) \cdot j}\right)\right)\]
  3. Recombined 3 regimes into one program.
  4. Final simplification0.7

    \[\leadsto \begin{array}{l} \mathbf{if}\;\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\right) - \left(27 \cdot j\right) \cdot k \le -2.768204954998920714545692361756405988778 \cdot 10^{305}:\\ \;\;\;\;\mathsf{fma}\left(b, c, \left(\left(y \cdot \left(z \cdot \left(t \cdot x\right)\right)\right) \cdot \sqrt{18}\right) \cdot \sqrt{18} - \mathsf{fma}\left(4, \mathsf{fma}\left(t, a, x \cdot i\right), \left(k \cdot j\right) \cdot 27\right)\right)\\ \mathbf{elif}\;\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\right) - \left(27 \cdot j\right) \cdot k \le 4.506487107324018323312747251398502442091 \cdot 10^{306}:\\ \;\;\;\;\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\right) - \left(27 \cdot j\right) \cdot k\\ \mathbf{else}:\\ \;\;\;\;\mathsf{fma}\left(b, c, \left(y \cdot 18\right) \cdot \left(z \cdot \left(t \cdot x\right)\right) - \mathsf{fma}\left(4, \mathsf{fma}\left(t, a, x \cdot i\right), j \cdot \left(k \cdot 27\right)\right)\right)\\ \end{array}\]

Reproduce

herbie shell --seed 2019170 +o rules:numerics
(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)))