System.Random.MWC.Distributions:truncatedExp from mwc-random-0.13.3.2

Specification

?
\[\begin{array}{l} \\ x - \frac{\log \left(\left(1 - y\right) + y \cdot e^{z}\right)}{t} \end{array} \]
(FPCore (x y z t)
 :precision binary64
 (- x (/ (log (+ (- 1.0 y) (* y (exp z)))) t)))
double code(double x, double y, double z, double t) {
	return x - (log(((1.0 - y) + (y * exp(z)))) / t);
}
real(8) function code(x, y, z, t)
    real(8), intent (in) :: x
    real(8), intent (in) :: y
    real(8), intent (in) :: z
    real(8), intent (in) :: t
    code = x - (log(((1.0d0 - y) + (y * exp(z)))) / t)
end function
public static double code(double x, double y, double z, double t) {
	return x - (Math.log(((1.0 - y) + (y * Math.exp(z)))) / t);
}
def code(x, y, z, t):
	return x - (math.log(((1.0 - y) + (y * math.exp(z)))) / t)
function code(x, y, z, t)
	return Float64(x - Float64(log(Float64(Float64(1.0 - y) + Float64(y * exp(z)))) / t))
end
function tmp = code(x, y, z, t)
	tmp = x - (log(((1.0 - y) + (y * exp(z)))) / t);
end
code[x_, y_, z_, t_] := N[(x - N[(N[Log[N[(N[(1.0 - y), $MachinePrecision] + N[(y * N[Exp[z], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]], $MachinePrecision] / t), $MachinePrecision]), $MachinePrecision]
\begin{array}{l}

\\
x - \frac{\log \left(\left(1 - y\right) + y \cdot e^{z}\right)}{t}
\end{array}

Reproduce

?
herbie shell --seed 2024196 
(FPCore (x y z t)
  :name "System.Random.MWC.Distributions:truncatedExp from mwc-random-0.13.3.2"
  :precision binary64

  :alt
  (! :herbie-platform default (if (< z -288746230882079470000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000) (- (- x (/ (/ (- 1/2) (* y t)) (* z z))) (* (/ (- 1/2) (* y t)) (/ (/ 2 z) (* z z)))) (- x (/ (log (+ 1 (* z y))) t))))

  (- x (/ (log (+ (- 1.0 y) (* y (exp z)))) t)))

Please file a bug report with this information.

Backtrace

vector-set!: contract violation expected: exact-nonnegative-integer? given: -1 argument position: 2nd first argument...: '#(#f #t #f #f #f #f #f #f #f #f)LC
backward-pass/home/nightlies/rival/main/eval/adjust.rkt80
rival-machine-adjust/home/nightlies/rival/main/eval/run.rkt980
rival-machine-full/home/nightlies/rival/main/eval/main.rkt160
rival-apply/home/nightlies/rival/main/eval/main.rkt560
(unnamed)/usr/local/racket/collects/racket/contract/private/arrow-val-first.rkt48618
(unnamed)/home/nightlies/herbie/zane-odyssey-timeline/src/sampling.rkt1594
ival-eval/home/nightlies/herbie/zane-odyssey-timeline/src/sampling.rkt1530
<eval-prog-real>/home/nightlies/herbie/zane-odyssey-timeline/src/sampling.rkt1882
predict-errors/home/nightlies/herbie/zane-odyssey-timeline/src/explain.rkt860
explain/home/nightlies/herbie/zane-odyssey-timeline/src/explain.rkt7360
explain!/home/nightlies/herbie/zane-odyssey-timeline/src/mainloop.rkt3390
mutate!/home/nightlies/herbie/zane-odyssey-timeline/src/mainloop.rkt620
run-improve!/home/nightlies/herbie/zane-odyssey-timeline/src/mainloop.rkt480
get-alternatives/report/home/nightlies/herbie/zane-odyssey-timeline/src/sandbox.rkt1670
(unnamed)/home/nightlies/herbie/zane-odyssey-timeline/src/sandbox.rkt2616
(unnamed)/usr/local/racket/share/pkgs/profile-lib/main.rkt4010
profile-thunk/usr/local/racket/share/pkgs/profile-lib/main.rkt90
(unnamed)/usr/local/racket/collects/racket/engine.rkt4224