Average Error: 1.6 → 2.0
Time: 3.7s
Precision: 64
\[\left|\frac{x + 4}{y} - \frac{x}{y} \cdot z\right|\]
\[\left|\frac{x + 4}{y} - \frac{x}{\sqrt[3]{y} \cdot \sqrt[3]{y}} \cdot \frac{z}{\sqrt[3]{y}}\right|\]
\left|\frac{x + 4}{y} - \frac{x}{y} \cdot z\right|
\left|\frac{x + 4}{y} - \frac{x}{\sqrt[3]{y} \cdot \sqrt[3]{y}} \cdot \frac{z}{\sqrt[3]{y}}\right|
double f(double x, double y, double z) {
        double r28855 = x;
        double r28856 = 4.0;
        double r28857 = r28855 + r28856;
        double r28858 = y;
        double r28859 = r28857 / r28858;
        double r28860 = r28855 / r28858;
        double r28861 = z;
        double r28862 = r28860 * r28861;
        double r28863 = r28859 - r28862;
        double r28864 = fabs(r28863);
        return r28864;
}

double f(double x, double y, double z) {
        double r28865 = x;
        double r28866 = 4.0;
        double r28867 = r28865 + r28866;
        double r28868 = y;
        double r28869 = r28867 / r28868;
        double r28870 = cbrt(r28868);
        double r28871 = r28870 * r28870;
        double r28872 = r28865 / r28871;
        double r28873 = z;
        double r28874 = r28873 / r28870;
        double r28875 = r28872 * r28874;
        double r28876 = r28869 - r28875;
        double r28877 = fabs(r28876);
        return r28877;
}

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.6

    \[\left|\frac{x + 4}{y} - \frac{x}{y} \cdot z\right|\]
  2. Using strategy rm
  3. Applied div-inv1.6

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

    \[\leadsto \left|\frac{x + 4}{y} - \color{blue}{x \cdot \left(\frac{1}{y} \cdot z\right)}\right|\]
  5. Simplified3.4

    \[\leadsto \left|\frac{x + 4}{y} - x \cdot \color{blue}{\frac{z}{y}}\right|\]
  6. Using strategy rm
  7. Applied add-cube-cbrt3.7

    \[\leadsto \left|\frac{x + 4}{y} - x \cdot \frac{z}{\color{blue}{\left(\sqrt[3]{y} \cdot \sqrt[3]{y}\right) \cdot \sqrt[3]{y}}}\right|\]
  8. Applied *-un-lft-identity3.7

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

    \[\leadsto \left|\frac{x + 4}{y} - x \cdot \color{blue}{\left(\frac{1}{\sqrt[3]{y} \cdot \sqrt[3]{y}} \cdot \frac{z}{\sqrt[3]{y}}\right)}\right|\]
  10. Applied associate-*r*2.0

    \[\leadsto \left|\frac{x + 4}{y} - \color{blue}{\left(x \cdot \frac{1}{\sqrt[3]{y} \cdot \sqrt[3]{y}}\right) \cdot \frac{z}{\sqrt[3]{y}}}\right|\]
  11. Simplified2.0

    \[\leadsto \left|\frac{x + 4}{y} - \color{blue}{\frac{x}{\sqrt[3]{y} \cdot \sqrt[3]{y}}} \cdot \frac{z}{\sqrt[3]{y}}\right|\]
  12. Final simplification2.0

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

Reproduce

herbie shell --seed 2020034 
(FPCore (x y z)
  :name "fabs fraction 1"
  :precision binary64
  (fabs (- (/ (+ x 4) y) (* (/ x y) z))))