\Im(\left(\left(\left(\left(\left(\left(\left(\left(\left(\left(\left(\left(-1 + 1 i\right) \cdot \left(-1 + 1 i\right)\right) \cdot \left(-1 + 1 i\right)\right) \cdot \left(-1 + 1 i\right)\right) \cdot \left(-1 + 1 i\right)\right) \cdot \left(-1 + 1 i\right)\right) + \left(\left(\left(\left(\left(\left(6 + 0 i\right) \cdot \left(-1 + 1 i\right)\right) \cdot \left(-1 + 1 i\right)\right) \cdot \left(-1 + 1 i\right)\right) \cdot \left(-1 + 1 i\right)\right) \cdot \left(-1 + 1 i\right)\right)\right) + \left(\left(\left(\left(\left(15 + 0 i\right) \cdot \left(-1 + 1 i\right)\right) \cdot \left(-1 + 1 i\right)\right) \cdot \left(-1 + 1 i\right)\right) \cdot \left(-1 + 1 i\right)\right)\right) + \left(\left(\left(\left(20 + 0 i\right) \cdot \left(-1 + 1 i\right)\right) \cdot \left(-1 + 1 i\right)\right) \cdot \left(-1 + 1 i\right)\right)\right) + \left(\left(\left(15 + 0 i\right) \cdot \left(-1 + 1 i\right)\right) \cdot \left(-1 + 1 i\right)\right)\right) + \left(\left(6 + 0 i\right) \cdot \left(-1 + 1 i\right)\right)\right) + \left(1 + 0 i\right)\right))
\Im(\left(\left(-5 + -24 i\right) + \left(\left(\left(24 + -24 i\right) + \left(0 + 8 i\right)\right) + \left(\left(40 + 40 i\right) + \left(-60 + 0 i\right)\right)\right)\right))
double f() {
double r751337 = -1.0;
double r751338 = 1.0;
double r751339 = /* ERROR: no complex support in C */;
double r751340 = r751339 * r751339;
double r751341 = r751340 * r751339;
double r751342 = r751341 * r751339;
double r751343 = r751342 * r751339;
double r751344 = r751343 * r751339;
double r751345 = 6.0;
double r751346 = 0.0;
double r751347 = /* ERROR: no complex support in C */;
double r751348 = r751347 * r751339;
double r751349 = r751348 * r751339;
double r751350 = r751349 * r751339;
double r751351 = r751350 * r751339;
double r751352 = r751351 * r751339;
double r751353 = r751344 + r751352;
double r751354 = 15.0;
double r751355 = /* ERROR: no complex support in C */;
double r751356 = r751355 * r751339;
double r751357 = r751356 * r751339;
double r751358 = r751357 * r751339;
double r751359 = r751358 * r751339;
double r751360 = r751353 + r751359;
double r751361 = 20.0;
double r751362 = /* ERROR: no complex support in C */;
double r751363 = r751362 * r751339;
double r751364 = r751363 * r751339;
double r751365 = r751364 * r751339;
double r751366 = r751360 + r751365;
double r751367 = r751366 + r751357;
double r751368 = r751367 + r751348;
double r751369 = /* ERROR: no complex support in C */;
double r751370 = r751368 + r751369;
double r751371 = /* ERROR: no complex support in C */;
return r751371;
}
double f() {
double r751372 = -5.0;
double r751373 = -24.0;
double r751374 = /* ERROR: no complex support in C */;
double r751375 = 24.0;
double r751376 = /* ERROR: no complex support in C */;
double r751377 = 0.0;
double r751378 = 8.0;
double r751379 = /* ERROR: no complex support in C */;
double r751380 = r751376 + r751379;
double r751381 = 40.0;
double r751382 = /* ERROR: no complex support in C */;
double r751383 = -60.0;
double r751384 = /* ERROR: no complex support in C */;
double r751385 = r751382 + r751384;
double r751386 = r751380 + r751385;
double r751387 = r751374 + r751386;
double r751388 = /* ERROR: no complex support in C */;
return r751388;
}
Initial program 0
Simplified0
Final simplification0
herbie shell --seed 2019128 +o rules:numerics
(FPCore ()
:name "3.9.1 imaginary part (p56)"
(im (+.c (+.c (+.c (+.c (+.c (+.c (*.c (*.c (*.c (*.c (*.c (complex -1 1) (complex -1 1)) (complex -1 1)) (complex -1 1)) (complex -1 1)) (complex -1 1)) (*.c (*.c (*.c (*.c (*.c (complex 6 0) (complex -1 1)) (complex -1 1)) (complex -1 1)) (complex -1 1)) (complex -1 1))) (*.c (*.c (*.c (*.c (complex 15 0) (complex -1 1)) (complex -1 1)) (complex -1 1)) (complex -1 1))) (*.c (*.c (*.c (complex 20 0) (complex -1 1)) (complex -1 1)) (complex -1 1))) (*.c (*.c (complex 15 0) (complex -1 1)) (complex -1 1))) (*.c (complex 6 0) (complex -1 1))) (complex 1 0))))