Average Error: 0.0 → 0.6
Time: 12.1s
Precision: 64
\[\left(\left(x \cdot y + z \cdot t\right) + a \cdot b\right) + c \cdot i\]
\[\left(\left(\sqrt[3]{x \cdot y + z \cdot t} \cdot \sqrt[3]{x \cdot y + z \cdot t}\right) \cdot \sqrt[3]{x \cdot y + z \cdot t} + a \cdot b\right) + c \cdot i\]
\left(\left(x \cdot y + z \cdot t\right) + a \cdot b\right) + c \cdot i
\left(\left(\sqrt[3]{x \cdot y + z \cdot t} \cdot \sqrt[3]{x \cdot y + z \cdot t}\right) \cdot \sqrt[3]{x \cdot y + z \cdot t} + a \cdot b\right) + c \cdot i
double f(double x, double y, double z, double t, double a, double b, double c, double i) {
        double r93633 = x;
        double r93634 = y;
        double r93635 = r93633 * r93634;
        double r93636 = z;
        double r93637 = t;
        double r93638 = r93636 * r93637;
        double r93639 = r93635 + r93638;
        double r93640 = a;
        double r93641 = b;
        double r93642 = r93640 * r93641;
        double r93643 = r93639 + r93642;
        double r93644 = c;
        double r93645 = i;
        double r93646 = r93644 * r93645;
        double r93647 = r93643 + r93646;
        return r93647;
}

double f(double x, double y, double z, double t, double a, double b, double c, double i) {
        double r93648 = x;
        double r93649 = y;
        double r93650 = r93648 * r93649;
        double r93651 = z;
        double r93652 = t;
        double r93653 = r93651 * r93652;
        double r93654 = r93650 + r93653;
        double r93655 = cbrt(r93654);
        double r93656 = r93655 * r93655;
        double r93657 = r93656 * r93655;
        double r93658 = a;
        double r93659 = b;
        double r93660 = r93658 * r93659;
        double r93661 = r93657 + r93660;
        double r93662 = c;
        double r93663 = i;
        double r93664 = r93662 * r93663;
        double r93665 = r93661 + r93664;
        return r93665;
}

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 add-cube-cbrt0.6

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

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

Reproduce

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