\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 r16318 = 1.0;
double r16319 = -r16318;
double r16320 = 2.0;
double r16321 = r16319 / r16320;
double r16322 = 3.0;
double r16323 = sqrt(r16322);
double r16324 = r16323 / r16320;
double r16325 = /* ERROR: no complex support in C */;
double r16326 = r16325 * r16325;
double r16327 = r16326 * r16325;
double r16328 = r16327 * r16325;
double r16329 = -r16320;
double r16330 = 0.0;
double r16331 = /* ERROR: no complex support in C */;
double r16332 = r16331 * r16325;
double r16333 = r16332 * r16325;
double r16334 = r16333 * r16325;
double r16335 = r16328 + r16334;
double r16336 = 5.0;
double r16337 = /* ERROR: no complex support in C */;
double r16338 = r16337 * r16325;
double r16339 = r16338 * r16325;
double r16340 = r16335 + r16339;
double r16341 = 4.0;
double r16342 = /* ERROR: no complex support in C */;
double r16343 = r16342 * r16325;
double r16344 = r16340 + r16343;
double r16345 = 7.0;
double r16346 = /* ERROR: no complex support in C */;
double r16347 = r16344 + r16346;
double r16348 = /* ERROR: no complex support in C */;
return r16348;
}
double f() {
double r16349 = 1.0;
double r16350 = -r16349;
double r16351 = 2.0;
double r16352 = r16350 / r16351;
double r16353 = 3.0;
double r16354 = sqrt(r16353);
double r16355 = r16354 / r16351;
double r16356 = /* ERROR: no complex support in C */;
double r16357 = r16356 * r16356;
double r16358 = r16357 * r16356;
double r16359 = r16358 * r16356;
double r16360 = -r16351;
double r16361 = 0.0;
double r16362 = /* ERROR: no complex support in C */;
double r16363 = r16362 * r16356;
double r16364 = r16363 * r16356;
double r16365 = r16364 * r16356;
double r16366 = r16359 + r16365;
double r16367 = 5.0;
double r16368 = /* ERROR: no complex support in C */;
double r16369 = r16368 * r16356;
double r16370 = r16369 * r16356;
double r16371 = r16366 + r16370;
double r16372 = 4.0;
double r16373 = /* ERROR: no complex support in C */;
double r16374 = r16373 * r16356;
double r16375 = r16371 + r16374;
double r16376 = 7.0;
double r16377 = /* ERROR: no complex support in C */;
double r16378 = r16375 + r16377;
double r16379 = /* ERROR: no complex support in C */;
return r16379;
}
Initial program 0
Final simplification0
herbie shell --seed 2019354
(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))))