


Bits error versus a



Bits error versus b
Results
Initial program 14.5
Simplified9.6
rmApplied *-un-lft-identity9.6
Applied times-frac0.3
Simplified0.3
rmApplied associate-*l/0.3
Simplified0.3
Taylor expanded around inf 0.2
Final simplification0.2
herbie shell --seed 2019007 +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: 40.5s)Debug log
1 calls. Slowest were:
| 333.0ms | (* (* (/ PI 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) |
2 alts after pruning (2 fresh and 0 done)
Merged error: 9.6b
Found 3 expressions with local error:
| 9.7b | (/ (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:
| 12.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:
| 128.0ms | (/ (fma (/ PI 2) (/ -1 b) (/ (/ PI 2) a)) (* (+ a b) (- b a))) |
| 95.0ms | (/ (/ PI 2) a) |
| 54.0ms | (fma (/ PI 2) (/ -1 b) (/ (/ PI 2) a)) |
32 calls. Slowest were:
| 382.0ms | (* (+ (* a a) (- (* b b) (* a b))) (+ (* b b) (+ (* a a) (* b a)))) |
| 240.0ms | (- (log (fma (/ PI 2) (/ -1 b) (/ (/ PI 2) a))) (log (* (+ a b) (- b a)))) |
| 181.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)))) |
10 alts after pruning (10 fresh and 0 done)
Merged error: 0.0b
Found 4 expressions with local error:
| 0.3b | (/ (/ PI 2) a) |
| 0.3b | (/ (fma (/ PI 2) (/ -1 b) (/ (/ PI 2) a)) (+ a b)) |
| 0.2b | (fma (/ PI 2) (/ -1 b) (/ (/ PI 2) a)) |
| 0.1b | (/ (/ (fma (/ PI 2) (/ -1 b) (/ (/ PI 2) a)) (+ a b)) (- b a)) |
4 calls. Slowest were:
| 6.0ms | (/ (/ (fma (/ PI 2) (/ -1 b) (/ (/ PI 2) a)) (+ a b)) (- b a)) |
| 3.0ms | (/ (fma (/ PI 2) (/ -1 b) (/ (/ PI 2) a)) (+ a b)) |
| 3.0ms | (/ (/ PI 2) a) |
4 calls. Slowest were:
| 116.0ms | (/ (/ (fma (/ PI 2) (/ -1 b) (/ (/ PI 2) a)) (+ a b)) (- b a)) |
| 111.0ms | (/ (fma (/ PI 2) (/ -1 b) (/ (/ PI 2) a)) (+ a b)) |
| 94.0ms | (/ (/ PI 2) a) |
| 56.0ms | (fma (/ PI 2) (/ -1 b) (/ (/ PI 2) a)) |
155 calls. Slowest were:
| 475.0ms | (/ (/ (sqrt (fma (/ PI 2) (/ -1 b) (/ (/ PI 2) a))) (sqrt (+ a b))) (cbrt (- b a))) |
| 425.0ms | (/ (/ (fma (/ PI 2) (/ -1 b) (/ (/ PI 2) a)) (- (* a a) (* b b))) (* (cbrt (- b a)) (cbrt (- b a)))) |
| 353.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)))) (* (cbrt (- b a)) (cbrt (- b a)))) |
11 alts after pruning (11 fresh and 0 done)
Merged error: 0b
Found 4 expressions with local error:
| 0.5b | (/ PI (* a 2)) |
| 0.3b | (/ (- (/ PI (* a 2)) (/ PI (* 2 b))) (- b a)) |
| 0.2b | (* (/ 1 (+ a b)) (/ (- (/ PI (* a 2)) (/ PI (* 2 b))) (- b a))) |
| 0.2b | (/ PI (* 2 b)) |
4 calls. Slowest were:
| 27.0ms | (/ (- (/ PI (* a 2)) (/ PI (* 2 b))) (- b a)) |
| 12.0ms | (* (/ 1 (+ a b)) (/ (- (/ PI (* a 2)) (/ PI (* 2 b))) (- b a))) |
| 1.0ms | (/ PI (* a 2)) |
4 calls. Slowest were:
| 109.0ms | (* (/ 1 (+ a b)) (/ (- (/ PI (* a 2)) (/ PI (* 2 b))) (- b a))) |
| 76.0ms | (/ (- (/ PI (* a 2)) (/ PI (* 2 b))) (- b a)) |
| 65.0ms | (/ PI (* 2 b)) |
| 59.0ms | (/ PI (* a 2)) |
101 calls. Slowest were:
| 369.0ms | (- (pow (/ PI (* a 2)) 3) (pow (/ PI (* 2 b)) 3)) |
| 315.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))) |
| 208.0ms | (* 1 (/ (- (/ PI (* a 2)) (/ PI (* 2 b))) (- b a))) |
8 alts after pruning (8 fresh and 0 done)
Merged error: 0b
Found 4 expressions with local error:
| 0.3b | (/ PI a) |
| 0.3b | (/ (- (* (/ PI a) 1/2) (/ (/ PI b) 2)) (- b a)) |
| 0.2b | (/ PI b) |
| 0.1b | (/ (/ (- (* (/ PI a) 1/2) (/ (/ PI b) 2)) (- b a)) (+ a b)) |
4 calls. Slowest were:
| 15.0ms | (/ (- (* (/ PI a) 1/2) (/ (/ PI b) 2)) (- b a)) |
| 11.0ms | (/ (/ (- (* (/ PI a) 1/2) (/ (/ PI b) 2)) (- b a)) (+ a b)) |
| 0.0ms | (/ PI a) |
4 calls. Slowest were:
| 100.0ms | (/ (/ (- (* (/ PI a) 1/2) (/ (/ PI b) 2)) (- b a)) (+ a b)) |
| 92.0ms | (/ (- (* (/ PI a) 1/2) (/ (/ PI b) 2)) (- b a)) |
| 62.0ms | (/ PI a) |
| 46.0ms | (/ PI b) |
158 calls. Slowest were:
| 431.0ms | (/ (- (* (/ PI a) 1/2) (/ (/ PI b) 2)) (- (* b b) (* a a))) |
| 311.0ms | (/ (/ (- (* (/ PI a) 1/2) (/ (/ PI b) 2)) (sqrt (- b a))) (sqrt (+ a b))) |
| 289.0ms | (/ (* (* (- (* (/ PI a) 1/2) (/ (/ PI b) 2)) (- (* (/ PI a) 1/2) (/ (/ PI b) 2))) (- (* (/ PI a) 1/2) (/ (/ PI b) 2))) (* (* (- b a) (- b a)) (- b a))) |
8 alts after pruning (7 fresh and 1 done)
Merged error: 0b
0% (0.2b remaining)
Error of 0.2b against oracle of 0.0b and baseline of 0.2b