\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 r31821 = 1.0;
double r31822 = -r31821;
double r31823 = 2.0;
double r31824 = r31822 / r31823;
double r31825 = 3.0;
double r31826 = sqrt(r31825);
double r31827 = r31826 / r31823;
double r31828 = /* ERROR: no complex support in C */;
double r31829 = r31828 * r31828;
double r31830 = r31829 * r31828;
double r31831 = r31830 * r31828;
double r31832 = -r31823;
double r31833 = 0.0;
double r31834 = /* ERROR: no complex support in C */;
double r31835 = r31834 * r31828;
double r31836 = r31835 * r31828;
double r31837 = r31836 * r31828;
double r31838 = r31831 + r31837;
double r31839 = 5.0;
double r31840 = /* ERROR: no complex support in C */;
double r31841 = r31840 * r31828;
double r31842 = r31841 * r31828;
double r31843 = r31838 + r31842;
double r31844 = 4.0;
double r31845 = /* ERROR: no complex support in C */;
double r31846 = r31845 * r31828;
double r31847 = r31843 + r31846;
double r31848 = 7.0;
double r31849 = /* ERROR: no complex support in C */;
double r31850 = r31847 + r31849;
double r31851 = /* ERROR: no complex support in C */;
return r31851;
}
double f() {
double r31852 = 1.0;
double r31853 = -r31852;
double r31854 = 2.0;
double r31855 = r31853 / r31854;
double r31856 = 3.0;
double r31857 = sqrt(r31856);
double r31858 = r31857 / r31854;
double r31859 = /* ERROR: no complex support in C */;
double r31860 = r31859 * r31859;
double r31861 = r31860 * r31859;
double r31862 = r31861 * r31859;
double r31863 = -r31854;
double r31864 = 0.0;
double r31865 = /* ERROR: no complex support in C */;
double r31866 = r31865 * r31859;
double r31867 = r31866 * r31859;
double r31868 = r31867 * r31859;
double r31869 = r31862 + r31868;
double r31870 = 5.0;
double r31871 = /* ERROR: no complex support in C */;
double r31872 = r31871 * r31859;
double r31873 = r31872 * r31859;
double r31874 = r31869 + r31873;
double r31875 = 4.0;
double r31876 = /* ERROR: no complex support in C */;
double r31877 = r31876 * r31859;
double r31878 = r31874 + r31877;
double r31879 = 7.0;
double r31880 = /* ERROR: no complex support in C */;
double r31881 = r31878 + r31880;
double r31882 = /* ERROR: no complex support in C */;
return r31882;
}
Initial program 61.9
Final simplification61.9
herbie shell --seed 2020036 +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))))