Average Error: 0.0 → 0.7
Time: 16.5s
Precision: 64
\[\left(\left(x \cdot y + z \cdot t\right) + a \cdot b\right) + c \cdot i\]
\[\left(z \cdot t + x \cdot y\right) + \left(\sqrt[3]{c \cdot i + a \cdot b} \cdot \sqrt[3]{c \cdot i + a \cdot b}\right) \cdot \sqrt[3]{c \cdot i + a \cdot b}\]
\left(\left(x \cdot y + z \cdot t\right) + a \cdot b\right) + c \cdot i
\left(z \cdot t + x \cdot y\right) + \left(\sqrt[3]{c \cdot i + a \cdot b} \cdot \sqrt[3]{c \cdot i + a \cdot b}\right) \cdot \sqrt[3]{c \cdot i + a \cdot b}
double f(double x, double y, double z, double t, double a, double b, double c, double i) {
        double r3433612 = x;
        double r3433613 = y;
        double r3433614 = r3433612 * r3433613;
        double r3433615 = z;
        double r3433616 = t;
        double r3433617 = r3433615 * r3433616;
        double r3433618 = r3433614 + r3433617;
        double r3433619 = a;
        double r3433620 = b;
        double r3433621 = r3433619 * r3433620;
        double r3433622 = r3433618 + r3433621;
        double r3433623 = c;
        double r3433624 = i;
        double r3433625 = r3433623 * r3433624;
        double r3433626 = r3433622 + r3433625;
        return r3433626;
}

double f(double x, double y, double z, double t, double a, double b, double c, double i) {
        double r3433627 = z;
        double r3433628 = t;
        double r3433629 = r3433627 * r3433628;
        double r3433630 = x;
        double r3433631 = y;
        double r3433632 = r3433630 * r3433631;
        double r3433633 = r3433629 + r3433632;
        double r3433634 = c;
        double r3433635 = i;
        double r3433636 = r3433634 * r3433635;
        double r3433637 = a;
        double r3433638 = b;
        double r3433639 = r3433637 * r3433638;
        double r3433640 = r3433636 + r3433639;
        double r3433641 = cbrt(r3433640);
        double r3433642 = r3433641 * r3433641;
        double r3433643 = r3433642 * r3433641;
        double r3433644 = r3433633 + r3433643;
        return r3433644;
}

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

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 0.0

    \[\left(\left(x \cdot y + z \cdot t\right) + a \cdot b\right) + c \cdot i\]
  2. Using strategy rm
  3. Applied associate-+l+0.0

    \[\leadsto \color{blue}{\left(x \cdot y + z \cdot t\right) + \left(a \cdot b + c \cdot i\right)}\]
  4. Using strategy rm
  5. Applied add-cube-cbrt0.7

    \[\leadsto \left(x \cdot y + z \cdot t\right) + \color{blue}{\left(\sqrt[3]{a \cdot b + c \cdot i} \cdot \sqrt[3]{a \cdot b + c \cdot i}\right) \cdot \sqrt[3]{a \cdot b + c \cdot i}}\]
  6. Final simplification0.7

    \[\leadsto \left(z \cdot t + x \cdot y\right) + \left(\sqrt[3]{c \cdot i + a \cdot b} \cdot \sqrt[3]{c \cdot i + a \cdot b}\right) \cdot \sqrt[3]{c \cdot i + a \cdot b}\]

Reproduce

herbie shell --seed 2019162 
(FPCore (x y z t a b c i)
  :name "Linear.V4:$cdot from linear-1.19.1.3"
  (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)))