```// ************************************************************************** //
//                                                                            //
//    eses                   eses                                             //
//   eses                     eses                                            //
//  eses    eseses  esesese    eses   Embedded Systems Group                  //
//  ese    ese  ese ese         ese                                           //
//  ese    eseseses eseseses    ese   Department of Computer Science          //
//  eses   eses          ese   eses                                           //
//   eses   eseses  eseseses  eses    University of Kaiserslautern            //
//    eses                   eses                                             //
//                                                                            //
// ************************************************************************** //

[9]int p;
int x,y;
int t0,t1,t2,t3,t4,t5,t6,t7,t8,t9,t10,t11,t12,t13,t14,t15,t16,t17;
t0 = p[0];
t1 = p[1];
t2 = p[2];
t3 = p[3];
t4 = p[4];
t5 = p[5];
t6 = p[6];
t7 = p[7];
t8 = p[8];
t9 = +1;
t10 = x;
t11 = x;
t12 = x;
t13 = x;
t14 = x;
t15 = x;
t16 = x;
t17 = x;
// up-level 0
t10 = t9 * t10;
t12 = t11 * t12;
t14 = t13 * t14;
t16 = t15 * t16;
// up-level 1
t12 = t10 * t12;
t16 = t14 * t16;
// up-level 2
t16 = t12 * t16;
// up-level 3
// down-level 4
// down-level 5
t14 = t12 * t14;
// down-level 6
t11 = t10 * t11;
t13 = t12 * t13;
t15 = t14 * t15;
t17 = t16 * t17;
// multiply p[i] with x^i
t9 = t0 * t9;
t10 = t1 * t10;
t11 = t2 * t11;
t12 = t3 * t12;
t13 = t4 * t13;
t14 = t5 * t14;
t15 = t6 * t15;
t16 = t7 * t16;
t17 = t8 * t17;
// sum up p[i]*x^i by a binary tree
// level 0
t9 = t9 + t10;
t10 = t11 + t12;
t11 = t13 + t14;
t12 = t15 + t16;
t13 = t17;
// level 0
t9 = t9 + t10;
t10 = t11 + t12;
t11 = t13;
// level 0
t9 = t9 + t10;
t10 = t11;
// level 0
t9 = t9 + t10;
// final result
y = t9;
}

```