\[\left(\left(x \cdot y - y \cdot z\right) - y \cdot y\right) + y \cdot y\]
\left(\left(x \cdot y - y \cdot z\right) - y \cdot y\right) + y \cdot y
double f(double x, double y, double z) {
        double r39468 = x;
        double r39469 = y;
        double r39470 = r39468 * r39469;
        double r39471 = z;
        double r39472 = r39469 * r39471;
        double r39473 = r39470 - r39472;
        double r39474 = r39469 * r39469;
        double r39475 = r39473 - r39474;
        double r39476 = r39475 + r39474;
        return r39476;
}

Reproduce

Please include this information when filing a bug report:

herbie shell --seed 2019310 
(FPCore (x y z)
  :name "Linear.Quaternion:$c/ from linear-1.19.1.3, B"
  :precision binary64

  :herbie-target
  (* (- x z) y)

  (+ (- (- (* x y) (* y z)) (* y y)) (* y y)))

Backtrace

argmin: contract violation expected: (and/c list? (not/c empty?)) given: '() argument position: 2nd other arguments...: #<procedure:composed>LC
argmin/opt/racket-7.2/collects/racket/list.rkt7650
infer-splitpoints/data/pavpan/nightlies/herbie/fix-interface-bugs/src/core/regimes.rkt340
get-final-combination/data/pavpan/nightlies/herbie/fix-interface-bugs/src/mainloop.rkt3700
(unnamed)/opt/racket-7.2/collects/racket/private/more-scheme.rkt26128
run/opt/racket-7.2/share/pkgs/profile-lib/main.rkt392
profile-thunk16/opt/racket-7.2/share/pkgs/profile-lib/main.rkt90
(unnamed)/opt/racket-7.2/collects/racket/private/more-scheme.rkt26128