\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 r47288 = 1.0;
double r47289 = -r47288;
double r47290 = 2.0;
double r47291 = r47289 / r47290;
double r47292 = 3.0;
double r47293 = sqrt(r47292);
double r47294 = r47293 / r47290;
double r47295 = /* ERROR: no complex support in C */;
double r47296 = r47295 * r47295;
double r47297 = r47296 * r47295;
double r47298 = r47297 * r47295;
double r47299 = -r47290;
double r47300 = 0.0;
double r47301 = /* ERROR: no complex support in C */;
double r47302 = r47301 * r47295;
double r47303 = r47302 * r47295;
double r47304 = r47303 * r47295;
double r47305 = r47298 + r47304;
double r47306 = 5.0;
double r47307 = /* ERROR: no complex support in C */;
double r47308 = r47307 * r47295;
double r47309 = r47308 * r47295;
double r47310 = r47305 + r47309;
double r47311 = 4.0;
double r47312 = /* ERROR: no complex support in C */;
double r47313 = r47312 * r47295;
double r47314 = r47310 + r47313;
double r47315 = 7.0;
double r47316 = /* ERROR: no complex support in C */;
double r47317 = r47314 + r47316;
double r47318 = /* ERROR: no complex support in C */;
return r47318;
}
double f() {
double r47319 = 1.0;
double r47320 = -r47319;
double r47321 = 2.0;
double r47322 = r47320 / r47321;
double r47323 = 3.0;
double r47324 = sqrt(r47323);
double r47325 = r47324 / r47321;
double r47326 = /* ERROR: no complex support in C */;
double r47327 = r47326 * r47326;
double r47328 = r47327 * r47326;
double r47329 = r47328 * r47326;
double r47330 = -r47321;
double r47331 = 0.0;
double r47332 = /* ERROR: no complex support in C */;
double r47333 = r47332 * r47326;
double r47334 = r47333 * r47326;
double r47335 = r47334 * r47326;
double r47336 = r47329 + r47335;
double r47337 = 5.0;
double r47338 = /* ERROR: no complex support in C */;
double r47339 = r47338 * r47326;
double r47340 = r47339 * r47326;
double r47341 = r47336 + r47340;
double r47342 = 4.0;
double r47343 = /* ERROR: no complex support in C */;
double r47344 = r47343 * r47326;
double r47345 = r47341 + r47344;
double r47346 = 7.0;
double r47347 = /* ERROR: no complex support in C */;
double r47348 = r47345 + r47347;
double r47349 = /* ERROR: no complex support in C */;
return r47349;
}
Initial program 0
Final simplification0
herbie shell --seed 2020036
(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))))