\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 r27721 = 1.0;
double r27722 = -r27721;
double r27723 = 2.0;
double r27724 = r27722 / r27723;
double r27725 = 3.0;
double r27726 = sqrt(r27725);
double r27727 = r27726 / r27723;
double r27728 = /* ERROR: no complex support in C */;
double r27729 = r27728 * r27728;
double r27730 = r27729 * r27728;
double r27731 = r27730 * r27728;
double r27732 = -r27723;
double r27733 = 0.0;
double r27734 = /* ERROR: no complex support in C */;
double r27735 = r27734 * r27728;
double r27736 = r27735 * r27728;
double r27737 = r27736 * r27728;
double r27738 = r27731 + r27737;
double r27739 = 5.0;
double r27740 = /* ERROR: no complex support in C */;
double r27741 = r27740 * r27728;
double r27742 = r27741 * r27728;
double r27743 = r27738 + r27742;
double r27744 = 4.0;
double r27745 = /* ERROR: no complex support in C */;
double r27746 = r27745 * r27728;
double r27747 = r27743 + r27746;
double r27748 = 7.0;
double r27749 = /* ERROR: no complex support in C */;
double r27750 = r27747 + r27749;
double r27751 = /* ERROR: no complex support in C */;
return r27751;
}
double f() {
double r27752 = 1.0;
double r27753 = -r27752;
double r27754 = 2.0;
double r27755 = r27753 / r27754;
double r27756 = 3.0;
double r27757 = sqrt(r27756);
double r27758 = r27757 / r27754;
double r27759 = /* ERROR: no complex support in C */;
double r27760 = r27759 * r27759;
double r27761 = r27760 * r27759;
double r27762 = r27761 * r27759;
double r27763 = -r27754;
double r27764 = 0.0;
double r27765 = /* ERROR: no complex support in C */;
double r27766 = r27765 * r27759;
double r27767 = r27766 * r27759;
double r27768 = r27767 * r27759;
double r27769 = r27762 + r27768;
double r27770 = 5.0;
double r27771 = /* ERROR: no complex support in C */;
double r27772 = r27771 * r27759;
double r27773 = r27772 * r27759;
double r27774 = r27769 + r27773;
double r27775 = 4.0;
double r27776 = /* ERROR: no complex support in C */;
double r27777 = r27776 * r27759;
double r27778 = r27774 + r27777;
double r27779 = 7.0;
double r27780 = /* ERROR: no complex support in C */;
double r27781 = r27778 + r27780;
double r27782 = /* ERROR: no complex support in C */;
return r27782;
}
Initial program 61.9
Final simplification61.9
herbie shell --seed 2020002 +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))))