Average Error: 1.5 → 0.7
Time: 13.0s
Precision: 64
\[\left|\frac{x + 4}{y} - \frac{x}{y} \cdot z\right|\]
\[\left|\frac{4 + x}{y} - \frac{\sqrt[3]{x} \cdot \sqrt[3]{x}}{\sqrt[3]{y} \cdot \sqrt[3]{y}} \cdot \left(\frac{\sqrt[3]{x}}{\sqrt[3]{y}} \cdot z\right)\right|\]
\left|\frac{x + 4}{y} - \frac{x}{y} \cdot z\right|
\left|\frac{4 + x}{y} - \frac{\sqrt[3]{x} \cdot \sqrt[3]{x}}{\sqrt[3]{y} \cdot \sqrt[3]{y}} \cdot \left(\frac{\sqrt[3]{x}}{\sqrt[3]{y}} \cdot z\right)\right|
double f(double x, double y, double z) {
        double r747901 = x;
        double r747902 = 4.0;
        double r747903 = r747901 + r747902;
        double r747904 = y;
        double r747905 = r747903 / r747904;
        double r747906 = r747901 / r747904;
        double r747907 = z;
        double r747908 = r747906 * r747907;
        double r747909 = r747905 - r747908;
        double r747910 = fabs(r747909);
        return r747910;
}

double f(double x, double y, double z) {
        double r747911 = 4.0;
        double r747912 = x;
        double r747913 = r747911 + r747912;
        double r747914 = y;
        double r747915 = r747913 / r747914;
        double r747916 = cbrt(r747912);
        double r747917 = r747916 * r747916;
        double r747918 = cbrt(r747914);
        double r747919 = r747918 * r747918;
        double r747920 = r747917 / r747919;
        double r747921 = r747916 / r747918;
        double r747922 = z;
        double r747923 = r747921 * r747922;
        double r747924 = r747920 * r747923;
        double r747925 = r747915 - r747924;
        double r747926 = fabs(r747925);
        return r747926;
}

Error

Bits error versus x

Bits error versus y

Bits error versus z

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 1.5

    \[\left|\frac{x + 4}{y} - \frac{x}{y} \cdot z\right|\]
  2. Using strategy rm
  3. Applied add-cube-cbrt1.8

    \[\leadsto \left|\frac{x + 4}{y} - \frac{x}{\color{blue}{\left(\sqrt[3]{y} \cdot \sqrt[3]{y}\right) \cdot \sqrt[3]{y}}} \cdot z\right|\]
  4. Applied add-cube-cbrt1.9

    \[\leadsto \left|\frac{x + 4}{y} - \frac{\color{blue}{\left(\sqrt[3]{x} \cdot \sqrt[3]{x}\right) \cdot \sqrt[3]{x}}}{\left(\sqrt[3]{y} \cdot \sqrt[3]{y}\right) \cdot \sqrt[3]{y}} \cdot z\right|\]
  5. Applied times-frac1.9

    \[\leadsto \left|\frac{x + 4}{y} - \color{blue}{\left(\frac{\sqrt[3]{x} \cdot \sqrt[3]{x}}{\sqrt[3]{y} \cdot \sqrt[3]{y}} \cdot \frac{\sqrt[3]{x}}{\sqrt[3]{y}}\right)} \cdot z\right|\]
  6. Applied associate-*l*0.7

    \[\leadsto \left|\frac{x + 4}{y} - \color{blue}{\frac{\sqrt[3]{x} \cdot \sqrt[3]{x}}{\sqrt[3]{y} \cdot \sqrt[3]{y}} \cdot \left(\frac{\sqrt[3]{x}}{\sqrt[3]{y}} \cdot z\right)}\right|\]
  7. Final simplification0.7

    \[\leadsto \left|\frac{4 + x}{y} - \frac{\sqrt[3]{x} \cdot \sqrt[3]{x}}{\sqrt[3]{y} \cdot \sqrt[3]{y}} \cdot \left(\frac{\sqrt[3]{x}}{\sqrt[3]{y}} \cdot z\right)\right|\]

Reproduce

herbie shell --seed 2019154 +o rules:numerics
(FPCore (x y z)
  :name "fabs fraction 1"
  (fabs (- (/ (+ x 4) y) (* (/ x y) z))))