\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(4 + 0.0 i\right) + \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(-\left(\frac{1}{2} + 2\right)\right) + \left(\frac{\sqrt{3}}{2} + 0.0\right) i\right)\right) + \left(5 + 0.0 i\right)\right)\right)\right)\right) + \left(7 + 0.0 i\right)\right))double f() {
double r35065 = 1.0;
double r35066 = -r35065;
double r35067 = 2.0;
double r35068 = r35066 / r35067;
double r35069 = 3.0;
double r35070 = sqrt(r35069);
double r35071 = r35070 / r35067;
double r35072 = /* ERROR: no complex support in C */;
double r35073 = r35072 * r35072;
double r35074 = r35073 * r35072;
double r35075 = r35074 * r35072;
double r35076 = -r35067;
double r35077 = 0.0;
double r35078 = /* ERROR: no complex support in C */;
double r35079 = r35078 * r35072;
double r35080 = r35079 * r35072;
double r35081 = r35080 * r35072;
double r35082 = r35075 + r35081;
double r35083 = 5.0;
double r35084 = /* ERROR: no complex support in C */;
double r35085 = r35084 * r35072;
double r35086 = r35085 * r35072;
double r35087 = r35082 + r35086;
double r35088 = 4.0;
double r35089 = /* ERROR: no complex support in C */;
double r35090 = r35089 * r35072;
double r35091 = r35087 + r35090;
double r35092 = 7.0;
double r35093 = /* ERROR: no complex support in C */;
double r35094 = r35091 + r35093;
double r35095 = /* ERROR: no complex support in C */;
return r35095;
}
double f() {
double r35096 = 1.0;
double r35097 = -r35096;
double r35098 = 2.0;
double r35099 = r35097 / r35098;
double r35100 = 3.0;
double r35101 = sqrt(r35100);
double r35102 = r35101 / r35098;
double r35103 = /* ERROR: no complex support in C */;
double r35104 = 4.0;
double r35105 = 0.0;
double r35106 = /* ERROR: no complex support in C */;
double r35107 = r35096 / r35098;
double r35108 = r35107 + r35098;
double r35109 = -r35108;
double r35110 = r35102 + r35105;
double r35111 = /* ERROR: no complex support in C */;
double r35112 = r35103 * r35111;
double r35113 = 5.0;
double r35114 = /* ERROR: no complex support in C */;
double r35115 = r35112 + r35114;
double r35116 = r35103 * r35115;
double r35117 = r35106 + r35116;
double r35118 = r35103 * r35117;
double r35119 = 7.0;
double r35120 = /* ERROR: no complex support in C */;
double r35121 = r35118 + r35120;
double r35122 = /* ERROR: no complex support in C */;
return r35122;
}
Initial program 61.9
Simplified0
Final simplification0
herbie shell --seed 2019350 +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))))