\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 r34043 = 1.0;
double r34044 = -r34043;
double r34045 = 2.0;
double r34046 = r34044 / r34045;
double r34047 = 3.0;
double r34048 = sqrt(r34047);
double r34049 = r34048 / r34045;
double r34050 = /* ERROR: no complex support in C */;
double r34051 = r34050 * r34050;
double r34052 = r34051 * r34050;
double r34053 = r34052 * r34050;
double r34054 = -r34045;
double r34055 = 0.0;
double r34056 = /* ERROR: no complex support in C */;
double r34057 = r34056 * r34050;
double r34058 = r34057 * r34050;
double r34059 = r34058 * r34050;
double r34060 = r34053 + r34059;
double r34061 = 5.0;
double r34062 = /* ERROR: no complex support in C */;
double r34063 = r34062 * r34050;
double r34064 = r34063 * r34050;
double r34065 = r34060 + r34064;
double r34066 = 4.0;
double r34067 = /* ERROR: no complex support in C */;
double r34068 = r34067 * r34050;
double r34069 = r34065 + r34068;
double r34070 = 7.0;
double r34071 = /* ERROR: no complex support in C */;
double r34072 = r34069 + r34071;
double r34073 = /* ERROR: no complex support in C */;
return r34073;
}
double f() {
double r34074 = 1.0;
double r34075 = -r34074;
double r34076 = 2.0;
double r34077 = r34075 / r34076;
double r34078 = 3.0;
double r34079 = sqrt(r34078);
double r34080 = r34079 / r34076;
double r34081 = /* ERROR: no complex support in C */;
double r34082 = r34081 * r34081;
double r34083 = r34082 * r34081;
double r34084 = r34083 * r34081;
double r34085 = -r34076;
double r34086 = 0.0;
double r34087 = /* ERROR: no complex support in C */;
double r34088 = r34087 * r34081;
double r34089 = r34088 * r34081;
double r34090 = r34089 * r34081;
double r34091 = r34084 + r34090;
double r34092 = 5.0;
double r34093 = /* ERROR: no complex support in C */;
double r34094 = r34093 * r34081;
double r34095 = r34094 * r34081;
double r34096 = r34091 + r34095;
double r34097 = 4.0;
double r34098 = /* ERROR: no complex support in C */;
double r34099 = r34098 * r34081;
double r34100 = r34096 + r34099;
double r34101 = 7.0;
double r34102 = /* ERROR: no complex support in C */;
double r34103 = r34100 + r34102;
double r34104 = /* ERROR: no complex support in C */;
return r34104;
}
Initial program 61.9
Final simplification61.9
herbie shell --seed 2019353 +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))))