


Bits error versus a



Bits error versus b
Results
Initial program 14.2
Initial simplification9.5
rmApplied *-un-lft-identity9.5
Applied times-frac0.3
Simplified0.3
rmApplied *-un-lft-identity0.3
Applied div-inv0.3
Applied div-inv0.3
Applied distribute-lft-out--0.3
Applied times-frac0.3
Applied associate-*r*0.3
Simplified0.3
Final simplification0.3
herbie shell --seed 2018365 +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: 34.7s)Debug log
2 alts after pruning (2 fresh and 0 done)
Merged error: 10.9b
Found 3 expressions with local error:
| 11.0b | (/ (fma (/ PI 2) (/ -1 b) (/ (/ PI 2) a)) (* (+ a b) (- b a))) |
| 0.3b | (/ (/ PI 2) a) |
| 0.2b | (fma (/ PI 2) (/ -1 b) (/ (/ PI 2) a)) |
3 calls. Slowest were:
| 6.0ms | (/ (fma (/ PI 2) (/ -1 b) (/ (/ PI 2) a)) (* (+ a b) (- b a))) |
| 2.0ms | (/ (/ PI 2) a) |
| 0.0ms | (fma (/ PI 2) (/ -1 b) (/ (/ PI 2) a)) |
3 calls. Slowest were:
| 137.0ms | (/ (fma (/ PI 2) (/ -1 b) (/ (/ PI 2) a)) (* (+ a b) (- b a))) |
| 74.0ms | (/ (/ PI 2) a) |
| 54.0ms | (fma (/ PI 2) (/ -1 b) (/ (/ PI 2) a)) |
32 calls. Slowest were:
| 375.0ms | (* (+ (* a a) (- (* b b) (* a b))) (+ (* b b) (+ (* a a) (* b a)))) |
| 255.0ms | (- (log (fma (/ PI 2) (/ -1 b) (/ (/ PI 2) a))) (log (* (+ a b) (- b a)))) |
| 228.0ms | (/ (* (* (fma (/ PI 2) (/ -1 b) (/ (/ PI 2) a)) (fma (/ PI 2) (/ -1 b) (/ (/ PI 2) a))) (fma (/ PI 2) (/ -1 b) (/ (/ PI 2) a))) (* (* (* (+ a b) (+ a b)) (+ a b)) (* (* (- b a) (- b a)) (- b a)))) |
11 alts after pruning (10 fresh and 1 done)
Merged error: 0.3b
Found 4 expressions with local error:
| 0.4b | (/ (fma (/ PI 2) (/ -1 b) (/ (/ PI 2) a)) (+ a b)) |
| 0.3b | (/ (/ 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:
| 7.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:
| 129.0ms | (/ (/ (fma (/ PI 2) (/ -1 b) (/ (/ PI 2) a)) (+ a b)) (- b a)) |
| 96.0ms | (/ (fma (/ PI 2) (/ -1 b) (/ (/ PI 2) a)) (+ a b)) |
| 65.0ms | (/ (/ PI 2) a) |
| 60.0ms | (fma (/ PI 2) (/ -1 b) (/ (/ PI 2) a)) |
155 calls. Slowest were:
| 493.0ms | (/ (/ (fma (/ PI 2) (/ -1 b) (/ (/ PI 2) a)) (- (* a a) (* b b))) (* (cbrt (- b a)) (cbrt (- b a)))) |
| 356.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) |
| 334.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.5b | (/ PI (* 2 b)) |
| 0.4b | (/ (- (/ PI (* a 2)) (/ PI (* 2 b))) (- b a)) |
| 0.3b | (/ PI (* a 2)) |
| 0.2b | (* (/ 1 (+ a b)) (/ (- (/ PI (* a 2)) (/ PI (* 2 b))) (- b a))) |
4 calls. Slowest were:
| 34.0ms | (/ (- (/ PI (* a 2)) (/ PI (* 2 b))) (- b a)) |
| 18.0ms | (* (/ 1 (+ a b)) (/ (- (/ PI (* a 2)) (/ PI (* 2 b))) (- b a))) |
| 1.0ms | (/ PI (* 2 b)) |
4 calls. Slowest were:
| 128.0ms | (* (/ 1 (+ a b)) (/ (- (/ PI (* a 2)) (/ PI (* 2 b))) (- b a))) |
| 78.0ms | (/ (- (/ PI (* a 2)) (/ PI (* 2 b))) (- b a)) |
| 73.0ms | (/ PI (* 2 b)) |
| 66.0ms | (/ PI (* a 2)) |
101 calls. Slowest were:
| 308.0ms | (/ (* (* (- (/ PI (* a 2)) (/ PI (* 2 b))) (- (/ PI (* a 2)) (/ PI (* 2 b)))) (- (/ PI (* a 2)) (/ PI (* 2 b)))) (* (* (- b a) (- b a)) (- b a))) |
| 296.0ms | (- (pow (/ PI (* a 2)) 3) (pow (/ PI (* 2 b)) 3)) |
| 205.0ms | (* 1 (/ (- (/ PI (* a 2)) (/ PI (* 2 b))) (- b a))) |
7 alts after pruning (7 fresh and 0 done)
Merged error: 0.0b
Found 4 expressions with local error:
| 0.3b | (* (/ 1 (+ a b)) (/ PI 1)) |
| 0.3b | (/ (- (/ 1 (* 2 a)) (/ 1/2 b)) (- b a)) |
| 0.2b | (* (* (/ 1 (+ a b)) (/ PI 1)) (/ (- (/ 1 (* 2 a)) (/ 1/2 b)) (- b a))) |
| 0.0b | (/ 1 (+ a b)) |
4 calls. Slowest were:
| 27.0ms | (* (* (/ 1 (+ a b)) (/ PI 1)) (/ (- (/ 1 (* 2 a)) (/ 1/2 b)) (- b a))) |
| 16.0ms | (/ (- (/ 1 (* 2 a)) (/ 1/2 b)) (- b a)) |
| 4.0ms | (* (/ 1 (+ a b)) (/ PI 1)) |
4 calls. Slowest were:
| 119.0ms | (* (* (/ 1 (+ a b)) (/ PI 1)) (/ (- (/ 1 (* 2 a)) (/ 1/2 b)) (- b a))) |
| 54.0ms | (* (/ 1 (+ a b)) (/ PI 1)) |
| 35.0ms | (/ (- (/ 1 (* 2 a)) (/ 1/2 b)) (- b a)) |
| 26.0ms | (/ 1 (+ a b)) |
130 calls. Slowest were:
| 635.0ms | (* (* (* (* (/ 1 (+ a b)) (/ 1 (+ a b))) (/ 1 (+ a b))) (* (* (/ PI 1) (/ PI 1)) (/ PI 1))) (* (* (/ (- (/ 1 (* 2 a)) (/ 1/2 b)) (- b a)) (/ (- (/ 1 (* 2 a)) (/ 1/2 b)) (- b a))) (/ (- (/ 1 (* 2 a)) (/ 1/2 b)) (- b a)))) |
| 440.0ms | (- (* 1 b) (* (* 2 a) 1/2)) |
| 432.0ms | (* (* (/ 1 (+ a b)) PI) (- (/ 1 (* 2 a)) (/ 1/2 b))) |
7 alts after pruning (6 fresh and 1 done)
Merged error: 0.0b
0% (0.3b remaining)
Error of 0.3b against oracle of 0.0b and baseline of 0.3b