Average Error: 15.0 → 0.3
Time: 22.4s
Precision: 64
\[\left(\frac{\pi}{2} \cdot \frac{1}{b \cdot b - a \cdot a}\right) \cdot \left(\frac{1}{a} - \frac{1}{b}\right)\]
\[\frac{\left(\frac{1}{a} - \frac{1}{b}\right) \cdot \left(\frac{1}{a + b} \cdot \pi\right)}{2 \cdot \left(b - a\right)}\]
\left(\frac{\pi}{2} \cdot \frac{1}{b \cdot b - a \cdot a}\right) \cdot \left(\frac{1}{a} - \frac{1}{b}\right)
\frac{\left(\frac{1}{a} - \frac{1}{b}\right) \cdot \left(\frac{1}{a + b} \cdot \pi\right)}{2 \cdot \left(b - a\right)}
double f(double a, double b) {
        double r2637805 = atan2(1.0, 0.0);
        double r2637806 = 2.0;
        double r2637807 = r2637805 / r2637806;
        double r2637808 = 1.0;
        double r2637809 = b;
        double r2637810 = r2637809 * r2637809;
        double r2637811 = a;
        double r2637812 = r2637811 * r2637811;
        double r2637813 = r2637810 - r2637812;
        double r2637814 = r2637808 / r2637813;
        double r2637815 = r2637807 * r2637814;
        double r2637816 = r2637808 / r2637811;
        double r2637817 = r2637808 / r2637809;
        double r2637818 = r2637816 - r2637817;
        double r2637819 = r2637815 * r2637818;
        return r2637819;
}

double f(double a, double b) {
        double r2637820 = 1.0;
        double r2637821 = a;
        double r2637822 = r2637820 / r2637821;
        double r2637823 = b;
        double r2637824 = r2637820 / r2637823;
        double r2637825 = r2637822 - r2637824;
        double r2637826 = r2637821 + r2637823;
        double r2637827 = r2637820 / r2637826;
        double r2637828 = atan2(1.0, 0.0);
        double r2637829 = r2637827 * r2637828;
        double r2637830 = r2637825 * r2637829;
        double r2637831 = 2.0;
        double r2637832 = r2637823 - r2637821;
        double r2637833 = r2637831 * r2637832;
        double r2637834 = r2637830 / r2637833;
        return r2637834;
}

Error

Bits error versus a

Bits error versus b

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 15.0

    \[\left(\frac{\pi}{2} \cdot \frac{1}{b \cdot b - a \cdot a}\right) \cdot \left(\frac{1}{a} - \frac{1}{b}\right)\]
  2. Using strategy rm
  3. Applied difference-of-squares10.0

    \[\leadsto \left(\frac{\pi}{2} \cdot \frac{1}{\color{blue}{\left(b + a\right) \cdot \left(b - a\right)}}\right) \cdot \left(\frac{1}{a} - \frac{1}{b}\right)\]
  4. Applied associate-/r*9.4

    \[\leadsto \left(\frac{\pi}{2} \cdot \color{blue}{\frac{\frac{1}{b + a}}{b - a}}\right) \cdot \left(\frac{1}{a} - \frac{1}{b}\right)\]
  5. Using strategy rm
  6. Applied frac-times9.4

    \[\leadsto \color{blue}{\frac{\pi \cdot \frac{1}{b + a}}{2 \cdot \left(b - a\right)}} \cdot \left(\frac{1}{a} - \frac{1}{b}\right)\]
  7. Applied associate-*l/0.3

    \[\leadsto \color{blue}{\frac{\left(\pi \cdot \frac{1}{b + a}\right) \cdot \left(\frac{1}{a} - \frac{1}{b}\right)}{2 \cdot \left(b - a\right)}}\]
  8. Final simplification0.3

    \[\leadsto \frac{\left(\frac{1}{a} - \frac{1}{b}\right) \cdot \left(\frac{1}{a + b} \cdot \pi\right)}{2 \cdot \left(b - a\right)}\]

Reproduce

herbie shell --seed 2019171 
(FPCore (a b)
  :name "NMSE Section 6.1 mentioned, B"
  (* (* (/ PI 2.0) (/ 1.0 (- (* b b) (* a a)))) (- (/ 1.0 a) (/ 1.0 b))))