\[\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 r12283716 = a;
        double r12283717 = c;
        double r12283718 = r12283716 * r12283717;
        double r12283719 = b;
        double r12283720 = d;
        double r12283721 = r12283719 * r12283720;
        double r12283722 = r12283718 + r12283721;
        double r12283723 = r12283717 * r12283717;
        double r12283724 = r12283720 * r12283720;
        double r12283725 = r12283723 + r12283724;
        double r12283726 = r12283722 / r12283725;
        return r12283726;
}

Reproduce

Please include this information when filing a bug report:

herbie shell --seed 2019173 
(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

hash-ref: no value found for key key: #<enode 276(276)>LC
for-loop/data/pavpan/nightlies/herbie/various-cleanup/src/core/simplify.rkt1972
extractor-extract/data/pavpan/nightlies/herbie/various-cleanup/src/core/simplify.rkt1960
for-loop/data/pavpan/nightlies/herbie/various-cleanup/src/core/simplify.rkt352
(unnamed)/data/pavpan/nightlies/herbie/various-cleanup/src/core/simplify.rkt260
simplify!/data/pavpan/nightlies/herbie/various-cleanup/src/mainloop.rkt2170
run-iter!/data/pavpan/nightlies/herbie/various-cleanup/src/mainloop.rkt3200
for-loop/data/pavpan/nightlies/herbie/various-cleanup/src/mainloop.rkt3544
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