\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 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 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 i\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right)\right) + \left(7 + 0 i\right)\right))\Re(\left(\left(\frac{11}{2} + \left(\frac{\sqrt{3}}{-2} + \left(-\sqrt{3}\right)\right) i\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{-2} i\right) + \left(5 + \sqrt{3} \cdot 2 i\right)\right))double f() {
double r400806 = 1.0;
double r400807 = -r400806;
double r400808 = 2.0;
double r400809 = r400807 / r400808;
double r400810 = 3.0;
double r400811 = sqrt(r400810);
double r400812 = r400811 / r400808;
double r400813 = /* ERROR: no complex support in C */;
double r400814 = r400813 * r400813;
double r400815 = r400814 * r400813;
double r400816 = r400815 * r400813;
double r400817 = -r400808;
double r400818 = 0.0;
double r400819 = /* ERROR: no complex support in C */;
double r400820 = r400819 * r400813;
double r400821 = r400820 * r400813;
double r400822 = r400821 * r400813;
double r400823 = r400816 + r400822;
double r400824 = 5.0;
double r400825 = /* ERROR: no complex support in C */;
double r400826 = r400825 * r400813;
double r400827 = r400826 * r400813;
double r400828 = r400823 + r400827;
double r400829 = 4.0;
double r400830 = /* ERROR: no complex support in C */;
double r400831 = r400830 * r400813;
double r400832 = r400828 + r400831;
double r400833 = 7.0;
double r400834 = /* ERROR: no complex support in C */;
double r400835 = r400832 + r400834;
double r400836 = /* ERROR: no complex support in C */;
return r400836;
}
double f() {
double r400837 = 5.5;
double r400838 = 3.0;
double r400839 = sqrt(r400838);
double r400840 = -2.0;
double r400841 = r400839 / r400840;
double r400842 = -r400839;
double r400843 = r400841 + r400842;
double r400844 = /* ERROR: no complex support in C */;
double r400845 = -0.5;
double r400846 = /* ERROR: no complex support in C */;
double r400847 = r400844 * r400846;
double r400848 = 5.0;
double r400849 = 2.0;
double r400850 = r400839 * r400849;
double r400851 = /* ERROR: no complex support in C */;
double r400852 = r400847 + r400851;
double r400853 = /* ERROR: no complex support in C */;
return r400853;
}
Initial program 61.9
Simplified0
Final simplification0
herbie shell --seed 2019146 +o rules:numerics
(FPCore ()
:name "3.9.2 real part (p56)"
(re (+.c (+.c (+.c (+.c (*.c (*.c (*.c (complex (/ (- 1) 2) (/ (sqrt 3) 2)) (complex (/ (- 1) 2) (/ (sqrt 3) 2))) (complex (/ (- 1) 2) (/ (sqrt 3) 2))) (complex (/ (- 1) 2) (/ (sqrt 3) 2))) (*.c (*.c (*.c (complex (- 2) 0) (complex (/ (- 1) 2) (/ (sqrt 3) 2))) (complex (/ (- 1) 2) (/ (sqrt 3) 2))) (complex (/ (- 1) 2) (/ (sqrt 3) 2)))) (*.c (*.c (complex 5 0) (complex (/ (- 1) 2) (/ (sqrt 3) 2))) (complex (/ (- 1) 2) (/ (sqrt 3) 2)))) (*.c (complex 4 0) (complex (/ (- 1) 2) (/ (sqrt 3) 2)))) (complex 7 0))))