\[\left(\frac{\pi}{2} \cdot \frac{1}{b \cdot b - a \cdot a}\right) \cdot \left(\frac{1}{a} - \frac{1}{b}\right)\]
\left(\frac{\pi}{2} \cdot \frac{1}{b \cdot b - a \cdot a}\right) \cdot \left(\frac{1}{a} - \frac{1}{b}\right)
(FPCore (a b)
 :precision binary64
 (* (* (/ PI 2.0) (/ 1.0 (- (* b b) (* a a)))) (- (/ 1.0 a) (/ 1.0 b))))
double code(double a, double b) {
	return ((((double) M_PI) / 2.0) * (1.0 / ((b * b) - (a * a)))) * ((1.0 / a) - (1.0 / b));
}

Reproduce

Please include this information when filing a bug report:

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

Backtrace

Failed to produce proof for (neg.f64 (-.f64 b a)) to (+.f64 a (neg.f64 b))LC
for-loop/data/pavpan/nightlies/herbie/egg-generate-proof/src/core/simplify.rkt1678
(unnamed)/data/pavpan/nightlies/herbie/egg-generate-proof/src/core/simplify.rkt1496
egraph-add-exprs/data/pavpan/nightlies/herbie/egg-generate-proof/egg-herbie/main.rkt1540
with-egraph/data/pavpan/nightlies/herbie/egg-generate-proof/egg-herbie/main.rkt740
(unnamed)/data/pavpan/nightlies/herbie/egg-generate-proof/src/core/simplify.rkt790
simplify!/data/pavpan/nightlies/herbie/egg-generate-proof/src/mainloop.rkt2360
run-iter!/data/pavpan/nightlies/herbie/egg-generate-proof/src/mainloop.rkt3600
run-improve/data/pavpan/nightlies/herbie/egg-generate-proof/src/mainloop.rkt3770
(unnamed)/data/pavpan/nightlies/herbie/egg-generate-proof/src/sandbox.rkt546
run/opt/racket-7.9/share/pkgs/profile-lib/main.rkt392
profile-thunk/opt/racket-7.9/share/pkgs/profile-lib/main.rkt90
(unnamed)/opt/racket-7.9/collects/racket/engine.rkt4224