Average Error: 14.6 → 0.3
Time: 34.5s
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{\frac{\frac{\pi}{a + b}}{2}}{b}\right) + \frac{\frac{\pi}{a + b}}{2} \cdot \frac{1}{a}}{b - a}\]
\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{\frac{\frac{\pi}{a + b}}{2}}{b}\right) + \frac{\frac{\pi}{a + b}}{2} \cdot \frac{1}{a}}{b - a}
double f(double a, double b) {
        double r1668805 = atan2(1.0, 0.0);
        double r1668806 = 2.0;
        double r1668807 = r1668805 / r1668806;
        double r1668808 = 1.0;
        double r1668809 = b;
        double r1668810 = r1668809 * r1668809;
        double r1668811 = a;
        double r1668812 = r1668811 * r1668811;
        double r1668813 = r1668810 - r1668812;
        double r1668814 = r1668808 / r1668813;
        double r1668815 = r1668807 * r1668814;
        double r1668816 = r1668808 / r1668811;
        double r1668817 = r1668808 / r1668809;
        double r1668818 = r1668816 - r1668817;
        double r1668819 = r1668815 * r1668818;
        return r1668819;
}

double f(double a, double b) {
        double r1668820 = atan2(1.0, 0.0);
        double r1668821 = a;
        double r1668822 = b;
        double r1668823 = r1668821 + r1668822;
        double r1668824 = r1668820 / r1668823;
        double r1668825 = 2.0;
        double r1668826 = r1668824 / r1668825;
        double r1668827 = r1668826 / r1668822;
        double r1668828 = -r1668827;
        double r1668829 = 1.0;
        double r1668830 = r1668829 / r1668821;
        double r1668831 = r1668826 * r1668830;
        double r1668832 = r1668828 + r1668831;
        double r1668833 = r1668822 - r1668821;
        double r1668834 = r1668832 / r1668833;
        return r1668834;
}

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 14.6

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

    \[\leadsto \color{blue}{\frac{\frac{\frac{\frac{\pi}{a + b}}{2}}{a} + \left(-\frac{\frac{\frac{\pi}{a + b}}{2}}{b}\right)}{b - a}}\]
  3. Using strategy rm
  4. Applied div-inv0.3

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

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

Reproduce

herbie shell --seed 2019163 
(FPCore (a b)
  :name "NMSE Section 6.1 mentioned, B"
  (* (* (/ PI 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))))