\[3 \cdot \left(\left(\left(x \cdot 3\right) \cdot x - x \cdot 4\right) + 1\right)\]
3 \cdot \left(\left(\left(x \cdot 3\right) \cdot x - x \cdot 4\right) + 1\right)
double f(double x) {
        double r8883 = 3.0;
        double r8884 = x;
        double r8885 = r8884 * r8883;
        double r8886 = r8885 * r8884;
        double r8887 = 4.0;
        double r8888 = r8884 * r8887;
        double r8889 = r8886 - r8888;
        double r8890 = 1.0;
        double r8891 = r8889 + r8890;
        double r8892 = r8883 * r8891;
        return r8892;
}

Reproduce

Please include this information when filing a bug report:

herbie shell --seed 2019179 +o rules:numerics
(FPCore (x)
  :name "Diagrams.Tangent:$catParam from diagrams-lib-1.3.0.3, D"

  :herbie-target
  (+ 3.0 (- (* (* 9.0 x) x) (* 12.0 x)))

  (* 3.0 (+ (- (* (* x 3.0) x) (* x 4.0)) 1.0)))

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