\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 r40331 = 1.0;
double r40332 = -r40331;
double r40333 = 2.0;
double r40334 = r40332 / r40333;
double r40335 = 3.0;
double r40336 = sqrt(r40335);
double r40337 = r40336 / r40333;
double r40338 = /* ERROR: no complex support in C */;
double r40339 = r40338 * r40338;
double r40340 = r40339 * r40338;
double r40341 = r40340 * r40338;
double r40342 = -r40333;
double r40343 = 0.0;
double r40344 = /* ERROR: no complex support in C */;
double r40345 = r40344 * r40338;
double r40346 = r40345 * r40338;
double r40347 = r40346 * r40338;
double r40348 = r40341 + r40347;
double r40349 = 5.0;
double r40350 = /* ERROR: no complex support in C */;
double r40351 = r40350 * r40338;
double r40352 = r40351 * r40338;
double r40353 = r40348 + r40352;
double r40354 = 4.0;
double r40355 = /* ERROR: no complex support in C */;
double r40356 = r40355 * r40338;
double r40357 = r40353 + r40356;
double r40358 = 7.0;
double r40359 = /* ERROR: no complex support in C */;
double r40360 = r40357 + r40359;
double r40361 = /* ERROR: no complex support in C */;
return r40361;
}
double f() {
double r40362 = 1.0;
double r40363 = -r40362;
double r40364 = 2.0;
double r40365 = r40363 / r40364;
double r40366 = 3.0;
double r40367 = sqrt(r40366);
double r40368 = r40367 / r40364;
double r40369 = /* ERROR: no complex support in C */;
double r40370 = r40369 * r40369;
double r40371 = r40370 * r40369;
double r40372 = r40371 * r40369;
double r40373 = -r40364;
double r40374 = 0.0;
double r40375 = /* ERROR: no complex support in C */;
double r40376 = r40375 * r40369;
double r40377 = r40376 * r40369;
double r40378 = r40377 * r40369;
double r40379 = r40372 + r40378;
double r40380 = 5.0;
double r40381 = /* ERROR: no complex support in C */;
double r40382 = r40381 * r40369;
double r40383 = r40382 * r40369;
double r40384 = r40379 + r40383;
double r40385 = 4.0;
double r40386 = /* ERROR: no complex support in C */;
double r40387 = r40386 * r40369;
double r40388 = r40384 + r40387;
double r40389 = 7.0;
double r40390 = /* ERROR: no complex support in C */;
double r40391 = r40388 + r40390;
double r40392 = /* ERROR: no complex support in C */;
return r40392;
}
Initial program 0
Final simplification0
herbie shell --seed 2019235 +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))))