\Re(\left(\left(\left(\left(\left(\left(\left(\left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right) + \left(\left(\left(\left(\left(-2\right) + 0.0 i\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right)\right) + \left(\left(\left(5 + 0.0 i\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right)\right) + \left(\left(4 + 0.0 i\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right)\right) + \left(7 + 0.0 i\right)\right))\Re(\left(\left(\left(\left(\left(\left(\left(\left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right) + \left(\left(\left(\left(\left(-2\right) + 0.0 i\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right)\right) + \left(\left(\left(5 + 0.0 i\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right)\right) + \left(\left(4 + 0.0 i\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right)\right) + \left(7 + 0.0 i\right)\right))double f() {
double r31392 = 1.0;
double r31393 = -r31392;
double r31394 = 2.0;
double r31395 = r31393 / r31394;
double r31396 = 3.0;
double r31397 = sqrt(r31396);
double r31398 = r31397 / r31394;
double r31399 = /* ERROR: no complex support in C */;
double r31400 = r31399 * r31399;
double r31401 = r31400 * r31399;
double r31402 = r31401 * r31399;
double r31403 = -r31394;
double r31404 = 0.0;
double r31405 = /* ERROR: no complex support in C */;
double r31406 = r31405 * r31399;
double r31407 = r31406 * r31399;
double r31408 = r31407 * r31399;
double r31409 = r31402 + r31408;
double r31410 = 5.0;
double r31411 = /* ERROR: no complex support in C */;
double r31412 = r31411 * r31399;
double r31413 = r31412 * r31399;
double r31414 = r31409 + r31413;
double r31415 = 4.0;
double r31416 = /* ERROR: no complex support in C */;
double r31417 = r31416 * r31399;
double r31418 = r31414 + r31417;
double r31419 = 7.0;
double r31420 = /* ERROR: no complex support in C */;
double r31421 = r31418 + r31420;
double r31422 = /* ERROR: no complex support in C */;
return r31422;
}
double f() {
double r31423 = 1.0;
double r31424 = -r31423;
double r31425 = 2.0;
double r31426 = r31424 / r31425;
double r31427 = 3.0;
double r31428 = sqrt(r31427);
double r31429 = r31428 / r31425;
double r31430 = /* ERROR: no complex support in C */;
double r31431 = r31430 * r31430;
double r31432 = r31431 * r31430;
double r31433 = r31432 * r31430;
double r31434 = -r31425;
double r31435 = 0.0;
double r31436 = /* ERROR: no complex support in C */;
double r31437 = r31436 * r31430;
double r31438 = r31437 * r31430;
double r31439 = r31438 * r31430;
double r31440 = r31433 + r31439;
double r31441 = 5.0;
double r31442 = /* ERROR: no complex support in C */;
double r31443 = r31442 * r31430;
double r31444 = r31443 * r31430;
double r31445 = r31440 + r31444;
double r31446 = 4.0;
double r31447 = /* ERROR: no complex support in C */;
double r31448 = r31447 * r31430;
double r31449 = r31445 + r31448;
double r31450 = 7.0;
double r31451 = /* ERROR: no complex support in C */;
double r31452 = r31449 + r31451;
double r31453 = /* ERROR: no complex support in C */;
return r31453;
}
Initial program 61.9
Final simplification61.9
herbie shell --seed 2020007 +o rules:numerics
(FPCore ()
:name "3.9.2 real part (p56)"
:precision binary64
(re (+ (+ (+ (+ (* (* (* (complex (/ (- 1) 2) (/ (sqrt 3) 2)) (complex (/ (- 1) 2) (/ (sqrt 3) 2))) (complex (/ (- 1) 2) (/ (sqrt 3) 2))) (complex (/ (- 1) 2) (/ (sqrt 3) 2))) (* (* (* (complex (- 2) 0.0) (complex (/ (- 1) 2) (/ (sqrt 3) 2))) (complex (/ (- 1) 2) (/ (sqrt 3) 2))) (complex (/ (- 1) 2) (/ (sqrt 3) 2)))) (* (* (complex 5 0.0) (complex (/ (- 1) 2) (/ (sqrt 3) 2))) (complex (/ (- 1) 2) (/ (sqrt 3) 2)))) (* (complex 4 0.0) (complex (/ (- 1) 2) (/ (sqrt 3) 2)))) (complex 7 0.0))))