\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 r20818 = 1.0;
double r20819 = -r20818;
double r20820 = 2.0;
double r20821 = r20819 / r20820;
double r20822 = 3.0;
double r20823 = sqrt(r20822);
double r20824 = r20823 / r20820;
double r20825 = /* ERROR: no complex support in C */;
double r20826 = r20825 * r20825;
double r20827 = r20826 * r20825;
double r20828 = r20827 * r20825;
double r20829 = -r20820;
double r20830 = 0.0;
double r20831 = /* ERROR: no complex support in C */;
double r20832 = r20831 * r20825;
double r20833 = r20832 * r20825;
double r20834 = r20833 * r20825;
double r20835 = r20828 + r20834;
double r20836 = 5.0;
double r20837 = /* ERROR: no complex support in C */;
double r20838 = r20837 * r20825;
double r20839 = r20838 * r20825;
double r20840 = r20835 + r20839;
double r20841 = 4.0;
double r20842 = /* ERROR: no complex support in C */;
double r20843 = r20842 * r20825;
double r20844 = r20840 + r20843;
double r20845 = 7.0;
double r20846 = /* ERROR: no complex support in C */;
double r20847 = r20844 + r20846;
double r20848 = /* ERROR: no complex support in C */;
return r20848;
}
double f() {
double r20849 = 1.0;
double r20850 = -r20849;
double r20851 = 2.0;
double r20852 = r20850 / r20851;
double r20853 = 3.0;
double r20854 = sqrt(r20853);
double r20855 = r20854 / r20851;
double r20856 = /* ERROR: no complex support in C */;
double r20857 = r20856 * r20856;
double r20858 = r20857 * r20856;
double r20859 = r20858 * r20856;
double r20860 = -r20851;
double r20861 = 0.0;
double r20862 = /* ERROR: no complex support in C */;
double r20863 = r20862 * r20856;
double r20864 = r20863 * r20856;
double r20865 = r20864 * r20856;
double r20866 = r20859 + r20865;
double r20867 = 5.0;
double r20868 = /* ERROR: no complex support in C */;
double r20869 = r20868 * r20856;
double r20870 = r20869 * r20856;
double r20871 = r20866 + r20870;
double r20872 = 4.0;
double r20873 = /* ERROR: no complex support in C */;
double r20874 = r20873 * r20856;
double r20875 = r20871 + r20874;
double r20876 = 7.0;
double r20877 = /* ERROR: no complex support in C */;
double r20878 = r20875 + r20877;
double r20879 = /* ERROR: no complex support in C */;
return r20879;
}
Initial program 61.9
Final simplification61.9
herbie shell --seed 2020065 +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))))