\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 r17723 = 1.0;
double r17724 = -r17723;
double r17725 = 2.0;
double r17726 = r17724 / r17725;
double r17727 = 3.0;
double r17728 = sqrt(r17727);
double r17729 = r17728 / r17725;
double r17730 = /* ERROR: no complex support in C */;
double r17731 = r17730 * r17730;
double r17732 = r17731 * r17730;
double r17733 = r17732 * r17730;
double r17734 = -r17725;
double r17735 = 0.0;
double r17736 = /* ERROR: no complex support in C */;
double r17737 = r17736 * r17730;
double r17738 = r17737 * r17730;
double r17739 = r17738 * r17730;
double r17740 = r17733 + r17739;
double r17741 = 5.0;
double r17742 = /* ERROR: no complex support in C */;
double r17743 = r17742 * r17730;
double r17744 = r17743 * r17730;
double r17745 = r17740 + r17744;
double r17746 = 4.0;
double r17747 = /* ERROR: no complex support in C */;
double r17748 = r17747 * r17730;
double r17749 = r17745 + r17748;
double r17750 = 7.0;
double r17751 = /* ERROR: no complex support in C */;
double r17752 = r17749 + r17751;
double r17753 = /* ERROR: no complex support in C */;
return r17753;
}
double f() {
double r17754 = 1.0;
double r17755 = -r17754;
double r17756 = 2.0;
double r17757 = r17755 / r17756;
double r17758 = 3.0;
double r17759 = sqrt(r17758);
double r17760 = r17759 / r17756;
double r17761 = /* ERROR: no complex support in C */;
double r17762 = r17761 * r17761;
double r17763 = r17762 * r17761;
double r17764 = r17763 * r17761;
double r17765 = -r17756;
double r17766 = 0.0;
double r17767 = /* ERROR: no complex support in C */;
double r17768 = r17767 * r17761;
double r17769 = r17768 * r17761;
double r17770 = r17769 * r17761;
double r17771 = r17764 + r17770;
double r17772 = 5.0;
double r17773 = /* ERROR: no complex support in C */;
double r17774 = r17773 * r17761;
double r17775 = r17774 * r17761;
double r17776 = r17771 + r17775;
double r17777 = 4.0;
double r17778 = /* ERROR: no complex support in C */;
double r17779 = r17778 * r17761;
double r17780 = r17776 + r17779;
double r17781 = 7.0;
double r17782 = /* ERROR: no complex support in C */;
double r17783 = r17780 + r17782;
double r17784 = /* ERROR: no complex support in C */;
return r17784;
}
Initial program 61.9
Final simplification61.9
herbie shell --seed 2020025 +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))))