\[\frac{a \cdot c + b \cdot d}{c \cdot c + d \cdot d}\]
\frac{a \cdot c + b \cdot d}{c \cdot c + d \cdot d}
double f(double a, double b, double c, double d) {
        double r8281 = a;
        double r8282 = c;
        double r8283 = r8281 * r8282;
        double r8284 = b;
        double r8285 = d;
        double r8286 = r8284 * r8285;
        double r8287 = r8283 + r8286;
        double r8288 = r8282 * r8282;
        double r8289 = r8285 * r8285;
        double r8290 = r8288 + r8289;
        double r8291 = r8287 / r8290;
        return r8291;
}

Reproduce

Please include this information when filing a bug report:

herbie shell --seed 2019179 
(FPCore (a b c d)
  :name "Complex division, real part"

  :herbie-target
  (if (< (fabs d) (fabs c)) (/ (+ a (* b (/ d c))) (+ c (* d (/ d c)))) (/ (+ b (* a (/ c d))) (+ d (* c (/ c d)))))

  (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))))

Backtrace

result arity mismatch; expected number of values not received expected: 2 received: 1 in: local-binding form values...: 0LC
loop/data/pavpan/nightlies/herbie/various-cleanup/src/core/extraction.rkt252
(unnamed)/data/pavpan/nightlies/herbie/various-cleanup/src/core/simplify.rkt260
simplify!/data/pavpan/nightlies/herbie/various-cleanup/src/mainloop.rkt2170
run-improve43/data/pavpan/nightlies/herbie/various-cleanup/src/mainloop.rkt3390
(unnamed)/opt/racket-7.0/collects/racket/private/more-scheme.rkt26128
run/opt/racket-7.0/share/pkgs/profile-lib/main.rkt392
profile-thunk16/opt/racket-7.0/share/pkgs/profile-lib/main.rkt90
(unnamed)/opt/racket-7.0/collects/racket/private/more-scheme.rkt26128