


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 inf 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.4m)Debug log
1 calls. Slowest were:
| 65.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:
| 43.0ms | (* (* (* 2 n) U) (- (- t (* 2 (/ (* l l) Om))) (* (* n (pow (/ l Om) 2)) (- U U*)))) |
| 10.0ms | (sqrt (* (* (* 2 n) U) (- (- t (* 2 (/ (* l l) Om))) (* (* n (pow (/ l Om) 2)) (- U U*))))) |
| 7.0ms | (* (* n (pow (/ l Om) 2)) (- U U*)) |
4 calls. Slowest were:
| 1.3s | (sqrt (* (* (* 2 n) U) (- (- t (* 2 (/ (* l l) Om))) (* (* n (pow (/ l Om) 2)) (- U U*))))) |
| 335.0ms | (* (* (* 2 n) U) (- (- t (* 2 (/ (* l l) Om))) (* (* n (pow (/ l Om) 2)) (- U U*)))) |
| 94.0ms | (* (* n (pow (/ l Om) 2)) (- U U*)) |
| 17.0ms | (/ (* l l) Om) |
52 calls. Slowest were:
| 511.0ms | (sqrt (- (- t (* 2 (/ (* l l) Om))) (* (* n (pow (/ l Om) 2)) (- U U*)))) |
| 331.0ms | (* (+ t (* 2 (/ (* l l) Om))) (+ U U*)) |
| 328.0ms | (* (* n (pow (/ l Om) 2)) (- 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:
| 47.0ms | (* (* (* 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*))) |
| 13.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*))))) |
| 324.0ms | (* (* (* 2 n) U) (- (- t (* 2 (/ l (/ Om l)))) (* (* n (pow (/ l Om) 2)) (- U U*)))) |
| 244.0ms | (- (- t (* 2 (/ l (/ Om l)))) (* (* n (pow (/ l Om) 2)) (- U U*))) |
| 93.0ms | (* (* n (pow (/ l Om) 2)) (- U U*)) |
65 calls. Slowest were:
| 393.0ms | (* (+ t (* 2 (/ l (/ Om l)))) (+ U U*)) |
| 355.0ms | (* (* n (pow (/ l Om) 2)) (- U*)) |
| 354.0ms | (* (+ t (* 2 (/ l (/ Om l)))) (+ 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:
| 31.0ms | (* 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.3s | (sqrt (* (* 2 n) (* U (- (- t (* 2 (/ l (/ Om l)))) (* (* n (pow (/ l Om) 2)) (- U U*)))))) |
| 277.0ms | (* U (- (- t (* 2 (/ l (/ Om l)))) (* (* n (pow (/ l Om) 2)) (- U U*)))) |
| 208.0ms | (- (- t (* 2 (/ l (/ Om l)))) (* (* n (pow (/ l Om) 2)) (- U U*))) |
| 94.0ms | (* (* n (pow (/ l Om) 2)) (- U U*)) |
61 calls. Slowest were:
| 510.0ms | (* U (- (* (* n (pow (/ l Om) 2)) (- U U*)))) |
| 494.0ms | (* U (- (* (* n (pow (/ l Om) 2)) (- U U*)))) |
| 422.0ms | (* (- (* (* n (pow (/ l Om) 2)) (- U 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:
| 373.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*)))))))) |
| 7.0ms | (cbrt (* (* n (pow (/ l Om) 2)) (- U U*))) |
| 4.0ms | (cbrt (* (* n (pow (/ l Om) 2)) (- U U*))) |
4 calls. Slowest were:
| 1.4s | (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*)))))))) |
| 263.0ms | (cbrt (* (* n (pow (/ l Om) 2)) (- U U*))) |
| 261.0ms | (cbrt (* (* n (pow (/ l Om) 2)) (- U U*))) |
| 258.0ms | (cbrt (* (* n (pow (/ l Om) 2)) (- U U*))) |
76 calls. Slowest were:
| 810.0ms | (* (cbrt -1) (exp (* 1/3 (- (+ (* 2 (log (/ -1 Om))) (log -1)) (+ (* 2 (log (/ -1 l))) (+ (log (/ -1 n)) (log (/ -1 U)))))))) |
| 766.0ms | (sqrt (* (* 2 n) (* U (- (* (- (pow t 3) (pow (* 2 (/ l (/ Om l))) 3)) (* (* (cbrt (+ (* U U) (+ (* U* U*) (* U U*)))) (cbrt (+ (* U U) (+ (* U* U*) (* U U*))))) (cbrt (+ U U*)))) (* (+ (* t t) (+ (* (* 2 (/ l (/ Om l))) (* 2 (/ l (/ Om l)))) (* t (* 2 (/ l (/ Om l)))))) (* (* (cbrt (* (* n (pow (/ l Om) 2)) (- (pow U 3) (pow U* 3)))) (cbrt (* (* n (pow (/ l Om) 2)) (- (pow U 3) (pow U* 3))))) (cbrt (* (* n (pow (/ l Om) 2)) (- (* U U) (* U* U*)))))))))) |
| 431.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