


Bits error versus re



Bits error versus im
Results
if im < -6.5154143042887985e-195Initial program 31.1
Initial simplification31.1
rmApplied add-sqr-sqrt31.1
Applied pow1/231.1
Applied log-pow31.1
Applied times-frac31.1
rmApplied add-sqr-sqrt31.1
Applied associate-*l*31.0
rmApplied *-commutative31.0
rmApplied associate-*r/31.0
Applied associate-*l/31.0
Simplified31.1
if -6.5154143042887985e-195 < im < -4.419307702247496e-287 or 5.085782676534846e-253 < im < 1.5629530404064845e-115Initial program 27.1
Initial simplification27.1
rmApplied add-sqr-sqrt27.1
Applied pow1/227.1
Applied log-pow27.1
Applied times-frac27.1
Taylor expanded around inf 36.1
Simplified36.1
if -4.419307702247496e-287 < im < 5.085782676534846e-253Initial program 30.8
Initial simplification30.8
rmApplied add-sqr-sqrt30.8
Applied pow1/230.8
Applied log-pow30.8
Applied times-frac30.8
Taylor expanded around -inf 32.7
if 1.5629530404064845e-115 < im < 2.4769712697335444e+139Initial program 16.3
Initial simplification16.3
rmApplied add-sqr-sqrt16.3
Applied pow1/216.3
Applied log-pow16.3
Applied times-frac16.3
rmApplied add-sqr-sqrt16.3
Applied associate-*l*16.2
rmApplied *-commutative16.2
rmApplied div-inv16.3
if 2.4769712697335444e+139 < im Initial program 57.1
Initial simplification57.1
rmApplied add-sqr-sqrt57.1
Applied pow1/257.1
Applied log-pow57.1
Applied times-frac57.1
Taylor expanded around 0 6.2
Final simplification25.6
herbie shell --seed 2018360
(FPCore (re im)
:name "math.log10 on complex, real part"
(/ (log (sqrt (+ (* re re) (* im im)))) (log 10)))
Time bar (total: 31.4s)Debug log
1 alts after pruning (1 fresh and 0 done)
Merged error: 31.3b
Found 3 expressions with local error:
| 29.8b | (sqrt (+ (* re re) (* im im))) |
| 0.6b | (/ (log (sqrt (+ (* re re) (* im im)))) (log 10)) |
| 0.0b | (+ (* re re) (* im im)) |
3 calls. Slowest were:
| 16.0ms | (+ (* re re) (* im im)) |
| 8.0ms | (/ (log (sqrt (+ (* re re) (* im im)))) (log 10)) |
| 3.0ms | (sqrt (+ (* re re) (* im im))) |
3 calls. Slowest were:
| 171.0ms | (/ (log (sqrt (+ (* re re) (* im im)))) (log 10)) |
| 46.0ms | (sqrt (+ (* re re) (* im im))) |
| 26.0ms | (+ (* re re) (* im im)) |
55 calls. Slowest were:
| 153.0ms | (/ (log (sqrt (- (* (* re re) (* re re)) (* (* im im) (* im im))))) (log 10)) |
| 147.0ms | (sqrt (- (* (* re re) (* re re)) (* (* im im) (* im im)))) |
| 147.0ms | (/ (* (* (log (sqrt (+ (* re re) (* im im)))) (log (sqrt (+ (* re re) (* im im))))) (log (sqrt (+ (* re re) (* im im))))) (* (* (log 10) (log 10)) (log 10))) |
15 alts after pruning (15 fresh and 0 done)
Merged error: 9.4b
Found 4 expressions with local error:
| 31.0b | (log (+ (* re re) (* im im))) |
| 0.5b | (/ (log (+ (* re re) (* im im))) (sqrt (log 10))) |
| 0.2b | (* (/ 1/2 (sqrt (log 10))) (/ (log (+ (* re re) (* im im))) (sqrt (log 10)))) |
| 0.0b | (+ (* re re) (* im im)) |
4 calls. Slowest were:
| 12.0ms | (* (/ 1/2 (sqrt (log 10))) (/ (log (+ (* re re) (* im im))) (sqrt (log 10)))) |
| 7.0ms | (/ (log (+ (* re re) (* im im))) (sqrt (log 10))) |
| 4.0ms | (+ (* re re) (* im im)) |
4 calls. Slowest were:
| 179.0ms | (/ (log (+ (* re re) (* im im))) (sqrt (log 10))) |
| 126.0ms | (* (/ 1/2 (sqrt (log 10))) (/ (log (+ (* re re) (* im im))) (sqrt (log 10)))) |
| 58.0ms | (log (+ (* re re) (* im im))) |
| 15.0ms | (+ (* re re) (* im im)) |
118 calls. Slowest were:
| 435.0ms | (* (* (* (/ 1/2 (sqrt (log 10))) (/ 1/2 (sqrt (log 10)))) (/ 1/2 (sqrt (log 10)))) (* (* (/ (log (+ (* re re) (* im im))) (sqrt (log 10))) (/ (log (+ (* re re) (* im im))) (sqrt (log 10)))) (/ (log (+ (* re re) (* im im))) (sqrt (log 10))))) |
| 173.0ms | (/ (log (- (* (* re re) (* re re)) (* (* im im) (* im im)))) (sqrt (log 10))) |
| 158.0ms | (/ (* (* (log (+ (* re re) (* im im))) (log (+ (* re re) (* im im)))) (log (+ (* re re) (* im im)))) (* (* (sqrt (log 10)) (sqrt (log 10))) (sqrt (log 10)))) |
13 alts after pruning (13 fresh and 0 done)
Merged error: 9.3b
Found 4 expressions with local error:
| 31.0b | (log (+ (* re re) (* im im))) |
| 0.5b | (/ (log (+ (* re re) (* im im))) (sqrt (log 10))) |
| 0.4b | (* (sqrt (/ 1/2 (sqrt (log 10)))) (/ (log (+ (* re re) (* im im))) (sqrt (log 10)))) |
| 0.3b | (* (sqrt (/ 1/2 (sqrt (log 10)))) (* (sqrt (/ 1/2 (sqrt (log 10)))) (/ (log (+ (* re re) (* im im))) (sqrt (log 10))))) |
4 calls. Slowest were:
| 29.0ms | (* (sqrt (/ 1/2 (sqrt (log 10)))) (* (sqrt (/ 1/2 (sqrt (log 10)))) (/ (log (+ (* re re) (* im im))) (sqrt (log 10))))) |
| 15.0ms | (* (sqrt (/ 1/2 (sqrt (log 10)))) (/ (log (+ (* re re) (* im im))) (sqrt (log 10)))) |
| 14.0ms | (/ (log (+ (* re re) (* im im))) (sqrt (log 10))) |
4 calls. Slowest were:
| 579.0ms | (* (sqrt (/ 1/2 (sqrt (log 10)))) (/ (log (+ (* re re) (* im im))) (sqrt (log 10)))) |
| 222.0ms | (* (sqrt (/ 1/2 (sqrt (log 10)))) (* (sqrt (/ 1/2 (sqrt (log 10)))) (/ (log (+ (* re re) (* im im))) (sqrt (log 10))))) |
| 205.0ms | (/ (log (+ (* re re) (* im im))) (sqrt (log 10))) |
| 69.0ms | (log (+ (* re re) (* im im))) |
146 calls. Slowest were:
| 2.7s | (* -2 (/ (* (log (/ 1 re)) (pow (sqrt 1/2) 2)) (log 10))) |
| 586.0ms | (* (* (* (sqrt (/ 1/2 (sqrt (log 10)))) (sqrt (/ 1/2 (sqrt (log 10))))) (sqrt (/ 1/2 (sqrt (log 10))))) (* (* (* (sqrt (/ 1/2 (sqrt (log 10)))) (/ (log (+ (* re re) (* im im))) (sqrt (log 10)))) (* (sqrt (/ 1/2 (sqrt (log 10)))) (/ (log (+ (* re re) (* im im))) (sqrt (log 10))))) (* (sqrt (/ 1/2 (sqrt (log 10)))) (/ (log (+ (* re re) (* im im))) (sqrt (log 10)))))) |
| 427.0ms | (* 2 (/ (* (log im) (pow (sqrt 1/2) 2)) (log 10))) |
15 alts after pruning (15 fresh and 0 done)
Merged error: 9.2b
Found 4 expressions with local error:
| 31.0b | (log (+ (* re re) (* im im))) |
| 0.5b | (/ (log (+ (* re re) (* im im))) (sqrt (log 10))) |
| 0.4b | (* (sqrt (/ 1/2 (sqrt (log 10)))) (/ (log (+ (* re re) (* im im))) (sqrt (log 10)))) |
| 0.3b | (* (* (sqrt (/ 1/2 (sqrt (log 10)))) (/ (log (+ (* re re) (* im im))) (sqrt (log 10)))) (sqrt (/ 1/2 (sqrt (log 10))))) |
4 calls. Slowest were:
| 15.0ms | (* (* (sqrt (/ 1/2 (sqrt (log 10)))) (/ (log (+ (* re re) (* im im))) (sqrt (log 10)))) (sqrt (/ 1/2 (sqrt (log 10))))) |
| 7.0ms | (/ (log (+ (* re re) (* im im))) (sqrt (log 10))) |
| 7.0ms | (* (sqrt (/ 1/2 (sqrt (log 10)))) (/ (log (+ (* re re) (* im im))) (sqrt (log 10)))) |
4 calls. Slowest were:
| 656.0ms | (* (sqrt (/ 1/2 (sqrt (log 10)))) (/ (log (+ (* re re) (* im im))) (sqrt (log 10)))) |
| 192.0ms | (* (* (sqrt (/ 1/2 (sqrt (log 10)))) (/ (log (+ (* re re) (* im im))) (sqrt (log 10)))) (sqrt (/ 1/2 (sqrt (log 10))))) |
| 187.0ms | (/ (log (+ (* re re) (* im im))) (sqrt (log 10))) |
| 41.0ms | (log (+ (* re re) (* im im))) |
147 calls. Slowest were:
| 2.5s | (* -2 (/ (* (log (/ 1 re)) (pow (sqrt 1/2) 2)) (log 10))) |
| 1.0s | (* (* (* (* (sqrt (/ 1/2 (sqrt (log 10)))) (sqrt (/ 1/2 (sqrt (log 10))))) (sqrt (/ 1/2 (sqrt (log 10))))) (* (* (/ (log (+ (* re re) (* im im))) (sqrt (log 10))) (/ (log (+ (* re re) (* im im))) (sqrt (log 10)))) (/ (log (+ (* re re) (* im im))) (sqrt (log 10))))) (* (* (sqrt (/ 1/2 (sqrt (log 10)))) (sqrt (/ 1/2 (sqrt (log 10))))) (sqrt (/ 1/2 (sqrt (log 10)))))) |
| 763.0ms | (* (* (* (* (sqrt (/ 1/2 (sqrt (log 10)))) (/ (log (+ (* re re) (* im im))) (sqrt (log 10)))) (* (sqrt (/ 1/2 (sqrt (log 10)))) (/ (log (+ (* re re) (* im im))) (sqrt (log 10))))) (* (sqrt (/ 1/2 (sqrt (log 10)))) (/ (log (+ (* re re) (* im im))) (sqrt (log 10))))) (* (* (sqrt (/ 1/2 (sqrt (log 10)))) (sqrt (/ 1/2 (sqrt (log 10))))) (sqrt (/ 1/2 (sqrt (log 10)))))) |
14 alts after pruning (14 fresh and 0 done)
Merged error: 9.2b
22.5% (18.3b remaining)
Error of 25.6b against oracle of 7.3b and baseline of 30.9b