\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 r30029 = 1.0;
double r30030 = -r30029;
double r30031 = 2.0;
double r30032 = r30030 / r30031;
double r30033 = 3.0;
double r30034 = sqrt(r30033);
double r30035 = r30034 / r30031;
double r30036 = /* ERROR: no complex support in C */;
double r30037 = r30036 * r30036;
double r30038 = r30037 * r30036;
double r30039 = r30038 * r30036;
double r30040 = -r30031;
double r30041 = 0.0;
double r30042 = /* ERROR: no complex support in C */;
double r30043 = r30042 * r30036;
double r30044 = r30043 * r30036;
double r30045 = r30044 * r30036;
double r30046 = r30039 + r30045;
double r30047 = 5.0;
double r30048 = /* ERROR: no complex support in C */;
double r30049 = r30048 * r30036;
double r30050 = r30049 * r30036;
double r30051 = r30046 + r30050;
double r30052 = 4.0;
double r30053 = /* ERROR: no complex support in C */;
double r30054 = r30053 * r30036;
double r30055 = r30051 + r30054;
double r30056 = 7.0;
double r30057 = /* ERROR: no complex support in C */;
double r30058 = r30055 + r30057;
double r30059 = /* ERROR: no complex support in C */;
return r30059;
}
double f() {
double r30060 = 1.0;
double r30061 = -r30060;
double r30062 = 2.0;
double r30063 = r30061 / r30062;
double r30064 = 3.0;
double r30065 = sqrt(r30064);
double r30066 = r30065 / r30062;
double r30067 = /* ERROR: no complex support in C */;
double r30068 = 4.0;
double r30069 = 0.0;
double r30070 = /* ERROR: no complex support in C */;
double r30071 = r30060 / r30062;
double r30072 = r30071 + r30062;
double r30073 = -r30072;
double r30074 = r30066 + r30069;
double r30075 = /* ERROR: no complex support in C */;
double r30076 = r30067 * r30075;
double r30077 = 5.0;
double r30078 = /* ERROR: no complex support in C */;
double r30079 = r30076 + r30078;
double r30080 = r30067 * r30079;
double r30081 = r30070 + r30080;
double r30082 = r30067 * r30081;
double r30083 = 7.0;
double r30084 = /* ERROR: no complex support in C */;
double r30085 = r30082 + r30084;
double r30086 = /* ERROR: no complex support in C */;
return r30086;
}
Initial program 61.9
Simplified0
Final simplification0
herbie shell --seed 2019326 +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))))