



Bits error versus wj




Bits error versus x
| Original | 13.8 |
|---|---|
| Target | 13.2 |
| Herbie | 0.3 |
if wj < 8.218026681193705e-05Initial program 13.5
rmApplied div-sub13.5
Applied associate--r-6.9
Simplified6.9
Taylor expanded around 0 0.3
Simplified0.3
if 8.218026681193705e-05 < wj Initial program 25.7
rmApplied div-sub25.7
Applied associate--r-25.6
Simplified25.6
rmApplied *-un-lft-identity25.6
Applied times-frac25.6
Simplified25.6
Simplified0.9
Final simplification0.3
herbie shell --seed 2019008 +o rules:numerics
(FPCore (wj x)
:name "Jmat.Real.lambertw, newton loop step"
:herbie-target
(- wj (- (/ wj (+ wj 1)) (/ x (+ (exp wj) (* wj (exp wj))))))
(- wj (/ (- (* wj (exp wj)) x) (+ (exp wj) (* wj (exp wj))))))
Time bar (total: 19.3s)Debug log
1 calls. Slowest were:
| 142.0ms | (- wj (/ (- (* wj (exp wj)) x) (+ (exp wj) (* wj (exp wj))))) |
1 alts after pruning (1 fresh and 0 done)
Merged error: 16.3b
Found 4 expressions with local error:
| 6.0b | (- wj (/ (- (* wj (exp wj)) x) (+ (exp wj) (* wj (exp wj))))) |
| 1.5b | (/ (- (* wj (exp wj)) x) (+ (exp wj) (* wj (exp wj)))) |
| 0.0b | (* wj (exp wj)) |
| 0.0b | (* wj (exp wj)) |
4 calls. Slowest were:
| 9.0ms | (/ (- (* wj (exp wj)) x) (+ (exp wj) (* wj (exp wj)))) |
| 1.0ms | (* wj (exp wj)) |
| 1.0ms | (* wj (exp wj)) |
4 calls. Slowest were:
| 56.0ms | (- wj (/ (- (* wj (exp wj)) x) (+ (exp wj) (* wj (exp wj))))) |
| 52.0ms | (/ (- (* wj (exp wj)) x) (+ (exp wj) (* wj (exp wj)))) |
| 25.0ms | (* wj (exp wj)) |
| 16.0ms | (* wj (exp wj)) |
63 calls. Slowest were:
| 671.0ms | (/ (- (* wj (exp wj)) x) (+ (exp wj) (* wj (exp wj)))) |
| 379.0ms | (/ (* wj (exp wj)) (+ (exp wj) (* wj (exp wj)))) |
| 314.0ms | (+ (* (exp wj) (exp wj)) (- (* (* wj (exp wj)) (* wj (exp wj))) (* (exp wj) (* wj (exp wj))))) |
4 alts after pruning (4 fresh and 0 done)
Merged error: 0.4b
Found 0 expressions with local error:
0 calls. Slowest were:
0 calls. Slowest were:
0 calls. Slowest were:
4 alts after pruning (3 fresh and 1 done)
Merged error: 0.4b
Found 4 expressions with local error:
| 6.7b | (- wj (/ (* wj (exp wj)) (+ (exp wj) (* wj (exp wj))))) |
| 1.5b | (/ (* wj (exp wj)) (+ (exp wj) (* wj (exp wj)))) |
| 0.0b | (/ x (fma wj (exp wj) (exp wj))) |
| 0.0b | (* wj (exp wj)) |
4 calls. Slowest were:
| 13.0ms | (/ (* wj (exp wj)) (+ (exp wj) (* wj (exp wj)))) |
| 2.0ms | (* wj (exp wj)) |
| 1.0ms | (- wj (/ (* wj (exp wj)) (+ (exp wj) (* wj (exp wj))))) |
4 calls. Slowest were:
| 84.0ms | (/ x (fma wj (exp wj) (exp wj))) |
| 60.0ms | (- wj (/ (* wj (exp wj)) (+ (exp wj) (* wj (exp wj))))) |
| 46.0ms | (/ (* wj (exp wj)) (+ (exp wj) (* wj (exp wj)))) |
| 19.0ms | (* wj (exp wj)) |
37 calls. Slowest were:
| 358.0ms | (- (+ x (* 5/2 (* x (pow wj 2)))) (* 2 (* x wj))) |
| 326.0ms | (+ (* (exp wj) (exp wj)) (- (* (* wj (exp wj)) (* wj (exp wj))) (* (exp wj) (* wj (exp wj))))) |
| 136.0ms | (/ (* (* (* wj (exp wj)) (* wj (exp wj))) (* wj (exp wj))) (* (* (+ (exp wj) (* wj (exp wj))) (+ (exp wj) (* wj (exp wj)))) (+ (exp wj) (* wj (exp wj))))) |
4 alts after pruning (3 fresh and 1 done)
Merged error: 0.1b
Found 4 expressions with local error:
| 0.0b | (fma (- 1 wj) (* wj wj) (pow wj 4)) |
| 0.0b | (/ x (fma wj (exp wj) (exp wj))) |
| 0.0b | (fma wj (exp wj) (exp wj)) |
| 0.0b | (+ (fma (- 1 wj) (* wj wj) (pow wj 4)) (/ x (fma wj (exp wj) (exp wj)))) |
4 calls. Slowest were:
| 4.0ms | (+ (fma (- 1 wj) (* wj wj) (pow wj 4)) (/ x (fma wj (exp wj) (exp wj)))) |
| 0.0ms | (/ x (fma wj (exp wj) (exp wj))) |
| 0.0ms | (fma (- 1 wj) (* wj wj) (pow wj 4)) |
4 calls. Slowest were:
| 57.0ms | (+ (fma (- 1 wj) (* wj wj) (pow wj 4)) (/ x (fma wj (exp wj) (exp wj)))) |
| 57.0ms | (/ x (fma wj (exp wj) (exp wj))) |
| 21.0ms | (fma wj (exp wj) (exp wj)) |
| 13.0ms | (fma (- 1 wj) (* wj wj) (pow wj 4)) |
20 calls. Slowest were:
| 413.0ms | (- (+ x (* 5/2 (* x (pow wj 2)))) (* 2 (* x wj))) |
| 311.0ms | (* (exp (fma (- 1 wj) (* wj wj) (pow wj 4))) (exp (/ x (fma wj (exp wj) (exp wj))))) |
| 256.0ms | (+ (fma (- 1 wj) (* wj wj) (pow wj 4)) (/ x (fma wj (exp wj) (exp wj)))) |
5 alts after pruning (3 fresh and 2 done)
Merged error: 0.1b
79.6% (0.2b remaining)
Error of 0.3b against oracle of 0.1b and baseline of 1.1b