


Bits error versus a1



Bits error versus a2



Bits error versus th
Initial program 0.5
Initial simplification0.5
rmApplied add-sqr-sqrt0.5
Applied associate-/r*0.5
rmApplied *-un-lft-identity0.5
Applied sqrt-prod0.5
Applied div-inv0.6
Applied times-frac0.5
Applied associate-*l*0.5
Simplified0.5
Final simplification0.5
herbie shell --seed 2018360 +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: 44.7s)Debug log
2 alts after pruning (2 fresh and 0 done)
Merged error: 0.5b
Found 2 expressions with local error:
| 0.7b | (/ (cos th) (sqrt 2)) |
| 0.3b | (* (/ (cos th) (sqrt 2)) (fma a1 a1 (* a2 a2))) |
2 calls. Slowest were:
| 6.0ms | (* (/ (cos th) (sqrt 2)) (fma a1 a1 (* a2 a2))) |
| 3.0ms | (/ (cos th) (sqrt 2)) |
2 calls. Slowest were:
| 182.0ms | (* (/ (cos th) (sqrt 2)) (fma a1 a1 (* a2 a2))) |
| 46.0ms | (/ (cos th) (sqrt 2)) |
54 calls. Slowest were:
| 124.0ms | (- (+ (/ 1 (sqrt 2)) (* 1/24 (/ (pow th 4) (sqrt 2)))) (* 1/2 (/ (pow th 2) (sqrt 2)))) |
| 103.0ms | (+ (/ (* (pow a1 2) (cos th)) (sqrt 2)) (/ (* (cos th) (pow a2 2)) (sqrt 2))) |
| 97.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)))) |
10 alts after pruning (10 fresh and 0 done)
Merged error: 0.0b
Found 3 expressions with local error:
| 0.7b | (/ (/ (cos th) (sqrt (sqrt 2))) (sqrt (sqrt 2))) |
| 0.6b | (/ (cos th) (sqrt (sqrt 2))) |
| 0.3b | (* (/ (/ (cos th) (sqrt (sqrt 2))) (sqrt (sqrt 2))) (fma a1 a1 (* a2 a2))) |
3 calls. Slowest were:
| 15.0ms | (/ (/ (cos th) (sqrt (sqrt 2))) (sqrt (sqrt 2))) |
| 14.0ms | (* (/ (/ (cos th) (sqrt (sqrt 2))) (sqrt (sqrt 2))) (fma a1 a1 (* a2 a2))) |
| 7.0ms | (/ (cos th) (sqrt (sqrt 2))) |
3 calls. Slowest were:
| 181.0ms | (* (/ (/ (cos th) (sqrt (sqrt 2))) (sqrt (sqrt 2))) (fma a1 a1 (* a2 a2))) |
| 84.0ms | (/ (cos th) (sqrt (sqrt 2))) |
| 57.0ms | (/ (/ (cos th) (sqrt (sqrt 2))) (sqrt (sqrt 2))) |
499 calls. Slowest were:
| 582.0ms | (* (/ (* (* (/ (cos th) (sqrt (sqrt 2))) (/ (cos th) (sqrt (sqrt 2)))) (/ (cos th) (sqrt (sqrt 2)))) (* (* (sqrt (sqrt 2)) (sqrt (sqrt 2))) (sqrt (sqrt 2)))) (* (* (fma a1 a1 (* a2 a2)) (fma a1 a1 (* a2 a2))) (fma a1 a1 (* a2 a2)))) |
| 430.0ms | (/ (* (* (/ (cos th) (sqrt (sqrt 2))) (/ (cos th) (sqrt (sqrt 2)))) (/ (cos th) (sqrt (sqrt 2)))) (* (* (sqrt (sqrt 2)) (sqrt (sqrt 2))) (sqrt (sqrt 2)))) |
| 338.0ms | (- (+ (sqrt (/ 1 (sqrt 2))) (* 1/24 (* (sqrt (/ 1 (sqrt 2))) (pow th 4)))) (* 1/2 (* (sqrt (/ 1 (sqrt 2))) (pow th 2)))) |
7 alts after pruning (7 fresh and 0 done)
Merged error: 0b
Found 4 expressions with local error:
| 1.0b | (/ (/ 1 (sqrt (sqrt 2))) (sqrt (cbrt (sqrt 2)))) |
| 1.0b | (/ 1 (sqrt (sqrt 2))) |
| 0.4b | (* (/ (/ 1 (sqrt (sqrt 2))) (sqrt (cbrt (sqrt 2)))) (fma a1 a1 (* a2 a2))) |
| 0.3b | (* (/ (cos th) (fabs (cbrt (sqrt 2)))) (* (/ (/ 1 (sqrt (sqrt 2))) (sqrt (cbrt (sqrt 2)))) (fma a1 a1 (* a2 a2)))) |
4 calls. Slowest were:
| 36.0ms | (* (/ (cos th) (fabs (cbrt (sqrt 2)))) (* (/ (/ 1 (sqrt (sqrt 2))) (sqrt (cbrt (sqrt 2)))) (fma a1 a1 (* a2 a2)))) |
| 22.0ms | (* (/ (/ 1 (sqrt (sqrt 2))) (sqrt (cbrt (sqrt 2)))) (fma a1 a1 (* a2 a2))) |
| 10.0ms | (/ (/ 1 (sqrt (sqrt 2))) (sqrt (cbrt (sqrt 2)))) |
4 calls. Slowest were:
| 1.1s | (* (/ (cos th) (fabs (cbrt (sqrt 2)))) (* (/ (/ 1 (sqrt (sqrt 2))) (sqrt (cbrt (sqrt 2)))) (fma a1 a1 (* a2 a2)))) |
| 458.0ms | (* (/ (/ 1 (sqrt (sqrt 2))) (sqrt (cbrt (sqrt 2)))) (fma a1 a1 (* a2 a2))) |
| 0.0ms | (/ (/ 1 (sqrt (sqrt 2))) (sqrt (cbrt (sqrt 2)))) |
| 0.0ms | (/ 1 (sqrt (sqrt 2))) |
190 calls. Slowest were:
| 484.0ms | (* (/ (* (* (cos th) (cos th)) (cos th)) (* (* (fabs (cbrt (sqrt 2))) (fabs (cbrt (sqrt 2)))) (fabs (cbrt (sqrt 2))))) (* (/ (* (* (/ 1 (sqrt (sqrt 2))) (/ 1 (sqrt (sqrt 2)))) (/ 1 (sqrt (sqrt 2)))) (* (* (sqrt (cbrt (sqrt 2))) (sqrt (cbrt (sqrt 2)))) (sqrt (cbrt (sqrt 2))))) (* (* (fma a1 a1 (* a2 a2)) (fma a1 a1 (* a2 a2))) (fma a1 a1 (* a2 a2))))) |
| 474.0ms | (+ (- (log (cos th)) (log (fabs (cbrt (sqrt 2))))) (+ (log (/ (/ 1 (sqrt (sqrt 2))) (sqrt (cbrt (sqrt 2))))) (log (fma a1 a1 (* a2 a2))))) |
| 443.0ms | (* (/ (cos th) (fabs (cbrt (sqrt 2)))) (* (* a2 a2) (/ (/ 1 (sqrt (sqrt 2))) (sqrt (cbrt (sqrt 2)))))) |
6 alts after pruning (6 fresh and 0 done)
Merged error: 0b
Found 4 expressions with local error:
| 1.0b | (/ (/ 1 (sqrt (sqrt 2))) (sqrt (sqrt 2))) |
| 1.0b | (/ 1 (sqrt (sqrt 2))) |
| 0.4b | (* (/ (/ 1 (sqrt (sqrt 2))) (sqrt (sqrt 2))) (fma a1 a1 (* a2 a2))) |
| 0.1b | (* (cos th) (* (/ (/ 1 (sqrt (sqrt 2))) (sqrt (sqrt 2))) (fma a1 a1 (* a2 a2)))) |
4 calls. Slowest were:
| 13.0ms | (* (cos th) (* (/ (/ 1 (sqrt (sqrt 2))) (sqrt (sqrt 2))) (fma a1 a1 (* a2 a2)))) |
| 9.0ms | (/ (/ 1 (sqrt (sqrt 2))) (sqrt (sqrt 2))) |
| 8.0ms | (* (/ (/ 1 (sqrt (sqrt 2))) (sqrt (sqrt 2))) (fma a1 a1 (* a2 a2))) |
4 calls. Slowest were:
| 169.0ms | (* (cos th) (* (/ (/ 1 (sqrt (sqrt 2))) (sqrt (sqrt 2))) (fma a1 a1 (* a2 a2)))) |
| 51.0ms | (* (/ (/ 1 (sqrt (sqrt 2))) (sqrt (sqrt 2))) (fma a1 a1 (* a2 a2))) |
| 0.0ms | (/ (/ 1 (sqrt (sqrt 2))) (sqrt (sqrt 2))) |
| 0.0ms | (/ 1 (sqrt (sqrt 2))) |
137 calls. Slowest were:
| 516.0ms | (* (cos th) (* (/ (/ 1 (sqrt (sqrt 2))) (sqrt (sqrt 2))) (fma a1 a1 (* a2 a2)))) |
| 512.0ms | (* (* (/ (/ 1 (sqrt (sqrt 2))) (sqrt (sqrt 2))) (* a2 a2)) (cos th)) |
| 481.0ms | (* (cos th) (* (* a2 a2) (/ (/ 1 (sqrt (sqrt 2))) (sqrt (sqrt 2))))) |
6 alts after pruning (5 fresh and 1 done)
Merged error: 0b
0% (0.4b remaining)
Error of 0.5b against oracle of 0.0b and baseline of 0.5b