


Bits error versus a



Bits error versus b
Initial program 14.1
Simplified9.5
rmApplied associate-/r*0.3
Taylor expanded around inf 0.3
Final simplification0.3
herbie shell --seed 2019005 +o rules:numerics
(FPCore (a b)
:name "NMSE Section 6.1 mentioned, B"
(* (* (/ PI 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))))
Time bar (total: 35.9s)Debug log
1 calls. Slowest were:
| 380.0ms | (* (* (/ PI 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) |
2 alts after pruning (2 fresh and 0 done)
Merged error: 7.8b
Found 3 expressions with local error:
| 7.9b | (/ (fma (/ PI 2) (/ -1 b) (/ (/ PI 2) a)) (* (+ a b) (- b a))) |
| 0.2b | (/ (/ PI 2) a) |
| 0.2b | (fma (/ PI 2) (/ -1 b) (/ (/ PI 2) a)) |
3 calls. Slowest were:
| 11.0ms | (/ (fma (/ PI 2) (/ -1 b) (/ (/ PI 2) a)) (* (+ a b) (- b a))) |
| 5.0ms | (/ (/ PI 2) a) |
| 0.0ms | (fma (/ PI 2) (/ -1 b) (/ (/ PI 2) a)) |
3 calls. Slowest were:
| 131.0ms | (/ (fma (/ PI 2) (/ -1 b) (/ (/ PI 2) a)) (* (+ a b) (- b a))) |
| 74.0ms | (/ (/ PI 2) a) |
| 61.0ms | (fma (/ PI 2) (/ -1 b) (/ (/ PI 2) a)) |
32 calls. Slowest were:
| 545.0ms | (* (+ (* a a) (- (* b b) (* a b))) (+ b a)) |
| 359.0ms | (* (+ (* a a) (- (* b b) (* a b))) (+ (* b b) (+ (* a a) (* b a)))) |
| 307.0ms | (- (log (fma (/ PI 2) (/ -1 b) (/ (/ PI 2) a))) (log (* (+ a b) (- b a)))) |
8 alts after pruning (8 fresh and 0 done)
Merged error: 0.0b
Found 4 expressions with local error:
| 0.2b | (/ (fma (/ PI 2) (/ -1 b) (/ (/ PI 2) a)) (+ a b)) |
| 0.2b | (/ (/ PI 2) a) |
| 0.2b | (fma (/ PI 2) (/ -1 b) (/ (/ PI 2) a)) |
| 0.2b | (/ (/ (fma (/ PI 2) (/ -1 b) (/ (/ PI 2) a)) (+ a b)) (- b a)) |
4 calls. Slowest were:
| 12.0ms | (/ (/ (fma (/ PI 2) (/ -1 b) (/ (/ PI 2) a)) (+ a b)) (- b a)) |
| 7.0ms | (/ (fma (/ PI 2) (/ -1 b) (/ (/ PI 2) a)) (+ a b)) |
| 5.0ms | (/ (/ PI 2) a) |
4 calls. Slowest were:
| 128.0ms | (/ (fma (/ PI 2) (/ -1 b) (/ (/ PI 2) a)) (+ a b)) |
| 128.0ms | (/ (/ (fma (/ PI 2) (/ -1 b) (/ (/ PI 2) a)) (+ a b)) (- b a)) |
| 77.0ms | (fma (/ PI 2) (/ -1 b) (/ (/ PI 2) a)) |
| 69.0ms | (/ (/ PI 2) a) |
155 calls. Slowest were:
| 406.0ms | (/ (/ (fma (/ PI 2) (/ -1 b) (/ (/ PI 2) a)) (- (* a a) (* b b))) (* (cbrt (- b a)) (cbrt (- b a)))) |
| 381.0ms | (/ (/ (* (cbrt (fma (/ PI 2) (/ -1 b) (/ (/ PI 2) a))) (cbrt (fma (/ PI 2) (/ -1 b) (/ (/ PI 2) a)))) (* (cbrt (+ a b)) (cbrt (+ a b)))) 1) |
| 337.0ms | (/ (/ (fma (/ PI 2) (/ -1 b) (/ (/ PI 2) a)) (- (* a a) (* b b))) 1) |
11 alts after pruning (11 fresh and 0 done)
Merged error: 0.0b
Found 4 expressions with local error:
| 0.2b | (/ (fma (/ PI 2) (/ -1 b) (* 1/2 (/ PI a))) (+ a b)) |
| 0.2b | (/ PI a) |
| 0.2b | (fma (/ PI 2) (/ -1 b) (* 1/2 (/ PI a))) |
| 0.2b | (/ (/ (fma (/ PI 2) (/ -1 b) (* 1/2 (/ PI a))) (+ a b)) (- b a)) |
4 calls. Slowest were:
| 12.0ms | (/ (/ (fma (/ PI 2) (/ -1 b) (* 1/2 (/ PI a))) (+ a b)) (- b a)) |
| 11.0ms | (/ (fma (/ PI 2) (/ -1 b) (* 1/2 (/ PI a))) (+ a b)) |
| 0.0ms | (/ PI a) |
4 calls. Slowest were:
| 121.0ms | (/ (fma (/ PI 2) (/ -1 b) (* 1/2 (/ PI a))) (+ a b)) |
| 100.0ms | (/ (/ (fma (/ PI 2) (/ -1 b) (* 1/2 (/ PI a))) (+ a b)) (- b a)) |
| 54.0ms | (/ PI a) |
| 48.0ms | (fma (/ PI 2) (/ -1 b) (* 1/2 (/ PI a))) |
153 calls. Slowest were:
| 429.0ms | (/ (/ (fma (/ PI 2) (/ -1 b) (* 1/2 (/ PI a))) (- (* a a) (* b b))) (* (cbrt (- b a)) (cbrt (- b a)))) |
| 315.0ms | (/ (/ (fma (/ PI 2) (/ -1 b) (* 1/2 (/ PI a))) (- (* a a) (* b b))) 1) |
| 310.0ms | (/ (/ (* (cbrt (fma (/ PI 2) (/ -1 b) (* 1/2 (/ PI a)))) (cbrt (fma (/ PI 2) (/ -1 b) (* 1/2 (/ PI a))))) (* (cbrt (+ a b)) (cbrt (+ a b)))) 1) |
11 alts after pruning (10 fresh and 1 done)
Merged error: 0.0b
Found 4 expressions with local error:
| 0.8b | (/ 1 (/ (+ a b) (fma (/ PI 2) (/ -1 b) (/ (/ PI 2) a)))) |
| 0.3b | (/ (+ a b) (fma (/ PI 2) (/ -1 b) (/ (/ PI 2) a))) |
| 0.2b | (/ (/ PI 2) a) |
| 0.2b | (fma (/ PI 2) (/ -1 b) (/ (/ PI 2) a)) |
4 calls. Slowest were:
| 5.0ms | (/ (+ a b) (fma (/ PI 2) (/ -1 b) (/ (/ PI 2) a))) |
| 5.0ms | (/ (/ PI 2) a) |
| 3.0ms | (/ 1 (/ (+ a b) (fma (/ PI 2) (/ -1 b) (/ (/ PI 2) a)))) |
4 calls. Slowest were:
| 172.0ms | (/ (+ a b) (fma (/ PI 2) (/ -1 b) (/ (/ PI 2) a))) |
| 111.0ms | (/ 1 (/ (+ a b) (fma (/ PI 2) (/ -1 b) (/ (/ PI 2) a)))) |
| 60.0ms | (/ (/ PI 2) a) |
| 56.0ms | (fma (/ PI 2) (/ -1 b) (/ (/ PI 2) a)) |
56 calls. Slowest were:
| 80.0ms | (/ (* (* (+ a b) (+ a b)) (+ a b)) (* (* (fma (/ PI 2) (/ -1 b) (/ (/ PI 2) a)) (fma (/ PI 2) (/ -1 b) (/ (/ PI 2) a))) (fma (/ PI 2) (/ -1 b) (/ (/ PI 2) a)))) |
| 74.0ms | (/ (* (cbrt (+ a b)) (cbrt (+ a b))) (* (cbrt (fma (/ PI 2) (/ -1 b) (/ (/ PI 2) a))) (cbrt (fma (/ PI 2) (/ -1 b) (/ (/ PI 2) a))))) |
| 71.0ms | (- (* 1/2 (/ PI a)) (* 1/2 (/ PI b))) |
11 alts after pruning (9 fresh and 2 done)
Merged error: 0.0b
0% (0.3b remaining)
Error of 0.3b against oracle of 0.0b and baseline of 0.3b