\Re(\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))\Re(\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 r23052 = 1.0;
double r23053 = -r23052;
double r23054 = 2.0;
double r23055 = r23053 / r23054;
double r23056 = 3.0;
double r23057 = sqrt(r23056);
double r23058 = r23057 / r23054;
double r23059 = /* ERROR: no complex support in C */;
double r23060 = r23059 * r23059;
double r23061 = r23060 * r23059;
double r23062 = r23061 * r23059;
double r23063 = -r23054;
double r23064 = 0.0;
double r23065 = /* ERROR: no complex support in C */;
double r23066 = r23065 * r23059;
double r23067 = r23066 * r23059;
double r23068 = r23067 * r23059;
double r23069 = r23062 + r23068;
double r23070 = 5.0;
double r23071 = /* ERROR: no complex support in C */;
double r23072 = r23071 * r23059;
double r23073 = r23072 * r23059;
double r23074 = r23069 + r23073;
double r23075 = 4.0;
double r23076 = /* ERROR: no complex support in C */;
double r23077 = r23076 * r23059;
double r23078 = r23074 + r23077;
double r23079 = 7.0;
double r23080 = /* ERROR: no complex support in C */;
double r23081 = r23078 + r23080;
double r23082 = /* ERROR: no complex support in C */;
return r23082;
}
double f() {
double r23083 = 1.0;
double r23084 = -r23083;
double r23085 = 2.0;
double r23086 = r23084 / r23085;
double r23087 = 3.0;
double r23088 = sqrt(r23087);
double r23089 = r23088 / r23085;
double r23090 = /* ERROR: no complex support in C */;
double r23091 = r23090 * r23090;
double r23092 = r23091 * r23090;
double r23093 = r23092 * r23090;
double r23094 = -r23085;
double r23095 = 0.0;
double r23096 = /* ERROR: no complex support in C */;
double r23097 = r23096 * r23090;
double r23098 = r23097 * r23090;
double r23099 = r23098 * r23090;
double r23100 = r23093 + r23099;
double r23101 = 5.0;
double r23102 = /* ERROR: no complex support in C */;
double r23103 = r23102 * r23090;
double r23104 = r23103 * r23090;
double r23105 = r23100 + r23104;
double r23106 = 4.0;
double r23107 = /* ERROR: no complex support in C */;
double r23108 = r23107 * r23090;
double r23109 = r23105 + r23108;
double r23110 = 7.0;
double r23111 = /* ERROR: no complex support in C */;
double r23112 = r23109 + r23111;
double r23113 = /* ERROR: no complex support in C */;
return r23113;
}
Initial program 61.9
Final simplification61.9
herbie shell --seed 2019303
(FPCore ()
:name "3.9.2 real part (p56)"
:precision binary64
(re (+ (+ (+ (+ (* (* (* (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))))