Average Error: 5.7 → 5.0
Time: 27.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}\;t \le -8.580938398712717545524727866274452921134 \cdot 10^{-92}:\\ \;\;\;\;\left(\left(t \cdot \left(\left(x \cdot 18\right) \cdot \left(y \cdot z\right) - a \cdot 4\right) + b \cdot c\right) - \left(x \cdot 4\right) \cdot i\right) - 27 \cdot \left(j \cdot k\right)\\ \mathbf{elif}\;t \le 5888699400.34645938873291015625:\\ \;\;\;\;\left(\left(\left(-a \cdot 4\right) \cdot t + b \cdot c\right) - \left(x \cdot 4\right) \cdot i\right) - 27 \cdot \left(j \cdot k\right)\\ \mathbf{else}:\\ \;\;\;\;\left(\left(t \cdot \left(\left(x \cdot 18\right) \cdot \left(y \cdot z\right) - a \cdot 4\right) + b \cdot c\right) - \left(x \cdot 4\right) \cdot i\right) - 27 \cdot \left(j \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 -8.580938398712717545524727866274452921134 \cdot 10^{-92}:\\
\;\;\;\;\left(\left(t \cdot \left(\left(x \cdot 18\right) \cdot \left(y \cdot z\right) - a \cdot 4\right) + b \cdot c\right) - \left(x \cdot 4\right) \cdot i\right) - 27 \cdot \left(j \cdot k\right)\\

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

\mathbf{else}:\\
\;\;\;\;\left(\left(t \cdot \left(\left(x \cdot 18\right) \cdot \left(y \cdot z\right) - a \cdot 4\right) + b \cdot c\right) - \left(x \cdot 4\right) \cdot i\right) - 27 \cdot \left(j \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 r8736149 = x;
        double r8736150 = 18.0;
        double r8736151 = r8736149 * r8736150;
        double r8736152 = y;
        double r8736153 = r8736151 * r8736152;
        double r8736154 = z;
        double r8736155 = r8736153 * r8736154;
        double r8736156 = t;
        double r8736157 = r8736155 * r8736156;
        double r8736158 = a;
        double r8736159 = 4.0;
        double r8736160 = r8736158 * r8736159;
        double r8736161 = r8736160 * r8736156;
        double r8736162 = r8736157 - r8736161;
        double r8736163 = b;
        double r8736164 = c;
        double r8736165 = r8736163 * r8736164;
        double r8736166 = r8736162 + r8736165;
        double r8736167 = r8736149 * r8736159;
        double r8736168 = i;
        double r8736169 = r8736167 * r8736168;
        double r8736170 = r8736166 - r8736169;
        double r8736171 = j;
        double r8736172 = 27.0;
        double r8736173 = r8736171 * r8736172;
        double r8736174 = k;
        double r8736175 = r8736173 * r8736174;
        double r8736176 = r8736170 - r8736175;
        return r8736176;
}

double f(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k) {
        double r8736177 = t;
        double r8736178 = -8.580938398712718e-92;
        bool r8736179 = r8736177 <= r8736178;
        double r8736180 = x;
        double r8736181 = 18.0;
        double r8736182 = r8736180 * r8736181;
        double r8736183 = y;
        double r8736184 = z;
        double r8736185 = r8736183 * r8736184;
        double r8736186 = r8736182 * r8736185;
        double r8736187 = a;
        double r8736188 = 4.0;
        double r8736189 = r8736187 * r8736188;
        double r8736190 = r8736186 - r8736189;
        double r8736191 = r8736177 * r8736190;
        double r8736192 = b;
        double r8736193 = c;
        double r8736194 = r8736192 * r8736193;
        double r8736195 = r8736191 + r8736194;
        double r8736196 = r8736180 * r8736188;
        double r8736197 = i;
        double r8736198 = r8736196 * r8736197;
        double r8736199 = r8736195 - r8736198;
        double r8736200 = 27.0;
        double r8736201 = j;
        double r8736202 = k;
        double r8736203 = r8736201 * r8736202;
        double r8736204 = r8736200 * r8736203;
        double r8736205 = r8736199 - r8736204;
        double r8736206 = 5888699400.346459;
        bool r8736207 = r8736177 <= r8736206;
        double r8736208 = -r8736189;
        double r8736209 = r8736208 * r8736177;
        double r8736210 = r8736209 + r8736194;
        double r8736211 = r8736210 - r8736198;
        double r8736212 = r8736211 - r8736204;
        double r8736213 = r8736207 ? r8736212 : r8736205;
        double r8736214 = r8736179 ? r8736205 : r8736213;
        return r8736214;
}

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 t < -8.580938398712718e-92 or 5888699400.346459 < t

    1. Initial program 2.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. Simplified2.1

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

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

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

    if -8.580938398712718e-92 < t < 5888699400.346459

    1. Initial program 8.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. Simplified8.7

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

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

      \[\leadsto \left(\left(t \cdot \left(\color{blue}{0} - a \cdot 4\right) + b \cdot c\right) - \left(x \cdot 4\right) \cdot i\right) - 27 \cdot \left(j \cdot k\right)\]
  3. Recombined 2 regimes into one program.
  4. Final simplification5.0

    \[\leadsto \begin{array}{l} \mathbf{if}\;t \le -8.580938398712717545524727866274452921134 \cdot 10^{-92}:\\ \;\;\;\;\left(\left(t \cdot \left(\left(x \cdot 18\right) \cdot \left(y \cdot z\right) - a \cdot 4\right) + b \cdot c\right) - \left(x \cdot 4\right) \cdot i\right) - 27 \cdot \left(j \cdot k\right)\\ \mathbf{elif}\;t \le 5888699400.34645938873291015625:\\ \;\;\;\;\left(\left(\left(-a \cdot 4\right) \cdot t + b \cdot c\right) - \left(x \cdot 4\right) \cdot i\right) - 27 \cdot \left(j \cdot k\right)\\ \mathbf{else}:\\ \;\;\;\;\left(\left(t \cdot \left(\left(x \cdot 18\right) \cdot \left(y \cdot z\right) - a \cdot 4\right) + b \cdot c\right) - \left(x \cdot 4\right) \cdot i\right) - 27 \cdot \left(j \cdot k\right)\\ \end{array}\]

Reproduce

herbie shell --seed 2019173 
(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)))