\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 r21171 = 1.0;
double r21172 = -r21171;
double r21173 = 2.0;
double r21174 = r21172 / r21173;
double r21175 = 3.0;
double r21176 = sqrt(r21175);
double r21177 = r21176 / r21173;
double r21178 = /* ERROR: no complex support in C */;
double r21179 = r21178 * r21178;
double r21180 = r21179 * r21178;
double r21181 = r21180 * r21178;
double r21182 = -r21173;
double r21183 = 0.0;
double r21184 = /* ERROR: no complex support in C */;
double r21185 = r21184 * r21178;
double r21186 = r21185 * r21178;
double r21187 = r21186 * r21178;
double r21188 = r21181 + r21187;
double r21189 = 5.0;
double r21190 = /* ERROR: no complex support in C */;
double r21191 = r21190 * r21178;
double r21192 = r21191 * r21178;
double r21193 = r21188 + r21192;
double r21194 = 4.0;
double r21195 = /* ERROR: no complex support in C */;
double r21196 = r21195 * r21178;
double r21197 = r21193 + r21196;
double r21198 = 7.0;
double r21199 = /* ERROR: no complex support in C */;
double r21200 = r21197 + r21199;
double r21201 = /* ERROR: no complex support in C */;
return r21201;
}
double f() {
double r21202 = 1.0;
double r21203 = -r21202;
double r21204 = 2.0;
double r21205 = r21203 / r21204;
double r21206 = 3.0;
double r21207 = sqrt(r21206);
double r21208 = r21207 / r21204;
double r21209 = /* ERROR: no complex support in C */;
double r21210 = r21209 * r21209;
double r21211 = r21210 * r21209;
double r21212 = r21211 * r21209;
double r21213 = -r21204;
double r21214 = 0.0;
double r21215 = /* ERROR: no complex support in C */;
double r21216 = r21215 * r21209;
double r21217 = r21216 * r21209;
double r21218 = r21217 * r21209;
double r21219 = r21212 + r21218;
double r21220 = 5.0;
double r21221 = /* ERROR: no complex support in C */;
double r21222 = r21221 * r21209;
double r21223 = r21222 * r21209;
double r21224 = r21219 + r21223;
double r21225 = 4.0;
double r21226 = /* ERROR: no complex support in C */;
double r21227 = r21226 * r21209;
double r21228 = r21224 + r21227;
double r21229 = 7.0;
double r21230 = /* ERROR: no complex support in C */;
double r21231 = r21228 + r21230;
double r21232 = /* ERROR: no complex support in C */;
return r21232;
}
Initial program 61.9
Final simplification61.9
herbie shell --seed 2020035 +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))))