
(FPCore (wj x) :precision binary64 (let* ((t_0 (* wj (exp wj)))) (- wj (/ (- t_0 x) (+ (exp wj) t_0)))))
double code(double wj, double x) {
double t_0 = wj * exp(wj);
return wj - ((t_0 - x) / (exp(wj) + t_0));
}
real(8) function code(wj, x)
real(8), intent (in) :: wj
real(8), intent (in) :: x
real(8) :: t_0
t_0 = wj * exp(wj)
code = wj - ((t_0 - x) / (exp(wj) + t_0))
end function
public static double code(double wj, double x) {
double t_0 = wj * Math.exp(wj);
return wj - ((t_0 - x) / (Math.exp(wj) + t_0));
}
def code(wj, x): t_0 = wj * math.exp(wj) return wj - ((t_0 - x) / (math.exp(wj) + t_0))
function code(wj, x) t_0 = Float64(wj * exp(wj)) return Float64(wj - Float64(Float64(t_0 - x) / Float64(exp(wj) + t_0))) end
function tmp = code(wj, x) t_0 = wj * exp(wj); tmp = wj - ((t_0 - x) / (exp(wj) + t_0)); end
code[wj_, x_] := Block[{t$95$0 = N[(wj * N[Exp[wj], $MachinePrecision]), $MachinePrecision]}, N[(wj - N[(N[(t$95$0 - x), $MachinePrecision] / N[(N[Exp[wj], $MachinePrecision] + t$95$0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]
\begin{array}{l}
\\
\begin{array}{l}
t_0 := wj \cdot e^{wj}\\
wj - \frac{t\_0 - x}{e^{wj} + t\_0}
\end{array}
\end{array}
herbie shell --seed 2024196
(FPCore (wj x)
:name "Jmat.Real.lambertw, newton loop step"
:precision binary64
:alt
(! :herbie-platform default (let ((ew (exp wj))) (- wj (- (/ wj (+ wj 1)) (/ x (+ ew (* wj ew)))))))
(- wj (/ (- (* wj (exp wj)) x) (+ (exp wj) (* wj (exp wj))))))
Please file a bug report with this information.
| vector-set!: contract violation expected: exact-nonnegative-integer? given: -2 argument position: 2nd first argument...: '#(#f #t #f #f #f #f #f #f) | L | C | |
|---|---|---|---|
| backward-pass | /home/nightlies/rival/main/eval/adjust.rkt | 8 | 0 |
| rival-machine-adjust | /home/nightlies/rival/main/eval/run.rkt | 98 | 0 |
| rival-machine-full | /home/nightlies/rival/main/eval/main.rkt | 16 | 0 |
| rival-apply | /home/nightlies/rival/main/eval/main.rkt | 56 | 0 |
| (unnamed) | /usr/local/racket/collects/racket/contract/private/arrow-val-first.rkt | 486 | 18 |
| (unnamed) | /home/nightlies/herbie/zane-odyssey-timeline/src/sampling.rkt | 159 | 4 |
| ival-eval | /home/nightlies/herbie/zane-odyssey-timeline/src/sampling.rkt | 153 | 0 |
| <eval-prog-real> | /home/nightlies/herbie/zane-odyssey-timeline/src/sampling.rkt | 188 | 2 |
| predict-errors | /home/nightlies/herbie/zane-odyssey-timeline/src/explain.rkt | 86 | 0 |
| explain | /home/nightlies/herbie/zane-odyssey-timeline/src/explain.rkt | 736 | 0 |
| explain! | /home/nightlies/herbie/zane-odyssey-timeline/src/mainloop.rkt | 339 | 0 |
| mutate! | /home/nightlies/herbie/zane-odyssey-timeline/src/mainloop.rkt | 62 | 0 |
| run-improve! | /home/nightlies/herbie/zane-odyssey-timeline/src/mainloop.rkt | 48 | 0 |
| get-alternatives/report | /home/nightlies/herbie/zane-odyssey-timeline/src/sandbox.rkt | 167 | 0 |
| (unnamed) | /home/nightlies/herbie/zane-odyssey-timeline/src/sandbox.rkt | 261 | 6 |
| (unnamed) | /usr/local/racket/share/pkgs/profile-lib/main.rkt | 40 | 10 |
| profile-thunk | /usr/local/racket/share/pkgs/profile-lib/main.rkt | 9 | 0 |
| (unnamed) | /usr/local/racket/collects/racket/engine.rkt | 42 | 24 |