


Bits error versus re



Bits error versus im
Results
if re < -3.8666803022011656e+84Initial program 47.5
rmApplied add-sqr-sqrt47.5
Applied pow1/247.5
Applied log-pow47.5
Applied times-frac47.5
rmApplied div-inv47.5
Applied associate-*r*47.5
Taylor expanded around -inf 10.3
Simplified10.3
if -3.8666803022011656e+84 < re < -2.2531648583739764e-146Initial program 15.7
rmApplied add-sqr-sqrt15.7
Applied pow1/215.7
Applied log-pow15.7
Applied times-frac15.7
rmApplied add-sqr-sqrt15.7
Applied associate-*l*15.6
rmApplied associate-*r/15.6
Applied associate-*r/15.6
if -2.2531648583739764e-146 < re < -1.7513372363567082e-188Initial program 25.4
rmApplied add-sqr-sqrt25.4
Applied pow1/225.4
Applied log-pow25.4
Applied times-frac25.4
rmApplied add-sqr-sqrt25.4
Applied associate-*l*25.4
Taylor expanded around 0 37.4
if -1.7513372363567082e-188 < re < -7.933390955826595e-280Initial program 29.5
rmApplied add-sqr-sqrt29.5
Applied pow1/229.5
Applied log-pow29.5
Applied times-frac29.5
rmApplied div-inv29.4
Applied associate-*r*29.4
rmApplied add-cube-cbrt29.4
Applied log-prod29.4
if -7.933390955826595e-280 < re < 2.4967545228125466e-154Initial program 30.7
rmApplied add-sqr-sqrt30.7
Applied pow1/230.7
Applied log-pow30.7
Applied times-frac30.6
rmApplied div-inv30.5
Applied associate-*r*30.5
Taylor expanded around 0 35.2
if 2.4967545228125466e-154 < re < 9.240514624925051e+115Initial program 16.3
rmApplied add-sqr-sqrt16.3
Applied pow1/216.3
Applied log-pow16.3
Applied times-frac16.2
rmApplied add-sqr-sqrt16.3
Applied associate-*l*16.1
if 9.240514624925051e+115 < re Initial program 53.4
rmApplied add-sqr-sqrt53.4
Applied pow1/253.4
Applied log-pow53.4
Applied times-frac53.4
rmApplied add-sqr-sqrt53.4
Applied associate-*l*53.4
Taylor expanded around inf 8.5
Simplified8.5
Final simplification18.5
herbie shell --seed 2019002
(FPCore (re im)
:name "math.log10 on complex, real part"
(/ (log (sqrt (+ (* re re) (* im im)))) (log 10)))
Time bar (total: 23.3s)Debug log
1 calls. Slowest were:
| 8.0ms | (/ (log (sqrt (+ (* re re) (* im im)))) (log 10)) |
1 alts after pruning (1 fresh and 0 done)
Merged error: 30.1b
Found 3 expressions with local error:
| 28.7b | (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:
| 17.0ms | (/ (log (sqrt (+ (* re re) (* im im)))) (log 10)) |
| 4.0ms | (+ (* re re) (* im im)) |
| 4.0ms | (sqrt (+ (* re re) (* im im))) |
3 calls. Slowest were:
| 153.0ms | (/ (log (sqrt (+ (* re re) (* im im)))) (log 10)) |
| 47.0ms | (sqrt (+ (* re re) (* im im))) |
| 24.0ms | (+ (* re re) (* im im)) |
55 calls. Slowest were:
| 164.0ms | (/ (log (sqrt (- (* (* re re) (* re re)) (* (* im im) (* im im))))) (log 10)) |
| 146.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))) |
| 136.0ms | (sqrt (- (* (* re re) (* re re)) (* (* im im) (* im im)))) |
15 alts after pruning (15 fresh and 0 done)
Merged error: 5.8b
Found 4 expressions with local error:
| 29.8b | (log (+ (* re re) (* im im))) |
| 0.5b | (/ (log (+ (* re re) (* im im))) (sqrt (log 10))) |
| 0.3b | (* (/ 1/2 (sqrt (log 10))) (/ (log (+ (* re re) (* im im))) (sqrt (log 10)))) |
| 0.0b | (+ (* re re) (* im im)) |
4 calls. Slowest were:
| 11.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:
| 161.0ms | (/ (log (+ (* re re) (* im im))) (sqrt (log 10))) |
| 147.0ms | (* (/ 1/2 (sqrt (log 10))) (/ (log (+ (* re re) (* im im))) (sqrt (log 10)))) |
| 52.0ms | (log (+ (* re re) (* im im))) |
| 26.0ms | (+ (* re re) (* im im)) |
118 calls. Slowest were:
| 527.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))))) |
| 196.0ms | (/ (log (- (* (* re re) (* re re)) (* (* im im) (* im im)))) (sqrt (log 10))) |
| 184.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)))) |
14 alts after pruning (14 fresh and 0 done)
Merged error: 5.6b
Found 4 expressions with local error:
| 29.8b | (log (+ (* re re) (* im im))) |
| 0.3b | (* (/ 1/2 (sqrt (log 10))) (log (+ (* re re) (* im im)))) |
| 0.3b | (* (* (/ 1/2 (sqrt (log 10))) (log (+ (* re re) (* im im)))) (/ 1 (sqrt (log 10)))) |
| 0.0b | (+ (* re re) (* im im)) |
4 calls. Slowest were:
| 22.0ms | (* (* (/ 1/2 (sqrt (log 10))) (log (+ (* re re) (* im im)))) (/ 1 (sqrt (log 10)))) |
| 7.0ms | (* (/ 1/2 (sqrt (log 10))) (log (+ (* re re) (* im im)))) |
| 4.0ms | (+ (* re re) (* im im)) |
4 calls. Slowest were:
| 191.0ms | (* (/ 1/2 (sqrt (log 10))) (log (+ (* re re) (* im im)))) |
| 141.0ms | (* (* (/ 1/2 (sqrt (log 10))) (log (+ (* re re) (* im im)))) (/ 1 (sqrt (log 10)))) |
| 62.0ms | (log (+ (* re re) (* im im))) |
| 25.0ms | (+ (* re re) (* im im)) |
53 calls. Slowest were:
| 808.0ms | (* (* (* (* (/ 1/2 (sqrt (log 10))) (log (+ (* re re) (* im im)))) (* (/ 1/2 (sqrt (log 10))) (log (+ (* re re) (* im im))))) (* (/ 1/2 (sqrt (log 10))) (log (+ (* re re) (* im im))))) (* (* (/ 1 (sqrt (log 10))) (/ 1 (sqrt (log 10)))) (/ 1 (sqrt (log 10))))) |
| 333.0ms | (* (* (/ 1/2 (sqrt (log 10))) (log (+ (* re re) (* im im)))) (/ 1 (sqrt (log 10)))) |
| 280.0ms | (* (* (/ 1/2 (sqrt (log 10))) (log (+ (* re re) (* im im)))) (/ 1 (sqrt (log 10)))) |
13 alts after pruning (13 fresh and 0 done)
Merged error: 5.6b
Found 4 expressions with local error:
| 29.8b | (log (+ (* re re) (* im im))) |
| 0.5b | (/ (log (+ (* re re) (* im im))) (sqrt (log 10))) |
| 0.4b | (* (sqrt (/ 1/2 (sqrt (log 10)))) (* (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)))) |
4 calls. Slowest were:
| 17.0ms | (* (sqrt (/ 1/2 (sqrt (log 10)))) (* (sqrt (/ 1/2 (sqrt (log 10)))) (/ (log (+ (* re re) (* im im))) (sqrt (log 10))))) |
| 7.0ms | (* (sqrt (/ 1/2 (sqrt (log 10)))) (/ (log (+ (* re re) (* im im))) (sqrt (log 10)))) |
| 7.0ms | (/ (log (+ (* re re) (* im im))) (sqrt (log 10))) |
4 calls. Slowest were:
| 587.0ms | (* (sqrt (/ 1/2 (sqrt (log 10)))) (/ (log (+ (* re re) (* im im))) (sqrt (log 10)))) |
| 166.0ms | (/ (log (+ (* re re) (* im im))) (sqrt (log 10))) |
| 162.0ms | (* (sqrt (/ 1/2 (sqrt (log 10)))) (* (sqrt (/ 1/2 (sqrt (log 10)))) (/ (log (+ (* re re) (* im im))) (sqrt (log 10))))) |
| 48.0ms | (log (+ (* re re) (* im im))) |
146 calls. Slowest were:
| 592.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)))))) |
| 391.0ms | (* -2 (/ (* (log (/ -1 re)) (pow (sqrt 1/2) 2)) (log 10))) |
| 332.0ms | (* -2 (/ (* (log (/ 1 re)) (pow (sqrt 1/2) 2)) (log 10))) |
15 alts after pruning (14 fresh and 1 done)
Merged error: 5.6b
51.8% (11.4b remaining)
Error of 18.5b against oracle of 7.1b and baseline of 30.7b