Numeric.SpecFunctions:logBeta from math-functions-0.1.5.2, B

Specification

?
\[\begin{array}{l} \\ \left(\left(\left(\left(x \cdot \log y + z\right) + t\right) + a\right) + \left(b - 0.5\right) \cdot \log c\right) + y \cdot i \end{array} \]
(FPCore (x y z t a b c i)
 :precision binary64
 (+ (+ (+ (+ (+ (* x (log y)) z) t) a) (* (- b 0.5) (log c))) (* y i)))
double code(double x, double y, double z, double t, double a, double b, double c, double i) {
	return (((((x * log(y)) + z) + t) + a) + ((b - 0.5) * log(c))) + (y * i);
}
real(8) function code(x, y, z, t, a, b, c, i)
    real(8), intent (in) :: x
    real(8), intent (in) :: y
    real(8), intent (in) :: z
    real(8), intent (in) :: t
    real(8), intent (in) :: a
    real(8), intent (in) :: b
    real(8), intent (in) :: c
    real(8), intent (in) :: i
    code = (((((x * log(y)) + z) + t) + a) + ((b - 0.5d0) * log(c))) + (y * i)
end function
public static double code(double x, double y, double z, double t, double a, double b, double c, double i) {
	return (((((x * Math.log(y)) + z) + t) + a) + ((b - 0.5) * Math.log(c))) + (y * i);
}
def code(x, y, z, t, a, b, c, i):
	return (((((x * math.log(y)) + z) + t) + a) + ((b - 0.5) * math.log(c))) + (y * i)
function code(x, y, z, t, a, b, c, i)
	return Float64(Float64(Float64(Float64(Float64(Float64(x * log(y)) + z) + t) + a) + Float64(Float64(b - 0.5) * log(c))) + Float64(y * i))
end
function tmp = code(x, y, z, t, a, b, c, i)
	tmp = (((((x * log(y)) + z) + t) + a) + ((b - 0.5) * log(c))) + (y * i);
end
code[x_, y_, z_, t_, a_, b_, c_, i_] := N[(N[(N[(N[(N[(N[(x * N[Log[y], $MachinePrecision]), $MachinePrecision] + z), $MachinePrecision] + t), $MachinePrecision] + a), $MachinePrecision] + N[(N[(b - 0.5), $MachinePrecision] * N[Log[c], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(y * i), $MachinePrecision]), $MachinePrecision]
\begin{array}{l}

\\
\left(\left(\left(\left(x \cdot \log y + z\right) + t\right) + a\right) + \left(b - 0.5\right) \cdot \log c\right) + y \cdot i
\end{array}

Reproduce

?
herbie shell --seed 2024196 
(FPCore (x y z t a b c i)
  :name "Numeric.SpecFunctions:logBeta from math-functions-0.1.5.2, B"
  :precision binary64
  (+ (+ (+ (+ (+ (* x (log y)) z) t) a) (* (- b 0.5) (log c))) (* y i)))

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 #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