Average Error: 14.4 → 0.3
Time: 55.0s
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{\frac{1}{a} - \frac{1}{b}}{b - a} \cdot \frac{\frac{\pi}{2}}{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{\frac{1}{a} - \frac{1}{b}}{b - a} \cdot \frac{\frac{\pi}{2}}{b + a}
double f(double a, double b) {
        double r1414581 = atan2(1.0, 0.0);
        double r1414582 = 2.0;
        double r1414583 = r1414581 / r1414582;
        double r1414584 = 1.0;
        double r1414585 = b;
        double r1414586 = r1414585 * r1414585;
        double r1414587 = a;
        double r1414588 = r1414587 * r1414587;
        double r1414589 = r1414586 - r1414588;
        double r1414590 = r1414584 / r1414589;
        double r1414591 = r1414583 * r1414590;
        double r1414592 = r1414584 / r1414587;
        double r1414593 = r1414584 / r1414585;
        double r1414594 = r1414592 - r1414593;
        double r1414595 = r1414591 * r1414594;
        return r1414595;
}

double f(double a, double b) {
        double r1414596 = 1.0;
        double r1414597 = a;
        double r1414598 = r1414596 / r1414597;
        double r1414599 = b;
        double r1414600 = r1414596 / r1414599;
        double r1414601 = r1414598 - r1414600;
        double r1414602 = r1414599 - r1414597;
        double r1414603 = r1414601 / r1414602;
        double r1414604 = atan2(1.0, 0.0);
        double r1414605 = 2.0;
        double r1414606 = r1414604 / r1414605;
        double r1414607 = r1414599 + r1414597;
        double r1414608 = r1414606 / r1414607;
        double r1414609 = r1414603 * r1414608;
        return r1414609;
}

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

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

    \[\leadsto \color{blue}{\frac{\frac{\pi}{2} \cdot \left(\frac{1}{a} - \frac{1}{b}\right)}{b \cdot b - a \cdot a}}\]
  3. Using strategy rm
  4. Applied difference-of-squares9.3

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

    \[\leadsto \color{blue}{\frac{\frac{\pi}{2}}{b + a} \cdot \frac{\frac{1}{a} - \frac{1}{b}}{b - a}}\]
  6. Final simplification0.3

    \[\leadsto \frac{\frac{1}{a} - \frac{1}{b}}{b - a} \cdot \frac{\frac{\pi}{2}}{b + a}\]

Reproduce

herbie shell --seed 2019128 +o rules:numerics
(FPCore (a b)
  :name "NMSE Section 6.1 mentioned, B"
  (* (* (/ PI 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))))