Diagrams.TwoD.Arc:arcBetween from diagrams-lib-1.3.0.3

Specification

?
\[\begin{array}{l} \\ \begin{array}{l} t_0 := \left(y \cdot 4\right) \cdot y\\ \frac{x \cdot x - t\_0}{x \cdot x + t\_0} \end{array} \end{array} \]
(FPCore (x y)
 :precision binary64
 (let* ((t_0 (* (* y 4.0) y))) (/ (- (* x x) t_0) (+ (* x x) t_0))))
double code(double x, double y) {
	double t_0 = (y * 4.0) * y;
	return ((x * x) - t_0) / ((x * x) + t_0);
}
real(8) function code(x, y)
    real(8), intent (in) :: x
    real(8), intent (in) :: y
    real(8) :: t_0
    t_0 = (y * 4.0d0) * y
    code = ((x * x) - t_0) / ((x * x) + t_0)
end function
public static double code(double x, double y) {
	double t_0 = (y * 4.0) * y;
	return ((x * x) - t_0) / ((x * x) + t_0);
}
def code(x, y):
	t_0 = (y * 4.0) * y
	return ((x * x) - t_0) / ((x * x) + t_0)
function code(x, y)
	t_0 = Float64(Float64(y * 4.0) * y)
	return Float64(Float64(Float64(x * x) - t_0) / Float64(Float64(x * x) + t_0))
end
function tmp = code(x, y)
	t_0 = (y * 4.0) * y;
	tmp = ((x * x) - t_0) / ((x * x) + t_0);
end
code[x_, y_] := Block[{t$95$0 = N[(N[(y * 4.0), $MachinePrecision] * y), $MachinePrecision]}, N[(N[(N[(x * x), $MachinePrecision] - t$95$0), $MachinePrecision] / N[(N[(x * x), $MachinePrecision] + t$95$0), $MachinePrecision]), $MachinePrecision]]
\begin{array}{l}

\\
\begin{array}{l}
t_0 := \left(y \cdot 4\right) \cdot y\\
\frac{x \cdot x - t\_0}{x \cdot x + t\_0}
\end{array}
\end{array}

Reproduce

?
herbie shell --seed 2024039 
(FPCore (x y)
  :name "Diagrams.TwoD.Arc:arcBetween from diagrams-lib-1.3.0.3"
  :precision binary64

  :herbie-target
  (if (< (/ (- (* x x) (* (* y 4.0) y)) (+ (* x x) (* (* y 4.0) y))) 0.9743233849626781) (- (/ (* x x) (+ (* x x) (* (* y y) 4.0))) (/ (* (* y y) 4.0) (+ (* x x) (* (* y y) 4.0)))) (- (pow (/ x (sqrt (+ (* x x) (* (* y y) 4.0)))) 2.0) (/ (* (* y y) 4.0) (+ (* x x) (* (* y y) 4.0)))))

  (/ (- (* x x) (* (* y 4.0) y)) (+ (* x x) (* (* y 4.0) y))))

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