\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(\frac{-1}{2} - 2\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 r22806 = 1.0;
double r22807 = -r22806;
double r22808 = 2.0;
double r22809 = r22807 / r22808;
double r22810 = 3.0;
double r22811 = sqrt(r22810);
double r22812 = r22811 / r22808;
double r22813 = /* ERROR: no complex support in C */;
double r22814 = r22813 * r22813;
double r22815 = r22814 * r22813;
double r22816 = r22815 * r22813;
double r22817 = -r22808;
double r22818 = 0.0;
double r22819 = /* ERROR: no complex support in C */;
double r22820 = r22819 * r22813;
double r22821 = r22820 * r22813;
double r22822 = r22821 * r22813;
double r22823 = r22816 + r22822;
double r22824 = 5.0;
double r22825 = /* ERROR: no complex support in C */;
double r22826 = r22825 * r22813;
double r22827 = r22826 * r22813;
double r22828 = r22823 + r22827;
double r22829 = 4.0;
double r22830 = /* ERROR: no complex support in C */;
double r22831 = r22830 * r22813;
double r22832 = r22828 + r22831;
double r22833 = 7.0;
double r22834 = /* ERROR: no complex support in C */;
double r22835 = r22832 + r22834;
double r22836 = /* ERROR: no complex support in C */;
return r22836;
}
double f() {
double r22837 = 1.0;
double r22838 = -r22837;
double r22839 = 2.0;
double r22840 = r22838 / r22839;
double r22841 = 3.0;
double r22842 = sqrt(r22841);
double r22843 = r22842 / r22839;
double r22844 = /* ERROR: no complex support in C */;
double r22845 = 5.0;
double r22846 = 0.0;
double r22847 = /* ERROR: no complex support in C */;
double r22848 = r22840 - r22839;
double r22849 = r22843 + r22846;
double r22850 = /* ERROR: no complex support in C */;
double r22851 = r22844 * r22850;
double r22852 = r22847 + r22851;
double r22853 = r22844 * r22852;
double r22854 = 4.0;
double r22855 = /* ERROR: no complex support in C */;
double r22856 = r22853 + r22855;
double r22857 = r22844 * r22856;
double r22858 = 7.0;
double r22859 = /* ERROR: no complex support in C */;
double r22860 = r22857 + r22859;
double r22861 = /* ERROR: no complex support in C */;
return r22861;
}
Initial program 61.9
Simplified0
Final simplification0
herbie shell --seed 2020042 +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))))