?

\[\left(\left(d1 \cdot d2 - d1 \cdot d3\right) + d4 \cdot d1\right) - d1 \cdot d1 \]
(FPCore (d1 d2 d3 d4)
 :precision binary64
 (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)))
double code(double d1, double d2, double d3, double d4) {
	return (((d1 * d2) - (d1 * d3)) + (d4 * d1)) - (d1 * d1);
}
real(8) function code(d1, d2, d3, d4)
    real(8), intent (in) :: d1
    real(8), intent (in) :: d2
    real(8), intent (in) :: d3
    real(8), intent (in) :: d4
    code = (((d1 * d2) - (d1 * d3)) + (d4 * d1)) - (d1 * d1)
end function
public static double code(double d1, double d2, double d3, double d4) {
	return (((d1 * d2) - (d1 * d3)) + (d4 * d1)) - (d1 * d1);
}
def code(d1, d2, d3, d4):
	return (((d1 * d2) - (d1 * d3)) + (d4 * d1)) - (d1 * d1)
function code(d1, d2, d3, d4)
	return Float64(Float64(Float64(Float64(d1 * d2) - Float64(d1 * d3)) + Float64(d4 * d1)) - Float64(d1 * d1))
end
function tmp = code(d1, d2, d3, d4)
	tmp = (((d1 * d2) - (d1 * d3)) + (d4 * d1)) - (d1 * d1);
end
code[d1_, d2_, d3_, d4_] := N[(N[(N[(N[(d1 * d2), $MachinePrecision] - N[(d1 * d3), $MachinePrecision]), $MachinePrecision] + N[(d4 * d1), $MachinePrecision]), $MachinePrecision] - N[(d1 * d1), $MachinePrecision]), $MachinePrecision]
\left(\left(d1 \cdot d2 - d1 \cdot d3\right) + d4 \cdot d1\right) - d1 \cdot d1

Reproduce?

Please include this information when filing a bug report:

herbie shell --seed 2023098 
(FPCore (d1 d2 d3 d4)
  :name "FastMath dist4"
  :precision binary64

  :herbie-target
  (* d1 (- (+ (- d2 d3) d4) d1))

  (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)))

Backtrace

hash-ref: no value found for key key: 'falseLC
(unnamed)/home/nightlies/herbie/using-ruler-nightlies/src/syntax/syntax.rkt2302
f336.../match/compiler.rkt54840
expand-parametric/home/nightlies/herbie/using-ruler-nightlies/src/syntax/sugar.rkt620
(unnamed)/home/nightlies/herbie/using-ruler-nightlies/src/core/egg-herbie.rkt2559
rule->egg-rules/home/nightlies/herbie/using-ruler-nightlies/src/core/egg-herbie.rkt2240
expand-rules/home/nightlies/herbie/using-ruler-nightlies/src/core/egg-herbie.rkt4880
egraph-run-rules/home/nightlies/herbie/using-ruler-nightlies/src/core/egg-herbie.rkt5090
(unnamed)/home/nightlies/herbie/using-ruler-nightlies/src/core/simplify.rkt583
with-egraph/home/nightlies/herbie/using-ruler-nightlies/src/core/egg-herbie.rkt3330
simplify-batch/home/nightlies/herbie/using-ruler-nightlies/src/core/simplify.rkt230
(unnamed)/usr/share/racket/collects/racket/contract/private/arrow-higher-order.rkt37933
get-swaps/home/nightlies/herbie/using-ruler-nightlies/src/symmetry.rkt60
connected-components/home/nightlies/herbie/using-ruler-nightlies/src/symmetry.rkt180
run-improve!/home/nightlies/herbie/using-ruler-nightlies/src/mainloop.rkt3200
run-herbie/home/nightlies/herbie/using-ruler-nightlies/src/sandbox.rkt570
(unnamed)/home/nightlies/herbie/using-ruler-nightlies/src/sandbox.rkt1336
(unnamed)/usr/share/racket/pkgs/profile-lib/main.rkt4010
profile-thunk/usr/share/racket/pkgs/profile-lib/main.rkt90
(unnamed)/usr/share/racket/collects/racket/engine.rkt4224