\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(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right) \cdot \left(\left(5 + 0.0 i\right) + \left(\left(\left(\frac{-1}{2} - 2\right) + \left(\frac{\sqrt{3}}{2} + 0.0\right) i\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right)\right)\right) + \left(4 + 0.0 i\right)\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right) + \left(7 + 0.0 i\right)\right))double f() {
double r4527 = 1.0;
double r4528 = -r4527;
double r4529 = 2.0;
double r4530 = r4528 / r4529;
double r4531 = 3.0;
double r4532 = sqrt(r4531);
double r4533 = r4532 / r4529;
double r4534 = /* ERROR: no complex support in C */;
double r4535 = r4534 * r4534;
double r4536 = r4535 * r4534;
double r4537 = r4536 * r4534;
double r4538 = -r4529;
double r4539 = 0.0;
double r4540 = /* ERROR: no complex support in C */;
double r4541 = r4540 * r4534;
double r4542 = r4541 * r4534;
double r4543 = r4542 * r4534;
double r4544 = r4537 + r4543;
double r4545 = 5.0;
double r4546 = /* ERROR: no complex support in C */;
double r4547 = r4546 * r4534;
double r4548 = r4547 * r4534;
double r4549 = r4544 + r4548;
double r4550 = 4.0;
double r4551 = /* ERROR: no complex support in C */;
double r4552 = r4551 * r4534;
double r4553 = r4549 + r4552;
double r4554 = 7.0;
double r4555 = /* ERROR: no complex support in C */;
double r4556 = r4553 + r4555;
double r4557 = /* ERROR: no complex support in C */;
return r4557;
}
double f() {
double r4558 = 1.0;
double r4559 = -r4558;
double r4560 = 2.0;
double r4561 = r4559 / r4560;
double r4562 = 3.0;
double r4563 = sqrt(r4562);
double r4564 = r4563 / r4560;
double r4565 = /* ERROR: no complex support in C */;
double r4566 = 5.0;
double r4567 = 0.0;
double r4568 = /* ERROR: no complex support in C */;
double r4569 = r4561 - r4560;
double r4570 = r4564 + r4567;
double r4571 = /* ERROR: no complex support in C */;
double r4572 = r4571 * r4565;
double r4573 = r4568 + r4572;
double r4574 = r4565 * r4573;
double r4575 = 4.0;
double r4576 = /* ERROR: no complex support in C */;
double r4577 = r4574 + r4576;
double r4578 = r4577 * r4565;
double r4579 = 7.0;
double r4580 = /* ERROR: no complex support in C */;
double r4581 = r4578 + r4580;
double r4582 = /* ERROR: no complex support in C */;
return r4582;
}
Initial program 61.9
Simplified0
Final simplification0
herbie shell --seed 2020045 +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))))