math.square on complex, imaginary part

Specification

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

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

Reproduce

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

Please file a bug report with this information.

Backtrace

map: all lists must have same size first list length: 513 other list length: 257 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