\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 r32708 = 1.0;
double r32709 = -r32708;
double r32710 = 2.0;
double r32711 = r32709 / r32710;
double r32712 = 3.0;
double r32713 = sqrt(r32712);
double r32714 = r32713 / r32710;
double r32715 = /* ERROR: no complex support in C */;
double r32716 = r32715 * r32715;
double r32717 = r32716 * r32715;
double r32718 = r32717 * r32715;
double r32719 = -r32710;
double r32720 = 0.0;
double r32721 = /* ERROR: no complex support in C */;
double r32722 = r32721 * r32715;
double r32723 = r32722 * r32715;
double r32724 = r32723 * r32715;
double r32725 = r32718 + r32724;
double r32726 = 5.0;
double r32727 = /* ERROR: no complex support in C */;
double r32728 = r32727 * r32715;
double r32729 = r32728 * r32715;
double r32730 = r32725 + r32729;
double r32731 = 4.0;
double r32732 = /* ERROR: no complex support in C */;
double r32733 = r32732 * r32715;
double r32734 = r32730 + r32733;
double r32735 = 7.0;
double r32736 = /* ERROR: no complex support in C */;
double r32737 = r32734 + r32736;
double r32738 = /* ERROR: no complex support in C */;
return r32738;
}
double f() {
double r32739 = 1.0;
double r32740 = -r32739;
double r32741 = 2.0;
double r32742 = r32740 / r32741;
double r32743 = 3.0;
double r32744 = sqrt(r32743);
double r32745 = r32744 / r32741;
double r32746 = /* ERROR: no complex support in C */;
double r32747 = r32746 * r32746;
double r32748 = r32747 * r32746;
double r32749 = r32748 * r32746;
double r32750 = -r32741;
double r32751 = 0.0;
double r32752 = /* ERROR: no complex support in C */;
double r32753 = r32752 * r32746;
double r32754 = r32753 * r32746;
double r32755 = r32754 * r32746;
double r32756 = r32749 + r32755;
double r32757 = 5.0;
double r32758 = /* ERROR: no complex support in C */;
double r32759 = r32758 * r32746;
double r32760 = r32759 * r32746;
double r32761 = r32756 + r32760;
double r32762 = 4.0;
double r32763 = /* ERROR: no complex support in C */;
double r32764 = r32763 * r32746;
double r32765 = r32761 + r32764;
double r32766 = 7.0;
double r32767 = /* ERROR: no complex support in C */;
double r32768 = r32765 + r32767;
double r32769 = /* ERROR: no complex support in C */;
return r32769;
}
Initial program 61.9
Final simplification61.9
herbie shell --seed 2020001 +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))))