(FPCore (wj x) :precision binary64 (- wj (/ (- (* wj (exp wj)) x) (+ (exp wj) (* wj (exp wj))))))
double code(double wj, double x) {
return wj - (((wj * exp(wj)) - x) / (exp(wj) + (wj * exp(wj))));
}
real(8) function code(wj, x)
real(8), intent (in) :: wj
real(8), intent (in) :: x
code = wj - (((wj * exp(wj)) - x) / (exp(wj) + (wj * exp(wj))))
end function
public static double code(double wj, double x) {
return wj - (((wj * Math.exp(wj)) - x) / (Math.exp(wj) + (wj * Math.exp(wj))));
}
def code(wj, x): return wj - (((wj * math.exp(wj)) - x) / (math.exp(wj) + (wj * math.exp(wj))))
function code(wj, x) return Float64(wj - Float64(Float64(Float64(wj * exp(wj)) - x) / Float64(exp(wj) + Float64(wj * exp(wj))))) end
function tmp = code(wj, x) tmp = wj - (((wj * exp(wj)) - x) / (exp(wj) + (wj * exp(wj)))); end
code[wj_, x_] := N[(wj - N[(N[(N[(wj * N[Exp[wj], $MachinePrecision]), $MachinePrecision] - x), $MachinePrecision] / N[(N[Exp[wj], $MachinePrecision] + N[(wj * N[Exp[wj], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]
wj - \frac{wj \cdot e^{wj} - x}{e^{wj} + wj \cdot e^{wj}}
Please include this information when filing a bug report:
herbie shell --seed 2023098
(FPCore (wj x)
:name "Jmat.Real.lambertw, newton loop step"
:precision binary64
:herbie-target
(- wj (- (/ wj (+ wj 1.0)) (/ x (+ (exp wj) (* wj (exp wj))))))
(- wj (/ (- (* wj (exp wj)) x) (+ (exp wj) (* wj (exp wj))))))
| hash-ref: no value found for key key: 'false | L | C | |
|---|---|---|---|
| (unnamed) | /home/nightlies/herbie/using-ruler-nightlies/src/syntax/syntax.rkt | 230 | 2 |
| f336 | .../match/compiler.rkt | 548 | 40 |
| expand-parametric | /home/nightlies/herbie/using-ruler-nightlies/src/syntax/sugar.rkt | 62 | 0 |
| (unnamed) | /home/nightlies/herbie/using-ruler-nightlies/src/core/egg-herbie.rkt | 255 | 9 |
| rule->egg-rules | /home/nightlies/herbie/using-ruler-nightlies/src/core/egg-herbie.rkt | 224 | 0 |
| expand-rules | /home/nightlies/herbie/using-ruler-nightlies/src/core/egg-herbie.rkt | 488 | 0 |
| egraph-run-rules | /home/nightlies/herbie/using-ruler-nightlies/src/core/egg-herbie.rkt | 509 | 0 |
| (unnamed) | /home/nightlies/herbie/using-ruler-nightlies/src/core/simplify.rkt | 58 | 3 |
| with-egraph | /home/nightlies/herbie/using-ruler-nightlies/src/core/egg-herbie.rkt | 333 | 0 |
| simplify-batch | /home/nightlies/herbie/using-ruler-nightlies/src/core/simplify.rkt | 23 | 0 |
| (unnamed) | /usr/share/racket/collects/racket/contract/private/arrow-higher-order.rkt | 379 | 33 |
| get-swaps | /home/nightlies/herbie/using-ruler-nightlies/src/symmetry.rkt | 6 | 0 |
| connected-components | /home/nightlies/herbie/using-ruler-nightlies/src/symmetry.rkt | 18 | 0 |
| run-improve! | /home/nightlies/herbie/using-ruler-nightlies/src/mainloop.rkt | 320 | 0 |
| run-herbie | /home/nightlies/herbie/using-ruler-nightlies/src/sandbox.rkt | 57 | 0 |
| (unnamed) | /home/nightlies/herbie/using-ruler-nightlies/src/sandbox.rkt | 133 | 6 |
| (unnamed) | /usr/share/racket/pkgs/profile-lib/main.rkt | 40 | 10 |
| profile-thunk | /usr/share/racket/pkgs/profile-lib/main.rkt | 9 | 0 |
| (unnamed) | /usr/share/racket/collects/racket/engine.rkt | 42 | 24 |