


Bits error versus n



Bits error versus U



Bits error versus t



Bits error versus l



Bits error versus Om



Bits error versus U*
Results
if n < -499.91336675588843Initial program 30.6
rmApplied associate-/l*28.4
rmApplied sqrt-prod39.6
if -499.91336675588843 < n < -5.619775295235107e-267Initial program 33.8
rmApplied associate-/l*31.1
rmApplied add-sqr-sqrt31.3
if -5.619775295235107e-267 < n < 2.442827692742167e-300Initial program 40.0
rmApplied associate-/l*37.0
rmApplied associate-*l*36.9
Taylor expanded around 0 43.6
Simplified38.0
if 2.442827692742167e-300 < n Initial program 33.0
rmApplied associate-/l*30.2
rmApplied associate-*l*30.4
rmApplied sqrt-prod23.5
Final simplification29.5
herbie shell --seed 2019005
(FPCore (n U t l Om U*)
:name "Toniolo and Linder, Equation (13)"
(sqrt (* (* (* 2 n) U) (- (- t (* 2 (/ (* l l) Om))) (* (* n (pow (/ l Om) 2)) (- U U*))))))
Time bar (total: 1.3m)Debug log
1 calls. Slowest were:
| 94.0ms | (sqrt (* (* (* 2 n) U) (- (- t (* 2 (/ (* l l) Om))) (* (* n (pow (/ l Om) 2)) (- U U*))))) |
1 alts after pruning (1 fresh and 0 done)
Merged error: 32.6b
Found 4 expressions with local error:
| 19.2b | (sqrt (* (* (* 2 n) U) (- (- t (* 2 (/ (* l l) Om))) (* (* n (pow (/ l Om) 2)) (- U U*))))) |
| 9.6b | (* (* (* 2 n) U) (- (- t (* 2 (/ (* l l) Om))) (* (* n (pow (/ l Om) 2)) (- U U*)))) |
| 6.1b | (/ (* l l) Om) |
| 6.0b | (* (* n (pow (/ l Om) 2)) (- U U*)) |
4 calls. Slowest were:
| 49.0ms | (* (* (* 2 n) U) (- (- t (* 2 (/ (* l l) Om))) (* (* n (pow (/ l Om) 2)) (- U U*)))) |
| 21.0ms | (sqrt (* (* (* 2 n) U) (- (- t (* 2 (/ (* l l) Om))) (* (* n (pow (/ l Om) 2)) (- U U*))))) |
| 12.0ms | (* (* n (pow (/ l Om) 2)) (- U U*)) |
4 calls. Slowest were:
| 1.2s | (sqrt (* (* (* 2 n) U) (- (- t (* 2 (/ (* l l) Om))) (* (* n (pow (/ l Om) 2)) (- U U*))))) |
| 338.0ms | (* (* (* 2 n) U) (- (- t (* 2 (/ (* l l) Om))) (* (* n (pow (/ l Om) 2)) (- U U*)))) |
| 115.0ms | (* (* n (pow (/ l Om) 2)) (- U U*)) |
| 16.0ms | (/ (* l l) Om) |
52 calls. Slowest were:
| 336.0ms | (* (+ t (* 2 (/ (* l l) Om))) (+ U U*)) |
| 335.0ms | (sqrt (- (- t (* 2 (/ (* l l) Om))) (* (* n (pow (/ l Om) 2)) (- U U*)))) |
| 316.0ms | (cbrt (- (- t (* 2 (/ (* l l) Om))) (* (* n (pow (/ l Om) 2)) (- U U*)))) |
10 alts after pruning (10 fresh and 0 done)
Merged error: 22.4b
Found 4 expressions with local error:
| 19.2b | (sqrt (* (* (* 2 n) U) (- (- t (* 2 (/ l (/ Om l)))) (* (* n (pow (/ l Om) 2)) (- U U*))))) |
| 9.6b | (* (* (* 2 n) U) (- (- t (* 2 (/ l (/ Om l)))) (* (* n (pow (/ l Om) 2)) (- U U*)))) |
| 6.0b | (* (* n (pow (/ l Om) 2)) (- U U*)) |
| 4.8b | (- (- t (* 2 (/ l (/ Om l)))) (* (* n (pow (/ l Om) 2)) (- U U*))) |
4 calls. Slowest were:
| 41.0ms | (* (* (* 2 n) U) (- (- t (* 2 (/ l (/ Om l)))) (* (* n (pow (/ l Om) 2)) (- U U*)))) |
| 20.0ms | (sqrt (* (* (* 2 n) U) (- (- t (* 2 (/ l (/ Om l)))) (* (* n (pow (/ l Om) 2)) (- U U*))))) |
| 14.0ms | (- (- t (* 2 (/ l (/ Om l)))) (* (* n (pow (/ l Om) 2)) (- U U*))) |
4 calls. Slowest were:
| 1.2s | (sqrt (* (* (* 2 n) U) (- (- t (* 2 (/ l (/ Om l)))) (* (* n (pow (/ l Om) 2)) (- U U*))))) |
| 248.0ms | (* (* (* 2 n) U) (- (- t (* 2 (/ l (/ Om l)))) (* (* n (pow (/ l Om) 2)) (- U U*)))) |
| 207.0ms | (- (- t (* 2 (/ l (/ Om l)))) (* (* n (pow (/ l Om) 2)) (- U U*))) |
| 109.0ms | (* (* n (pow (/ l Om) 2)) (- U U*)) |
65 calls. Slowest were:
| 641.0ms | (+ (log (* (* 2 n) U)) (log (- (- t (* 2 (/ l (/ Om l)))) (* (* n (pow (/ l Om) 2)) (- U U*))))) |
| 331.0ms | (* (- U*) (* n (pow (/ l Om) 2))) |
| 329.0ms | (sqrt (- (- t (* 2 (/ l (/ Om l)))) (* (* n (pow (/ l Om) 2)) (- U U*)))) |
10 alts after pruning (10 fresh and 0 done)
Merged error: 21.9b
Found 4 expressions with local error:
| 19.2b | (sqrt (* (* 2 n) (* U (- (- t (* 2 (/ l (/ Om l)))) (* (* n (pow (/ l Om) 2)) (- U U*)))))) |
| 6.0b | (* (* n (pow (/ l Om) 2)) (- U U*)) |
| 5.0b | (* U (- (- t (* 2 (/ l (/ Om l)))) (* (* n (pow (/ l Om) 2)) (- U U*)))) |
| 4.8b | (- (- t (* 2 (/ l (/ Om l)))) (* (* n (pow (/ l Om) 2)) (- U U*))) |
4 calls. Slowest were:
| 24.0ms | (* U (- (- t (* 2 (/ l (/ Om l)))) (* (* n (pow (/ l Om) 2)) (- U U*)))) |
| 16.0ms | (sqrt (* (* 2 n) (* U (- (- t (* 2 (/ l (/ Om l)))) (* (* n (pow (/ l Om) 2)) (- U U*)))))) |
| 12.0ms | (* (* n (pow (/ l Om) 2)) (- U U*)) |
4 calls. Slowest were:
| 1.2s | (sqrt (* (* 2 n) (* U (- (- t (* 2 (/ l (/ Om l)))) (* (* n (pow (/ l Om) 2)) (- U U*)))))) |
| 252.0ms | (* U (- (- t (* 2 (/ l (/ Om l)))) (* (* n (pow (/ l Om) 2)) (- U U*)))) |
| 196.0ms | (- (- t (* 2 (/ l (/ Om l)))) (* (* n (pow (/ l Om) 2)) (- U U*))) |
| 102.0ms | (* (* n (pow (/ l Om) 2)) (- U U*)) |
61 calls. Slowest were:
| 753.0ms | (* (- (* (* n (pow (/ l Om) 2)) (- U U*))) U) |
| 512.0ms | (* U (- (* (* n (pow (/ l Om) 2)) (- U U*)))) |
| 426.0ms | (* U (- (* (* n (pow (/ l Om) 2)) (- U U*)))) |
16 alts after pruning (16 fresh and 0 done)
Merged error: 17.5b
Found 4 expressions with local error:
| 32.3b | (cbrt (* (* n (pow (/ l Om) 2)) (- U U*))) |
| 32.3b | (cbrt (* (* n (pow (/ l Om) 2)) (- U U*))) |
| 32.3b | (cbrt (* (* n (pow (/ l Om) 2)) (- U U*))) |
| 19.2b | (sqrt (* (* 2 n) (* U (- (- t (* 2 (/ l (/ Om l)))) (* (* (cbrt (* (* n (pow (/ l Om) 2)) (- U U*))) (cbrt (* (* n (pow (/ l Om) 2)) (- U U*)))) (cbrt (* (* n (pow (/ l Om) 2)) (- U U*)))))))) |
4 calls. Slowest were:
| 282.0ms | (sqrt (* (* 2 n) (* U (- (- t (* 2 (/ l (/ Om l)))) (* (* (cbrt (* (* n (pow (/ l Om) 2)) (- U U*))) (cbrt (* (* n (pow (/ l Om) 2)) (- U U*)))) (cbrt (* (* n (pow (/ l Om) 2)) (- U U*)))))))) |
| 4.0ms | (cbrt (* (* n (pow (/ l Om) 2)) (- U U*))) |
| 4.0ms | (cbrt (* (* n (pow (/ l Om) 2)) (- U U*))) |
4 calls. Slowest were:
| 1.2s | (sqrt (* (* 2 n) (* U (- (- t (* 2 (/ l (/ Om l)))) (* (* (cbrt (* (* n (pow (/ l Om) 2)) (- U U*))) (cbrt (* (* n (pow (/ l Om) 2)) (- U U*)))) (cbrt (* (* n (pow (/ l Om) 2)) (- U U*)))))))) |
| 269.0ms | (cbrt (* (* n (pow (/ l Om) 2)) (- U U*))) |
| 202.0ms | (cbrt (* (* n (pow (/ l Om) 2)) (- U U*))) |
| 192.0ms | (cbrt (* (* n (pow (/ l Om) 2)) (- U U*))) |
76 calls. Slowest were:
| 597.0ms | (sqrt (* (* 2 n) (* U (- (* (- (pow t 3) (pow (* 2 (/ l (/ Om l))) 3)) (cbrt (+ U U*))) (* (+ (* t t) (+ (* (* 2 (/ l (/ Om l))) (* 2 (/ l (/ Om l)))) (* t (* 2 (/ l (/ Om l)))))) (* (* (cbrt (* (* n (pow (/ l Om) 2)) (- (* U U) (* U* U*)))) (cbrt (* (* n (pow (/ l Om) 2)) (- U U*)))) (cbrt (* (* n (pow (/ l Om) 2)) (- U U*))))))))) |
| 427.0ms | (* (cbrt -1) (exp (* 1/3 (- (+ (* 2 (log (/ -1 Om))) (log -1)) (+ (* 2 (log (/ -1 l))) (+ (log (/ -1 n)) (log (/ -1 U)))))))) |
| 408.0ms | (* (cbrt -1) (exp (* 1/3 (- (+ (* 2 (log (/ -1 Om))) (log -1)) (+ (* 2 (log (/ -1 l))) (+ (log (/ -1 n)) (log (/ -1 U)))))))) |
18 alts after pruning (17 fresh and 1 done)
Merged error: 17.5b
6% (11.9b remaining)
Error of 29.5b against oracle of 17.7b and baseline of 30.3b