Average Error: 14.0 → 4.4
Time: 1.1m
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}{b + a} \cdot \frac{1}{\frac{b - a}{\pi}}\right) \cdot \left(\frac{-1}{b}\right) + \left(\frac{1}{b + a} \cdot \frac{\frac{1}{\frac{b - a}{\pi}}}{a}\right))_*}{2}\]
double f(double a, double b) {
        double r2357042 = atan2(1.0, 0.0);
        double r2357043 = 2.0;
        double r2357044 = r2357042 / r2357043;
        double r2357045 = 1.0;
        double r2357046 = b;
        double r2357047 = r2357046 * r2357046;
        double r2357048 = a;
        double r2357049 = r2357048 * r2357048;
        double r2357050 = r2357047 - r2357049;
        double r2357051 = r2357045 / r2357050;
        double r2357052 = r2357044 * r2357051;
        double r2357053 = r2357045 / r2357048;
        double r2357054 = r2357045 / r2357046;
        double r2357055 = r2357053 - r2357054;
        double r2357056 = r2357052 * r2357055;
        return r2357056;
}

double f(double a, double b) {
        double r2357057 = 1.0;
        double r2357058 = b;
        double r2357059 = a;
        double r2357060 = r2357058 + r2357059;
        double r2357061 = r2357057 / r2357060;
        double r2357062 = r2357058 - r2357059;
        double r2357063 = atan2(1.0, 0.0);
        double r2357064 = r2357062 / r2357063;
        double r2357065 = r2357057 / r2357064;
        double r2357066 = r2357061 * r2357065;
        double r2357067 = -1.0;
        double r2357068 = r2357067 / r2357058;
        double r2357069 = r2357065 / r2357059;
        double r2357070 = r2357061 * r2357069;
        double r2357071 = fma(r2357066, r2357068, r2357070);
        double r2357072 = 2.0;
        double r2357073 = r2357071 / r2357072;
        return r2357073;
}

\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}{b + a} \cdot \frac{1}{\frac{b - a}{\pi}}\right) \cdot \left(\frac{-1}{b}\right) + \left(\frac{1}{b + a} \cdot \frac{\frac{1}{\frac{b - a}{\pi}}}{a}\right))_*}{2}

Error

Bits error versus a

Bits error versus b

Derivation

  1. Initial program 14.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. Simplified13.9

    \[\leadsto \color{blue}{\frac{(\left(\frac{\pi}{b \cdot b - a \cdot a}\right) \cdot \left(\frac{-1}{b}\right) + \left(\frac{\frac{\pi}{b \cdot b - a \cdot a}}{a}\right))_*}{2}}\]
  3. Using strategy rm
  4. Applied *-un-lft-identity13.9

    \[\leadsto \frac{(\left(\frac{\pi}{b \cdot b - a \cdot a}\right) \cdot \left(\frac{-1}{b}\right) + \left(\frac{\frac{\pi}{b \cdot b - a \cdot a}}{\color{blue}{1 \cdot a}}\right))_*}{2}\]
  5. Applied difference-of-squares13.9

    \[\leadsto \frac{(\left(\frac{\pi}{b \cdot b - a \cdot a}\right) \cdot \left(\frac{-1}{b}\right) + \left(\frac{\frac{\pi}{\color{blue}{\left(b + a\right) \cdot \left(b - a\right)}}}{1 \cdot a}\right))_*}{2}\]
  6. Applied *-un-lft-identity13.9

    \[\leadsto \frac{(\left(\frac{\pi}{b \cdot b - a \cdot a}\right) \cdot \left(\frac{-1}{b}\right) + \left(\frac{\frac{\color{blue}{1 \cdot \pi}}{\left(b + a\right) \cdot \left(b - a\right)}}{1 \cdot a}\right))_*}{2}\]
  7. Applied times-frac13.6

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

    \[\leadsto \frac{(\left(\frac{\pi}{b \cdot b - a \cdot a}\right) \cdot \left(\frac{-1}{b}\right) + \color{blue}{\left(\frac{\frac{1}{b + a}}{1} \cdot \frac{\frac{\pi}{b - a}}{a}\right)})_*}{2}\]
  9. Simplified9.3

    \[\leadsto \frac{(\left(\frac{\pi}{b \cdot b - a \cdot a}\right) \cdot \left(\frac{-1}{b}\right) + \left(\color{blue}{\frac{1}{b + a}} \cdot \frac{\frac{\pi}{b - a}}{a}\right))_*}{2}\]
  10. Using strategy rm
  11. Applied difference-of-squares4.6

    \[\leadsto \frac{(\left(\frac{\pi}{\color{blue}{\left(b + a\right) \cdot \left(b - a\right)}}\right) \cdot \left(\frac{-1}{b}\right) + \left(\frac{1}{b + a} \cdot \frac{\frac{\pi}{b - a}}{a}\right))_*}{2}\]
  12. Applied *-un-lft-identity4.6

    \[\leadsto \frac{(\left(\frac{\color{blue}{1 \cdot \pi}}{\left(b + a\right) \cdot \left(b - a\right)}\right) \cdot \left(\frac{-1}{b}\right) + \left(\frac{1}{b + a} \cdot \frac{\frac{\pi}{b - a}}{a}\right))_*}{2}\]
  13. Applied times-frac4.4

    \[\leadsto \frac{(\color{blue}{\left(\frac{1}{b + a} \cdot \frac{\pi}{b - a}\right)} \cdot \left(\frac{-1}{b}\right) + \left(\frac{1}{b + a} \cdot \frac{\frac{\pi}{b - a}}{a}\right))_*}{2}\]
  14. Using strategy rm
  15. Applied clear-num4.4

    \[\leadsto \frac{(\left(\frac{1}{b + a} \cdot \color{blue}{\frac{1}{\frac{b - a}{\pi}}}\right) \cdot \left(\frac{-1}{b}\right) + \left(\frac{1}{b + a} \cdot \frac{\frac{\pi}{b - a}}{a}\right))_*}{2}\]
  16. Using strategy rm
  17. Applied *-un-lft-identity4.4

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

    \[\leadsto \frac{(\left(\frac{1}{b + a} \cdot \frac{1}{\frac{b - a}{\pi}}\right) \cdot \left(\frac{-1}{b}\right) + \left(\frac{1}{b + a} \cdot \frac{\color{blue}{\frac{1}{\frac{b - a}{\pi}}}}{a}\right))_*}{2}\]
  19. Final simplification4.4

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

Reproduce

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