Average Error: 0.1 → 0.1
Time: 1.8m
Precision: 64
\[x - \frac{3.0}{8.0} \cdot y\]
\[\left(y + \left(-y\right)\right) \cdot \frac{3.0}{8.0} + \left(x - \frac{\frac{y}{\sqrt{\frac{8.0}{3.0}}}}{\sqrt{\frac{8.0}{3.0}}}\right)\]
x - \frac{3.0}{8.0} \cdot y
\left(y + \left(-y\right)\right) \cdot \frac{3.0}{8.0} + \left(x - \frac{\frac{y}{\sqrt{\frac{8.0}{3.0}}}}{\sqrt{\frac{8.0}{3.0}}}\right)
double f(double x, double y) {
        double r11111659 = x;
        double r11111660 = 3.0;
        double r11111661 = 8.0;
        double r11111662 = r11111660 / r11111661;
        double r11111663 = y;
        double r11111664 = r11111662 * r11111663;
        double r11111665 = r11111659 - r11111664;
        return r11111665;
}

double f(double x, double y) {
        double r11111666 = y;
        double r11111667 = -r11111666;
        double r11111668 = r11111666 + r11111667;
        double r11111669 = 3.0;
        double r11111670 = 8.0;
        double r11111671 = r11111669 / r11111670;
        double r11111672 = r11111668 * r11111671;
        double r11111673 = x;
        double r11111674 = r11111670 / r11111669;
        double r11111675 = sqrt(r11111674);
        double r11111676 = r11111666 / r11111675;
        double r11111677 = r11111676 / r11111675;
        double r11111678 = r11111673 - r11111677;
        double r11111679 = r11111672 + r11111678;
        return r11111679;
}

Error

Bits error versus x

Bits error versus y

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 0.1

    \[x - \frac{3.0}{8.0} \cdot y\]
  2. Using strategy rm
  3. Applied add-cube-cbrt0.7

    \[\leadsto \color{blue}{\left(\sqrt[3]{x} \cdot \sqrt[3]{x}\right) \cdot \sqrt[3]{x}} - \frac{3.0}{8.0} \cdot y\]
  4. Applied prod-diff0.7

    \[\leadsto \color{blue}{\mathsf{fma}\left(\sqrt[3]{x} \cdot \sqrt[3]{x}, \sqrt[3]{x}, -y \cdot \frac{3.0}{8.0}\right) + \mathsf{fma}\left(-y, \frac{3.0}{8.0}, y \cdot \frac{3.0}{8.0}\right)}\]
  5. Simplified0.2

    \[\leadsto \color{blue}{\left(x - \frac{y}{\frac{8.0}{3.0}}\right)} + \mathsf{fma}\left(-y, \frac{3.0}{8.0}, y \cdot \frac{3.0}{8.0}\right)\]
  6. Simplified0.2

    \[\leadsto \left(x - \frac{y}{\frac{8.0}{3.0}}\right) + \color{blue}{\frac{3.0}{8.0} \cdot \left(\left(-y\right) + y\right)}\]
  7. Using strategy rm
  8. Applied add-sqr-sqrt0.2

    \[\leadsto \left(x - \frac{y}{\color{blue}{\sqrt{\frac{8.0}{3.0}} \cdot \sqrt{\frac{8.0}{3.0}}}}\right) + \frac{3.0}{8.0} \cdot \left(\left(-y\right) + y\right)\]
  9. Applied associate-/r*0.1

    \[\leadsto \left(x - \color{blue}{\frac{\frac{y}{\sqrt{\frac{8.0}{3.0}}}}{\sqrt{\frac{8.0}{3.0}}}}\right) + \frac{3.0}{8.0} \cdot \left(\left(-y\right) + y\right)\]
  10. Final simplification0.1

    \[\leadsto \left(y + \left(-y\right)\right) \cdot \frac{3.0}{8.0} + \left(x - \frac{\frac{y}{\sqrt{\frac{8.0}{3.0}}}}{\sqrt{\frac{8.0}{3.0}}}\right)\]

Reproduce

herbie shell --seed 2019165 +o rules:numerics
(FPCore (x y)
  :name "Diagrams.Solve.Polynomial:quartForm  from diagrams-solve-0.1, A"
  (- x (* (/ 3.0 8.0) y)))