\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 r27066 = 1.0;
double r27067 = -r27066;
double r27068 = 2.0;
double r27069 = r27067 / r27068;
double r27070 = 3.0;
double r27071 = sqrt(r27070);
double r27072 = r27071 / r27068;
double r27073 = /* ERROR: no complex support in C */;
double r27074 = r27073 * r27073;
double r27075 = r27074 * r27073;
double r27076 = r27075 * r27073;
double r27077 = -r27068;
double r27078 = 0.0;
double r27079 = /* ERROR: no complex support in C */;
double r27080 = r27079 * r27073;
double r27081 = r27080 * r27073;
double r27082 = r27081 * r27073;
double r27083 = r27076 + r27082;
double r27084 = 5.0;
double r27085 = /* ERROR: no complex support in C */;
double r27086 = r27085 * r27073;
double r27087 = r27086 * r27073;
double r27088 = r27083 + r27087;
double r27089 = 4.0;
double r27090 = /* ERROR: no complex support in C */;
double r27091 = r27090 * r27073;
double r27092 = r27088 + r27091;
double r27093 = 7.0;
double r27094 = /* ERROR: no complex support in C */;
double r27095 = r27092 + r27094;
double r27096 = /* ERROR: no complex support in C */;
return r27096;
}
double f() {
double r27097 = 1.0;
double r27098 = -r27097;
double r27099 = 2.0;
double r27100 = r27098 / r27099;
double r27101 = 3.0;
double r27102 = sqrt(r27101);
double r27103 = r27102 / r27099;
double r27104 = /* ERROR: no complex support in C */;
double r27105 = r27104 * r27104;
double r27106 = r27105 * r27104;
double r27107 = r27106 * r27104;
double r27108 = -r27099;
double r27109 = 0.0;
double r27110 = /* ERROR: no complex support in C */;
double r27111 = r27110 * r27104;
double r27112 = r27111 * r27104;
double r27113 = r27112 * r27104;
double r27114 = r27107 + r27113;
double r27115 = 5.0;
double r27116 = /* ERROR: no complex support in C */;
double r27117 = r27116 * r27104;
double r27118 = r27117 * r27104;
double r27119 = r27114 + r27118;
double r27120 = 4.0;
double r27121 = /* ERROR: no complex support in C */;
double r27122 = r27121 * r27104;
double r27123 = r27119 + r27122;
double r27124 = 7.0;
double r27125 = /* ERROR: no complex support in C */;
double r27126 = r27123 + r27125;
double r27127 = /* ERROR: no complex support in C */;
return r27127;
}
Initial program 61.9
Final simplification61.9
herbie shell --seed 2020083 +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))))