\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 r73525 = 1.0;
double r73526 = -r73525;
double r73527 = 2.0;
double r73528 = r73526 / r73527;
double r73529 = 3.0;
double r73530 = sqrt(r73529);
double r73531 = r73530 / r73527;
double r73532 = /* ERROR: no complex support in C */;
double r73533 = r73532 * r73532;
double r73534 = r73533 * r73532;
double r73535 = r73534 * r73532;
double r73536 = -r73527;
double r73537 = 0.0;
double r73538 = /* ERROR: no complex support in C */;
double r73539 = r73538 * r73532;
double r73540 = r73539 * r73532;
double r73541 = r73540 * r73532;
double r73542 = r73535 + r73541;
double r73543 = 5.0;
double r73544 = /* ERROR: no complex support in C */;
double r73545 = r73544 * r73532;
double r73546 = r73545 * r73532;
double r73547 = r73542 + r73546;
double r73548 = 4.0;
double r73549 = /* ERROR: no complex support in C */;
double r73550 = r73549 * r73532;
double r73551 = r73547 + r73550;
double r73552 = 7.0;
double r73553 = /* ERROR: no complex support in C */;
double r73554 = r73551 + r73553;
double r73555 = /* ERROR: no complex support in C */;
return r73555;
}
double f() {
double r73556 = 1.0;
double r73557 = -r73556;
double r73558 = 2.0;
double r73559 = r73557 / r73558;
double r73560 = 3.0;
double r73561 = sqrt(r73560);
double r73562 = r73561 / r73558;
double r73563 = /* ERROR: no complex support in C */;
double r73564 = r73563 * r73563;
double r73565 = r73564 * r73563;
double r73566 = r73565 * r73563;
double r73567 = -r73558;
double r73568 = 0.0;
double r73569 = /* ERROR: no complex support in C */;
double r73570 = r73569 * r73563;
double r73571 = r73570 * r73563;
double r73572 = r73571 * r73563;
double r73573 = r73566 + r73572;
double r73574 = 5.0;
double r73575 = /* ERROR: no complex support in C */;
double r73576 = r73575 * r73563;
double r73577 = r73576 * r73563;
double r73578 = r73573 + r73577;
double r73579 = 4.0;
double r73580 = /* ERROR: no complex support in C */;
double r73581 = r73580 * r73563;
double r73582 = r73578 + r73581;
double r73583 = 7.0;
double r73584 = /* ERROR: no complex support in C */;
double r73585 = r73582 + r73584;
double r73586 = /* ERROR: no complex support in C */;
return r73586;
}
Initial program 61.9
Final simplification61.9
herbie shell --seed 2020020 +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))))