\Im(\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))\Im(\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 r38205 = 1.0;
double r38206 = -r38205;
double r38207 = 2.0;
double r38208 = r38206 / r38207;
double r38209 = 3.0;
double r38210 = sqrt(r38209);
double r38211 = r38210 / r38207;
double r38212 = /* ERROR: no complex support in C */;
double r38213 = r38212 * r38212;
double r38214 = r38213 * r38212;
double r38215 = r38214 * r38212;
double r38216 = -r38207;
double r38217 = 0.0;
double r38218 = /* ERROR: no complex support in C */;
double r38219 = r38218 * r38212;
double r38220 = r38219 * r38212;
double r38221 = r38220 * r38212;
double r38222 = r38215 + r38221;
double r38223 = 5.0;
double r38224 = /* ERROR: no complex support in C */;
double r38225 = r38224 * r38212;
double r38226 = r38225 * r38212;
double r38227 = r38222 + r38226;
double r38228 = 4.0;
double r38229 = /* ERROR: no complex support in C */;
double r38230 = r38229 * r38212;
double r38231 = r38227 + r38230;
double r38232 = 7.0;
double r38233 = /* ERROR: no complex support in C */;
double r38234 = r38231 + r38233;
double r38235 = /* ERROR: no complex support in C */;
return r38235;
}
double f() {
double r38236 = 1.0;
double r38237 = -r38236;
double r38238 = 2.0;
double r38239 = r38237 / r38238;
double r38240 = 3.0;
double r38241 = sqrt(r38240);
double r38242 = r38241 / r38238;
double r38243 = /* ERROR: no complex support in C */;
double r38244 = r38243 * r38243;
double r38245 = r38244 * r38243;
double r38246 = r38245 * r38243;
double r38247 = -r38238;
double r38248 = 0.0;
double r38249 = /* ERROR: no complex support in C */;
double r38250 = r38249 * r38243;
double r38251 = r38250 * r38243;
double r38252 = r38251 * r38243;
double r38253 = r38246 + r38252;
double r38254 = 5.0;
double r38255 = /* ERROR: no complex support in C */;
double r38256 = r38255 * r38243;
double r38257 = r38256 * r38243;
double r38258 = r38253 + r38257;
double r38259 = 4.0;
double r38260 = /* ERROR: no complex support in C */;
double r38261 = r38260 * r38243;
double r38262 = r38258 + r38261;
double r38263 = 7.0;
double r38264 = /* ERROR: no complex support in C */;
double r38265 = r38262 + r38264;
double r38266 = /* ERROR: no complex support in C */;
return r38266;
}
Initial program 0
Final simplification0
herbie shell --seed 2019352 +o rules:numerics
(FPCore ()
:name "3.9.2 imaginary part (p56)"
:precision binary64
(im (+ (+ (+ (+ (* (* (* (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))))