Graphics.Rasterific.CubicBezier:cachedBezierAt from Rasterific-0.6.1

Specification

?
\[\begin{array}{l} \\ \left(\left(x + y \cdot z\right) + t \cdot a\right) + \left(a \cdot z\right) \cdot b \end{array} \]
(FPCore (x y z t a b)
 :precision binary64
 (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)))
double code(double x, double y, double z, double t, double a, double b) {
	return ((x + (y * z)) + (t * a)) + ((a * z) * b);
}
real(8) function code(x, y, z, t, a, b)
    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
    code = ((x + (y * z)) + (t * a)) + ((a * z) * b)
end function
public static double code(double x, double y, double z, double t, double a, double b) {
	return ((x + (y * z)) + (t * a)) + ((a * z) * b);
}
def code(x, y, z, t, a, b):
	return ((x + (y * z)) + (t * a)) + ((a * z) * b)
function code(x, y, z, t, a, b)
	return Float64(Float64(Float64(x + Float64(y * z)) + Float64(t * a)) + Float64(Float64(a * z) * b))
end
function tmp = code(x, y, z, t, a, b)
	tmp = ((x + (y * z)) + (t * a)) + ((a * z) * b);
end
code[x_, y_, z_, t_, a_, b_] := N[(N[(N[(x + N[(y * z), $MachinePrecision]), $MachinePrecision] + N[(t * a), $MachinePrecision]), $MachinePrecision] + N[(N[(a * z), $MachinePrecision] * b), $MachinePrecision]), $MachinePrecision]
\begin{array}{l}

\\
\left(\left(x + y \cdot z\right) + t \cdot a\right) + \left(a \cdot z\right) \cdot b
\end{array}

Reproduce

?
herbie shell --seed 2024039 
(FPCore (x y z t a b)
  :name "Graphics.Rasterific.CubicBezier:cachedBezierAt from Rasterific-0.6.1"
  :precision binary64

  :herbie-target
  (if (< z -11820553527347888000.0) (+ (* z (+ (* b a) y)) (+ x (* t a))) (if (< z 4.7589743188364287e-122) (+ (* (+ (* b z) t) a) (+ (* z y) x)) (+ (* z (+ (* b a) y)) (+ x (* t a)))))

  (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)))

Please file a bug report with this information.

Backtrace

member: not a proper list in: 1LC
gather-multiplicative-terms/home/nightlies/herbie/sound-rules/src/core/reduce.rkt1250
simplify-node*/home/nightlies/herbie/sound-rules/src/core/reduce.rkt840
hash-ref!/usr/local/racket/collects/racket/private/more-scheme.rkt3772
hash-ref!/usr/local/racket/collects/racket/private/more-scheme.rkt3772
loop.../private/map.rkt4019
f19.../match/compiler.rkt55940
hash-ref!/usr/local/racket/collects/racket/private/more-scheme.rkt3772
approximate/home/nightlies/herbie/sound-rules/src/core/taylor.rkt70
taylor-expr/home/nightlies/herbie/sound-rules/src/patch.rkt890
taylor-alt/home/nightlies/herbie/sound-rules/src/patch.rkt960
gen-series!/home/nightlies/herbie/sound-rules/src/patch.rkt1090
patch-table-run/home/nightlies/herbie/sound-rules/src/patch.rkt2570
(unnamed)/usr/local/racket/collects/racket/contract/private/arrow-val-first.rkt48618
run-iter!/home/nightlies/herbie/sound-rules/src/mainloop.rkt2880
mutate!/home/nightlies/herbie/sound-rules/src/mainloop.rkt3400
run-improve!/home/nightlies/herbie/sound-rules/src/mainloop.rkt3260
get-alternatives/report/home/nightlies/herbie/sound-rules/src/sandbox.rkt1690
(unnamed)/home/nightlies/herbie/sound-rules/src/sandbox.rkt2626
(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