


Bits error versus re



Bits error versus im
Results
if re < -1.6813385983305504e+75Initial program 45.3
rmApplied add-sqr-sqrt45.3
Applied pow1/245.3
Applied log-pow45.3
Applied times-frac45.3
Taylor expanded around -inf 9.8
if -1.6813385983305504e+75 < re < 1.588579464309484e+112Initial program 21.6
rmApplied add-sqr-sqrt21.6
Applied pow1/221.6
Applied log-pow21.6
Applied times-frac21.6
rmApplied add-sqr-sqrt21.6
Applied associate-*l*21.5
rmApplied sqrt-div21.5
Applied associate-*l/21.6
if 1.588579464309484e+112 < re Initial program 51.4
rmApplied add-sqr-sqrt51.4
Applied pow1/251.4
Applied log-pow51.4
Applied times-frac51.4
rmApplied add-sqr-sqrt51.4
Applied associate-*l*51.4
Taylor expanded around inf 7.8
Final simplification17.1
herbie shell --seed 2019004
(FPCore (re im)
:name "math.log10 on complex, real part"
(/ (log (sqrt (+ (* re re) (* im im)))) (log 10)))
Time bar (total: 26.8s)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: 33.5b
Found 2 expressions with local error:
| 31.9b | (sqrt (+ (* re re) (* im im))) |
| 0.6b | (/ (log (sqrt (+ (* re re) (* im im)))) (log 10)) |
2 calls. Slowest were:
| 8.0ms | (/ (log (sqrt (+ (* re re) (* im im)))) (log 10)) |
| 2.0ms | (sqrt (+ (* re re) (* im im))) |
2 calls. Slowest were:
| 137.0ms | (/ (log (sqrt (+ (* re re) (* im im)))) (log 10)) |
| 32.0ms | (sqrt (+ (* re re) (* im im))) |
51 calls. Slowest were:
| 150.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))) |
| 111.0ms | (sqrt (- (* (* re re) (* re re)) (* (* im im) (* im im)))) |
| 107.0ms | (/ (log (sqrt (- (* (* re re) (* re re)) (* (* im im) (* im im))))) (log 10)) |
13 alts after pruning (13 fresh and 0 done)
Merged error: 9.2b
Found 3 expressions with local error:
| 33.2b | (log (+ (* re re) (* im im))) |
| 0.4b | (/ (log (+ (* re re) (* im im))) (sqrt (log 10))) |
| 0.3b | (* (/ 1/2 (sqrt (log 10))) (/ (log (+ (* re re) (* im im))) (sqrt (log 10)))) |
3 calls. Slowest were:
| 12.0ms | (/ (log (+ (* re re) (* im im))) (sqrt (log 10))) |
| 9.0ms | (* (/ 1/2 (sqrt (log 10))) (/ (log (+ (* re re) (* im im))) (sqrt (log 10)))) |
| 3.0ms | (log (+ (* re re) (* im im))) |
3 calls. Slowest were:
| 169.0ms | (/ (log (+ (* re re) (* im im))) (sqrt (log 10))) |
| 136.0ms | (* (/ 1/2 (sqrt (log 10))) (/ (log (+ (* re re) (* im im))) (sqrt (log 10)))) |
| 53.0ms | (log (+ (* re re) (* im im))) |
114 calls. Slowest were:
| 540.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))))) |
| 175.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)))) |
| 165.0ms | (+ (log (/ 1/2 (sqrt (log 10)))) (- (log (log (+ (* re re) (* im im)))) (log (sqrt (log 10))))) |
14 alts after pruning (14 fresh and 0 done)
Merged error: 9.1b
Found 4 expressions with local error:
| 33.2b | (log (+ (* re re) (* im im))) |
| 0.4b | (/ (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:
| 29.0ms | (* (sqrt (/ 1/2 (sqrt (log 10)))) (* (sqrt (/ 1/2 (sqrt (log 10)))) (/ (log (+ (* re re) (* im im))) (sqrt (log 10))))) |
| 16.0ms | (/ (log (+ (* re re) (* im im))) (sqrt (log 10))) |
| 15.0ms | (* (sqrt (/ 1/2 (sqrt (log 10)))) (/ (log (+ (* re re) (* im im))) (sqrt (log 10)))) |
4 calls. Slowest were:
| 529.0ms | (* (sqrt (/ 1/2 (sqrt (log 10)))) (/ (log (+ (* re re) (* im im))) (sqrt (log 10)))) |
| 201.0ms | (/ (log (+ (* re re) (* im im))) (sqrt (log 10))) |
| 194.0ms | (* (sqrt (/ 1/2 (sqrt (log 10)))) (* (sqrt (/ 1/2 (sqrt (log 10)))) (/ (log (+ (* re re) (* im im))) (sqrt (log 10))))) |
| 66.0ms | (log (+ (* re re) (* im im))) |
146 calls. Slowest were:
| 658.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)))))) |
| 519.0ms | (* 2 (/ (* (log im) (pow (sqrt 1/2) 2)) (log 10))) |
| 313.0ms | (* -2 (/ (* (log (/ -1 re)) (pow (sqrt 1/2) 2)) (log 10))) |
16 alts after pruning (16 fresh and 0 done)
Merged error: 9.0b
Found 4 expressions with local error:
| 33.2b | (log (+ (* re re) (* im im))) |
| 1.0b | (sqrt (sqrt (log 10))) |
| 0.5b | (/ (* (sqrt 1/2) (* (sqrt (/ 1/2 (sqrt (log 10)))) (/ (log (+ (* re re) (* im im))) (sqrt (log 10))))) (sqrt (sqrt (log 10)))) |
| 0.5b | (* (sqrt 1/2) (* (sqrt (/ 1/2 (sqrt (log 10)))) (/ (log (+ (* re re) (* im im))) (sqrt (log 10))))) |
4 calls. Slowest were:
| 19.0ms | (/ (* (sqrt 1/2) (* (sqrt (/ 1/2 (sqrt (log 10)))) (/ (log (+ (* re re) (* im im))) (sqrt (log 10))))) (sqrt (sqrt (log 10)))) |
| 14.0ms | (* (sqrt 1/2) (* (sqrt (/ 1/2 (sqrt (log 10)))) (/ (log (+ (* re re) (* im im))) (sqrt (log 10))))) |
| 2.0ms | (log (+ (* re re) (* im im))) |
4 calls. Slowest were:
| 593.0ms | (* (sqrt 1/2) (* (sqrt (/ 1/2 (sqrt (log 10)))) (/ (log (+ (* re re) (* im im))) (sqrt (log 10))))) |
| 261.0ms | (/ (* (sqrt 1/2) (* (sqrt (/ 1/2 (sqrt (log 10)))) (/ (log (+ (* re re) (* im im))) (sqrt (log 10))))) (sqrt (sqrt (log 10)))) |
| 37.0ms | (log (+ (* re re) (* im im))) |
| 0.0ms | (sqrt (sqrt (log 10))) |
77 calls. Slowest were:
| 807.0ms | (* 2 (* (* (log im) (pow (sqrt 1/2) 2)) (pow (/ 1 (pow (log 10) 3)) 1/4))) |
| 568.0ms | (* -2 (* (pow (/ 1 (pow (log 10) 3)) 1/4) (* (log (/ 1 re)) (pow (sqrt 1/2) 2)))) |
| 551.0ms | (* (* (* (sqrt 1/2) (sqrt 1/2)) (sqrt 1/2)) (* (* (* (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)))))) |
19 alts after pruning (18 fresh and 1 done)
Merged error: 9.0b
58.5% (9.8b remaining)
Error of 17.1b against oracle of 7.3b and baseline of 30.9b