Average Error: 5.4 → 3.2
Time: 11.1s
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(\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 = -\infty \lor \neg \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 \le 1.8861221108658555 \cdot 10^{291}\right):\\ \;\;\;\;\left(\left(\left(0 - \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\\ \mathbf{else}:\\ \;\;\;\;\left(\left(\left(\left(\sqrt[3]{\left(\left(\left(x \cdot 18\right) \cdot y\right) \cdot z\right) \cdot t} \cdot \sqrt[3]{\left(\left(\left(x \cdot 18\right) \cdot y\right) \cdot z\right) \cdot t}\right) \cdot \sqrt[3]{\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\\ \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(\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 = -\infty \lor \neg \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 \le 1.8861221108658555 \cdot 10^{291}\right):\\
\;\;\;\;\left(\left(\left(0 - \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\\

\mathbf{else}:\\
\;\;\;\;\left(\left(\left(\left(\sqrt[3]{\left(\left(\left(x \cdot 18\right) \cdot y\right) \cdot z\right) \cdot t} \cdot \sqrt[3]{\left(\left(\left(x \cdot 18\right) \cdot y\right) \cdot z\right) \cdot t}\right) \cdot \sqrt[3]{\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\\

\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 r109204 = x;
        double r109205 = 18.0;
        double r109206 = r109204 * r109205;
        double r109207 = y;
        double r109208 = r109206 * r109207;
        double r109209 = z;
        double r109210 = r109208 * r109209;
        double r109211 = t;
        double r109212 = r109210 * r109211;
        double r109213 = a;
        double r109214 = 4.0;
        double r109215 = r109213 * r109214;
        double r109216 = r109215 * r109211;
        double r109217 = r109212 - r109216;
        double r109218 = b;
        double r109219 = c;
        double r109220 = r109218 * r109219;
        double r109221 = r109217 + r109220;
        double r109222 = r109204 * r109214;
        double r109223 = i;
        double r109224 = r109222 * r109223;
        double r109225 = r109221 - r109224;
        double r109226 = j;
        double r109227 = 27.0;
        double r109228 = r109226 * r109227;
        double r109229 = k;
        double r109230 = r109228 * r109229;
        double r109231 = r109225 - r109230;
        return r109231;
}

double f(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k) {
        double r109232 = x;
        double r109233 = 18.0;
        double r109234 = r109232 * r109233;
        double r109235 = y;
        double r109236 = r109234 * r109235;
        double r109237 = z;
        double r109238 = r109236 * r109237;
        double r109239 = t;
        double r109240 = r109238 * r109239;
        double r109241 = a;
        double r109242 = 4.0;
        double r109243 = r109241 * r109242;
        double r109244 = r109243 * r109239;
        double r109245 = r109240 - r109244;
        double r109246 = b;
        double r109247 = c;
        double r109248 = r109246 * r109247;
        double r109249 = r109245 + r109248;
        double r109250 = r109232 * r109242;
        double r109251 = i;
        double r109252 = r109250 * r109251;
        double r109253 = r109249 - r109252;
        double r109254 = -inf.0;
        bool r109255 = r109253 <= r109254;
        double r109256 = 1.8861221108658555e+291;
        bool r109257 = r109253 <= r109256;
        double r109258 = !r109257;
        bool r109259 = r109255 || r109258;
        double r109260 = 0.0;
        double r109261 = r109260 - r109244;
        double r109262 = r109261 + r109248;
        double r109263 = r109262 - r109252;
        double r109264 = j;
        double r109265 = 27.0;
        double r109266 = r109264 * r109265;
        double r109267 = k;
        double r109268 = r109266 * r109267;
        double r109269 = r109263 - r109268;
        double r109270 = cbrt(r109240);
        double r109271 = r109270 * r109270;
        double r109272 = r109271 * r109270;
        double r109273 = r109272 - r109244;
        double r109274 = r109273 + r109248;
        double r109275 = r109274 - r109252;
        double r109276 = r109275 - r109268;
        double r109277 = r109259 ? r109269 : r109276;
        return r109277;
}

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 2 regimes
  2. if (- (+ (- (* (* (* (* x 18.0) y) z) t) (* (* a 4.0) t)) (* b c)) (* (* x 4.0) i)) < -inf.0 or 1.8861221108658555e+291 < (- (+ (- (* (* (* (* x 18.0) y) z) t) (* (* a 4.0) t)) (* b c)) (* (* x 4.0) i))

    1. Initial program 51.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. Taylor expanded around 0 27.7

      \[\leadsto \left(\left(\left(\color{blue}{0} - \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 -inf.0 < (- (+ (- (* (* (* (* x 18.0) y) z) t) (* (* a 4.0) t)) (* b c)) (* (* x 4.0) i)) < 1.8861221108658555e+291

    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.5

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

    \[\leadsto \begin{array}{l} \mathbf{if}\;\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 = -\infty \lor \neg \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 \le 1.8861221108658555 \cdot 10^{291}\right):\\ \;\;\;\;\left(\left(\left(0 - \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\\ \mathbf{else}:\\ \;\;\;\;\left(\left(\left(\left(\sqrt[3]{\left(\left(\left(x \cdot 18\right) \cdot y\right) \cdot z\right) \cdot t} \cdot \sqrt[3]{\left(\left(\left(x \cdot 18\right) \cdot y\right) \cdot z\right) \cdot t}\right) \cdot \sqrt[3]{\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\\ \end{array}\]

Reproduce

herbie shell --seed 2020003 +o rules:numerics
(FPCore (x y z t a b c i j k)
  :name "Diagrams.Solve.Polynomial:cubForm  from diagrams-solve-0.1"
  :precision binary64
  (- (- (+ (- (* (* (* (* x 18) y) z) t) (* (* a 4) t)) (* b c)) (* (* x 4) i)) (* (* j 27) k)))