\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 r37137 = 1.0;
double r37138 = -r37137;
double r37139 = 2.0;
double r37140 = r37138 / r37139;
double r37141 = 3.0;
double r37142 = sqrt(r37141);
double r37143 = r37142 / r37139;
double r37144 = /* ERROR: no complex support in C */;
double r37145 = r37144 * r37144;
double r37146 = r37145 * r37144;
double r37147 = r37146 * r37144;
double r37148 = -r37139;
double r37149 = 0.0;
double r37150 = /* ERROR: no complex support in C */;
double r37151 = r37150 * r37144;
double r37152 = r37151 * r37144;
double r37153 = r37152 * r37144;
double r37154 = r37147 + r37153;
double r37155 = 5.0;
double r37156 = /* ERROR: no complex support in C */;
double r37157 = r37156 * r37144;
double r37158 = r37157 * r37144;
double r37159 = r37154 + r37158;
double r37160 = 4.0;
double r37161 = /* ERROR: no complex support in C */;
double r37162 = r37161 * r37144;
double r37163 = r37159 + r37162;
double r37164 = 7.0;
double r37165 = /* ERROR: no complex support in C */;
double r37166 = r37163 + r37165;
double r37167 = /* ERROR: no complex support in C */;
return r37167;
}
double f() {
double r37168 = 1.0;
double r37169 = -r37168;
double r37170 = 2.0;
double r37171 = r37169 / r37170;
double r37172 = 3.0;
double r37173 = sqrt(r37172);
double r37174 = r37173 / r37170;
double r37175 = /* ERROR: no complex support in C */;
double r37176 = r37175 * r37175;
double r37177 = r37176 * r37175;
double r37178 = r37177 * r37175;
double r37179 = -r37170;
double r37180 = 0.0;
double r37181 = /* ERROR: no complex support in C */;
double r37182 = r37181 * r37175;
double r37183 = r37182 * r37175;
double r37184 = r37183 * r37175;
double r37185 = r37178 + r37184;
double r37186 = 5.0;
double r37187 = /* ERROR: no complex support in C */;
double r37188 = r37187 * r37175;
double r37189 = r37188 * r37175;
double r37190 = r37185 + r37189;
double r37191 = 4.0;
double r37192 = /* ERROR: no complex support in C */;
double r37193 = r37192 * r37175;
double r37194 = r37190 + r37193;
double r37195 = 7.0;
double r37196 = /* ERROR: no complex support in C */;
double r37197 = r37194 + r37196;
double r37198 = /* ERROR: no complex support in C */;
return r37198;
}
Initial program 61.9
Final simplification61.9
herbie shell --seed 2020062 +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))))