\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 r42545 = 1.0;
double r42546 = -r42545;
double r42547 = 2.0;
double r42548 = r42546 / r42547;
double r42549 = 3.0;
double r42550 = sqrt(r42549);
double r42551 = r42550 / r42547;
double r42552 = /* ERROR: no complex support in C */;
double r42553 = r42552 * r42552;
double r42554 = r42553 * r42552;
double r42555 = r42554 * r42552;
double r42556 = -r42547;
double r42557 = 0.0;
double r42558 = /* ERROR: no complex support in C */;
double r42559 = r42558 * r42552;
double r42560 = r42559 * r42552;
double r42561 = r42560 * r42552;
double r42562 = r42555 + r42561;
double r42563 = 5.0;
double r42564 = /* ERROR: no complex support in C */;
double r42565 = r42564 * r42552;
double r42566 = r42565 * r42552;
double r42567 = r42562 + r42566;
double r42568 = 4.0;
double r42569 = /* ERROR: no complex support in C */;
double r42570 = r42569 * r42552;
double r42571 = r42567 + r42570;
double r42572 = 7.0;
double r42573 = /* ERROR: no complex support in C */;
double r42574 = r42571 + r42573;
double r42575 = /* ERROR: no complex support in C */;
return r42575;
}
double f() {
double r42576 = 1.0;
double r42577 = -r42576;
double r42578 = 2.0;
double r42579 = r42577 / r42578;
double r42580 = 3.0;
double r42581 = sqrt(r42580);
double r42582 = r42581 / r42578;
double r42583 = /* ERROR: no complex support in C */;
double r42584 = r42583 * r42583;
double r42585 = r42584 * r42583;
double r42586 = r42585 * r42583;
double r42587 = -r42578;
double r42588 = 0.0;
double r42589 = /* ERROR: no complex support in C */;
double r42590 = r42589 * r42583;
double r42591 = r42590 * r42583;
double r42592 = r42591 * r42583;
double r42593 = r42586 + r42592;
double r42594 = 5.0;
double r42595 = /* ERROR: no complex support in C */;
double r42596 = r42595 * r42583;
double r42597 = r42596 * r42583;
double r42598 = r42593 + r42597;
double r42599 = 4.0;
double r42600 = /* ERROR: no complex support in C */;
double r42601 = r42600 * r42583;
double r42602 = r42598 + r42601;
double r42603 = 7.0;
double r42604 = /* ERROR: no complex support in C */;
double r42605 = r42602 + r42604;
double r42606 = /* ERROR: no complex support in C */;
return r42606;
}
Initial program 61.9
Final simplification61.9
herbie shell --seed 2020056 +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))))