\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(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right) \cdot \left(\left(\left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right) \cdot \left(\left(5 + 0.0 i\right) + \left(\left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right) \cdot \left(\left(-\left(\frac{1}{2} + 2\right)\right) + \left(\frac{\sqrt{3}}{2} + 0.0\right) i\right)\right)\right)\right) + \left(4 + 0.0 i\right)\right)\right) + \left(7 + 0.0 i\right)\right))double f() {
double r30666 = 1.0;
double r30667 = -r30666;
double r30668 = 2.0;
double r30669 = r30667 / r30668;
double r30670 = 3.0;
double r30671 = sqrt(r30670);
double r30672 = r30671 / r30668;
double r30673 = /* ERROR: no complex support in C */;
double r30674 = r30673 * r30673;
double r30675 = r30674 * r30673;
double r30676 = r30675 * r30673;
double r30677 = -r30668;
double r30678 = 0.0;
double r30679 = /* ERROR: no complex support in C */;
double r30680 = r30679 * r30673;
double r30681 = r30680 * r30673;
double r30682 = r30681 * r30673;
double r30683 = r30676 + r30682;
double r30684 = 5.0;
double r30685 = /* ERROR: no complex support in C */;
double r30686 = r30685 * r30673;
double r30687 = r30686 * r30673;
double r30688 = r30683 + r30687;
double r30689 = 4.0;
double r30690 = /* ERROR: no complex support in C */;
double r30691 = r30690 * r30673;
double r30692 = r30688 + r30691;
double r30693 = 7.0;
double r30694 = /* ERROR: no complex support in C */;
double r30695 = r30692 + r30694;
double r30696 = /* ERROR: no complex support in C */;
return r30696;
}
double f() {
double r30697 = 1.0;
double r30698 = -r30697;
double r30699 = 2.0;
double r30700 = r30698 / r30699;
double r30701 = 3.0;
double r30702 = sqrt(r30701);
double r30703 = r30702 / r30699;
double r30704 = /* ERROR: no complex support in C */;
double r30705 = 5.0;
double r30706 = 0.0;
double r30707 = /* ERROR: no complex support in C */;
double r30708 = r30697 / r30699;
double r30709 = r30708 + r30699;
double r30710 = -r30709;
double r30711 = r30703 + r30706;
double r30712 = /* ERROR: no complex support in C */;
double r30713 = r30704 * r30712;
double r30714 = r30707 + r30713;
double r30715 = r30704 * r30714;
double r30716 = 4.0;
double r30717 = /* ERROR: no complex support in C */;
double r30718 = r30715 + r30717;
double r30719 = r30704 * r30718;
double r30720 = 7.0;
double r30721 = /* ERROR: no complex support in C */;
double r30722 = r30719 + r30721;
double r30723 = /* ERROR: no complex support in C */;
return r30723;
}
Initial program 61.9
Simplified0
Final simplification0
herbie shell --seed 2019212
(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))))