Average Error: 0.0 → 0.6
Time: 13.6s
Precision: 64
\[\left(\left(x \cdot y + z \cdot t\right) + a \cdot b\right) + c \cdot i\]
\[\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} + \left(a \cdot b + i \cdot c\right)\]
\left(\left(x \cdot y + z \cdot t\right) + a \cdot b\right) + c \cdot i
\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} + \left(a \cdot b + i \cdot c\right)
double f(double x, double y, double z, double t, double a, double b, double c, double i) {
        double r71144 = x;
        double r71145 = y;
        double r71146 = r71144 * r71145;
        double r71147 = z;
        double r71148 = t;
        double r71149 = r71147 * r71148;
        double r71150 = r71146 + r71149;
        double r71151 = a;
        double r71152 = b;
        double r71153 = r71151 * r71152;
        double r71154 = r71150 + r71153;
        double r71155 = c;
        double r71156 = i;
        double r71157 = r71155 * r71156;
        double r71158 = r71154 + r71157;
        return r71158;
}

double f(double x, double y, double z, double t, double a, double b, double c, double i) {
        double r71159 = x;
        double r71160 = y;
        double r71161 = r71159 * r71160;
        double r71162 = z;
        double r71163 = t;
        double r71164 = r71162 * r71163;
        double r71165 = r71161 + r71164;
        double r71166 = cbrt(r71165);
        double r71167 = r71166 * r71166;
        double r71168 = r71167 * r71166;
        double r71169 = a;
        double r71170 = b;
        double r71171 = r71169 * r71170;
        double r71172 = i;
        double r71173 = c;
        double r71174 = r71172 * r71173;
        double r71175 = r71171 + r71174;
        double r71176 = r71168 + r71175;
        return r71176;
}

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. Simplified0.0

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

    \[\leadsto \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}} + \left(a \cdot b + i \cdot c\right)\]
  7. Final simplification0.6

    \[\leadsto \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} + \left(a \cdot b + i \cdot c\right)\]

Reproduce

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