\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 r31049 = 1.0;
double r31050 = -r31049;
double r31051 = 2.0;
double r31052 = r31050 / r31051;
double r31053 = 3.0;
double r31054 = sqrt(r31053);
double r31055 = r31054 / r31051;
double r31056 = /* ERROR: no complex support in C */;
double r31057 = r31056 * r31056;
double r31058 = r31057 * r31056;
double r31059 = r31058 * r31056;
double r31060 = -r31051;
double r31061 = 0.0;
double r31062 = /* ERROR: no complex support in C */;
double r31063 = r31062 * r31056;
double r31064 = r31063 * r31056;
double r31065 = r31064 * r31056;
double r31066 = r31059 + r31065;
double r31067 = 5.0;
double r31068 = /* ERROR: no complex support in C */;
double r31069 = r31068 * r31056;
double r31070 = r31069 * r31056;
double r31071 = r31066 + r31070;
double r31072 = 4.0;
double r31073 = /* ERROR: no complex support in C */;
double r31074 = r31073 * r31056;
double r31075 = r31071 + r31074;
double r31076 = 7.0;
double r31077 = /* ERROR: no complex support in C */;
double r31078 = r31075 + r31077;
double r31079 = /* ERROR: no complex support in C */;
return r31079;
}
double f() {
double r31080 = 1.0;
double r31081 = -r31080;
double r31082 = 2.0;
double r31083 = r31081 / r31082;
double r31084 = 3.0;
double r31085 = sqrt(r31084);
double r31086 = r31085 / r31082;
double r31087 = /* ERROR: no complex support in C */;
double r31088 = r31087 * r31087;
double r31089 = r31088 * r31087;
double r31090 = r31089 * r31087;
double r31091 = -r31082;
double r31092 = 0.0;
double r31093 = /* ERROR: no complex support in C */;
double r31094 = r31093 * r31087;
double r31095 = r31094 * r31087;
double r31096 = r31095 * r31087;
double r31097 = r31090 + r31096;
double r31098 = 5.0;
double r31099 = /* ERROR: no complex support in C */;
double r31100 = r31099 * r31087;
double r31101 = r31100 * r31087;
double r31102 = r31097 + r31101;
double r31103 = 4.0;
double r31104 = /* ERROR: no complex support in C */;
double r31105 = r31104 * r31087;
double r31106 = r31102 + r31105;
double r31107 = 7.0;
double r31108 = /* ERROR: no complex support in C */;
double r31109 = r31106 + r31108;
double r31110 = /* ERROR: no complex support in C */;
return r31110;
}
Initial program 61.9
Final simplification61.9
herbie shell --seed 2019353
(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))))