\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}\;y \le -79947795266535889017732736163201941504:\\
\;\;\;\;\left(\left(\left(\left(\left(x \cdot 18\right) \cdot y\right) \cdot \left(t \cdot z\right) - \left(a \cdot 4\right) \cdot t\right) + b \cdot c\right) - \left(x \cdot 4\right) \cdot i\right) - 27 \cdot \left(k \cdot j\right)\\
\mathbf{elif}\;y \le 36329201731618045933363253213134848:\\
\;\;\;\;\left(\left(\left(18 \cdot \left(t \cdot \left(x \cdot \left(z \cdot y\right)\right)\right) - \left(a \cdot 4\right) \cdot t\right) + b \cdot c\right) - \left(x \cdot 4\right) \cdot i\right) - j \cdot \left(27 \cdot k\right)\\
\mathbf{else}:\\
\;\;\;\;\left(\left(\left(\left(18 \cdot \left(x \cdot y\right)\right) \cdot \left(t \cdot z\right) - \left(a \cdot 4\right) \cdot t\right) + b \cdot c\right) - \left(x \cdot 4\right) \cdot i\right) - j \cdot \left(27 \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 r120616 = x;
double r120617 = 18.0;
double r120618 = r120616 * r120617;
double r120619 = y;
double r120620 = r120618 * r120619;
double r120621 = z;
double r120622 = r120620 * r120621;
double r120623 = t;
double r120624 = r120622 * r120623;
double r120625 = a;
double r120626 = 4.0;
double r120627 = r120625 * r120626;
double r120628 = r120627 * r120623;
double r120629 = r120624 - r120628;
double r120630 = b;
double r120631 = c;
double r120632 = r120630 * r120631;
double r120633 = r120629 + r120632;
double r120634 = r120616 * r120626;
double r120635 = i;
double r120636 = r120634 * r120635;
double r120637 = r120633 - r120636;
double r120638 = j;
double r120639 = 27.0;
double r120640 = r120638 * r120639;
double r120641 = k;
double r120642 = r120640 * r120641;
double r120643 = r120637 - r120642;
return r120643;
}
double f(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k) {
double r120644 = y;
double r120645 = -7.994779526653589e+37;
bool r120646 = r120644 <= r120645;
double r120647 = x;
double r120648 = 18.0;
double r120649 = r120647 * r120648;
double r120650 = r120649 * r120644;
double r120651 = t;
double r120652 = z;
double r120653 = r120651 * r120652;
double r120654 = r120650 * r120653;
double r120655 = a;
double r120656 = 4.0;
double r120657 = r120655 * r120656;
double r120658 = r120657 * r120651;
double r120659 = r120654 - r120658;
double r120660 = b;
double r120661 = c;
double r120662 = r120660 * r120661;
double r120663 = r120659 + r120662;
double r120664 = r120647 * r120656;
double r120665 = i;
double r120666 = r120664 * r120665;
double r120667 = r120663 - r120666;
double r120668 = 27.0;
double r120669 = k;
double r120670 = j;
double r120671 = r120669 * r120670;
double r120672 = r120668 * r120671;
double r120673 = r120667 - r120672;
double r120674 = 3.6329201731618046e+34;
bool r120675 = r120644 <= r120674;
double r120676 = r120652 * r120644;
double r120677 = r120647 * r120676;
double r120678 = r120651 * r120677;
double r120679 = r120648 * r120678;
double r120680 = r120679 - r120658;
double r120681 = r120680 + r120662;
double r120682 = r120681 - r120666;
double r120683 = r120668 * r120669;
double r120684 = r120670 * r120683;
double r120685 = r120682 - r120684;
double r120686 = r120647 * r120644;
double r120687 = r120648 * r120686;
double r120688 = r120687 * r120653;
double r120689 = r120688 - r120658;
double r120690 = r120689 + r120662;
double r120691 = r120690 - r120666;
double r120692 = r120691 - r120684;
double r120693 = r120675 ? r120685 : r120692;
double r120694 = r120646 ? r120673 : r120693;
return r120694;
}



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
Results
if y < -7.994779526653589e+37Initial program 12.5
rmApplied associate-*l*12.4
rmApplied associate-*l*8.9
Simplified8.9
Taylor expanded around 0 8.9
if -7.994779526653589e+37 < y < 3.6329201731618046e+34Initial program 1.5
rmApplied associate-*l*1.5
rmApplied pow11.5
Applied pow11.5
Applied pow11.5
Applied pow11.5
Applied pow11.5
Applied pow-prod-down1.5
Applied pow-prod-down1.5
Applied pow-prod-down1.5
Applied pow-prod-down1.5
Simplified1.4
if 3.6329201731618046e+34 < y Initial program 10.8
rmApplied associate-*l*10.8
rmApplied associate-*l*8.0
Simplified8.0
Taylor expanded around 0 8.0
Final simplification4.1
herbie shell --seed 2019304 +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)))