


Bits error versus a1



Bits error versus a2



Bits error versus th
Initial program 0.5
Initial simplification0.5
rmApplied div-inv0.6
Applied associate-*l*0.6
rmApplied associate-*l/0.5
Simplified0.5
Final simplification0.5
herbie shell --seed 2018362 +o rules:numerics
(FPCore (a1 a2 th)
:name "Migdal et al, Equation (64)"
(+ (* (/ (cos th) (sqrt 2)) (* a1 a1)) (* (/ (cos th) (sqrt 2)) (* a2 a2))))
Time bar (total: 27.8s)Debug log
1 alts after pruning (1 fresh and 0 done)
Merged error: 0.5b
Found 2 expressions with local error:
| 0.7b | (/ (cos th) (sqrt 2)) |
| 0.4b | (* (/ (cos th) (sqrt 2)) (fma a1 a1 (* a2 a2))) |
2 calls. Slowest were:
| 12.0ms | (* (/ (cos th) (sqrt 2)) (fma a1 a1 (* a2 a2))) |
| 7.0ms | (/ (cos th) (sqrt 2)) |
2 calls. Slowest were:
| 160.0ms | (* (/ (cos th) (sqrt 2)) (fma a1 a1 (* a2 a2))) |
| 40.0ms | (/ (cos th) (sqrt 2)) |
54 calls. Slowest were:
| 283.0ms | (/ (* (* (cos th) (cos th)) (cos th)) (* (* (sqrt 2) (sqrt 2)) (sqrt 2))) |
| 159.0ms | (- (+ (/ 1 (sqrt 2)) (* 1/24 (/ (pow th 4) (sqrt 2)))) (* 1/2 (/ (pow th 2) (sqrt 2)))) |
| 130.0ms | (* (/ (* (* (cos th) (cos th)) (cos th)) (* (* (sqrt 2) (sqrt 2)) (sqrt 2))) (* (* (fma a1 a1 (* a2 a2)) (fma a1 a1 (* a2 a2))) (fma a1 a1 (* a2 a2)))) |
9 alts after pruning (9 fresh and 0 done)
Merged error: 0.0b
Found 3 expressions with local error:
| 1.0b | (/ 1 (sqrt 2)) |
| 0.4b | (* (/ 1 (sqrt 2)) (fma a1 a1 (* a2 a2))) |
| 0.2b | (* (cos th) (* (/ 1 (sqrt 2)) (fma a1 a1 (* a2 a2)))) |
3 calls. Slowest were:
| 20.0ms | (* (cos th) (* (/ 1 (sqrt 2)) (fma a1 a1 (* a2 a2)))) |
| 9.0ms | (* (/ 1 (sqrt 2)) (fma a1 a1 (* a2 a2))) |
| 2.0ms | (/ 1 (sqrt 2)) |
3 calls. Slowest were:
| 215.0ms | (* (cos th) (* (/ 1 (sqrt 2)) (fma a1 a1 (* a2 a2)))) |
| 83.0ms | (* (/ 1 (sqrt 2)) (fma a1 a1 (* a2 a2))) |
| 0.0ms | (/ 1 (sqrt 2)) |
39 calls. Slowest were:
| 590.0ms | (* (* (* (/ 1 (sqrt 2)) (/ 1 (sqrt 2))) (/ 1 (sqrt 2))) (* (* (fma a1 a1 (* a2 a2)) (fma a1 a1 (* a2 a2))) (fma a1 a1 (* a2 a2)))) |
| 428.0ms | (* (cos th) (* (* a2 a2) (/ 1 (sqrt 2)))) |
| 288.0ms | (+ (log (cos th)) (log (* (/ 1 (sqrt 2)) (fma a1 a1 (* a2 a2))))) |
8 alts after pruning (8 fresh and 0 done)
Merged error: 0b
Found 2 expressions with local error:
| 0.3b | (/ (fma a1 a1 (* a2 a2)) (sqrt 2)) |
| 0.2b | (* (cos th) (/ (fma a1 a1 (* a2 a2)) (sqrt 2))) |
2 calls. Slowest were:
| 11.0ms | (* (cos th) (/ (fma a1 a1 (* a2 a2)) (sqrt 2))) |
| 6.0ms | (/ (fma a1 a1 (* a2 a2)) (sqrt 2)) |
2 calls. Slowest were:
| 164.0ms | (* (cos th) (/ (fma a1 a1 (* a2 a2)) (sqrt 2))) |
| 79.0ms | (/ (fma a1 a1 (* a2 a2)) (sqrt 2)) |
52 calls. Slowest were:
| 316.0ms | (* (* (* (cos th) (cos th)) (cos th)) (* (* (/ (fma a1 a1 (* a2 a2)) (sqrt 2)) (/ (fma a1 a1 (* a2 a2)) (sqrt 2))) (/ (fma a1 a1 (* a2 a2)) (sqrt 2)))) |
| 157.0ms | (/ (* (* (fma a1 a1 (* a2 a2)) (fma a1 a1 (* a2 a2))) (fma a1 a1 (* a2 a2))) (* (* (sqrt 2) (sqrt 2)) (sqrt 2))) |
| 78.0ms | (+ (/ (* (pow a1 2) (cos th)) (sqrt 2)) (/ (* (cos th) (pow a2 2)) (sqrt 2))) |
7 alts after pruning (6 fresh and 1 done)
Merged error: 0b
Found 4 expressions with local error:
| 6.6b | (sqrt (fma a1 a1 (* a2 a2))) |
| 0.5b | (/ (sqrt 2) (sqrt (fma a1 a1 (* a2 a2)))) |
| 0.3b | (/ (hypot a1 a2) (/ (sqrt 2) (sqrt (fma a1 a1 (* a2 a2))))) |
| 0.2b | (* (cos th) (/ (hypot a1 a2) (/ (sqrt 2) (sqrt (fma a1 a1 (* a2 a2)))))) |
4 calls. Slowest were:
| 8.0ms | (* (cos th) (/ (hypot a1 a2) (/ (sqrt 2) (sqrt (fma a1 a1 (* a2 a2)))))) |
| 6.0ms | (/ (hypot a1 a2) (/ (sqrt 2) (sqrt (fma a1 a1 (* a2 a2))))) |
| 4.0ms | (/ (sqrt 2) (sqrt (fma a1 a1 (* a2 a2)))) |
4 calls. Slowest were:
| 237.0ms | (* (cos th) (/ (hypot a1 a2) (/ (sqrt 2) (sqrt (fma a1 a1 (* a2 a2)))))) |
| 139.0ms | (/ (hypot a1 a2) (/ (sqrt 2) (sqrt (fma a1 a1 (* a2 a2))))) |
| 56.0ms | (/ (sqrt 2) (sqrt (fma a1 a1 (* a2 a2)))) |
| 24.0ms | (sqrt (fma a1 a1 (* a2 a2))) |
306 calls. Slowest were:
| 853.0ms | (/ (* (cbrt (hypot a1 a2)) (cbrt (hypot a1 a2))) (/ (* (cbrt (sqrt 2)) (cbrt (sqrt 2))) (* (cbrt (sqrt (fma a1 a1 (* a2 a2)))) (cbrt (sqrt (fma a1 a1 (* a2 a2))))))) |
| 595.0ms | (* (* (* (cos th) (cos th)) (cos th)) (* (* (/ (hypot a1 a2) (/ (sqrt 2) (sqrt (fma a1 a1 (* a2 a2))))) (/ (hypot a1 a2) (/ (sqrt 2) (sqrt (fma a1 a1 (* a2 a2)))))) (/ (hypot a1 a2) (/ (sqrt 2) (sqrt (fma a1 a1 (* a2 a2))))))) |
| 439.0ms | (/ (hypot a1 a2) (/ (cbrt (sqrt 2)) (sqrt (sqrt (fma a1 a1 (* a2 a2)))))) |
7 alts after pruning (5 fresh and 2 done)
Merged error: 0b
0% (0.5b remaining)
Error of 0.5b against oracle of 0.0b and baseline of 0.5b