math.square on complex, real part

Specification

?
\[\begin{array}{l} \\ re \cdot re - im \cdot im \end{array} \]
(FPCore re_sqr (re im) :precision binary64 (- (* re re) (* im im)))
double re_sqr(double re, double im) {
	return (re * re) - (im * im);
}
real(8) function re_sqr(re, im)
    real(8), intent (in) :: re
    real(8), intent (in) :: im
    re_sqr = (re * re) - (im * im)
end function
public static double re_sqr(double re, double im) {
	return (re * re) - (im * im);
}
def re_sqr(re, im):
	return (re * re) - (im * im)
function re_sqr(re, im)
	return Float64(Float64(re * re) - Float64(im * im))
end
function tmp = re_sqr(re, im)
	tmp = (re * re) - (im * im);
end
re$95$sqr[re_, im_] := N[(N[(re * re), $MachinePrecision] - N[(im * im), $MachinePrecision]), $MachinePrecision]
\begin{array}{l}

\\
re \cdot re - im \cdot im
\end{array}

Reproduce

?
herbie shell --seed 2024058 
(FPCore re_sqr (re im)
  :name "math.square on complex, real part"
  :precision binary64
  (- (* re re) (* im im)))

Please file a bug report with this information.

Backtrace

map: all lists must have same size first list length: 257 other list length: 513 procedure: #<procedure:list>LC
gen-map/usr/local/racket/collects/racket/private/map.rkt2572
actual-errors/home/nightlies/herbie/literal-values/src/error-table.rkt90
mutate!/home/nightlies/herbie/literal-values/src/mainloop.rkt3430
run-improve!/home/nightlies/herbie/literal-values/src/mainloop.rkt3290
get-alternatives/report/home/nightlies/herbie/literal-values/src/sandbox.rkt1690
(unnamed)/home/nightlies/herbie/literal-values/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