// ************************************************************************** // // // // 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 // // // // ************************************************************************** // [129]int p; int x,y; thread EvalPolynomial { int t0,t1,t2,t3,t4,t5,t6,t7,t8,t9,t10,t11,t12,t13,t14,t15,t16,t17,t18,t19,t20,t21,t22,t23,t24,t25,t26,t27,t28,t29,t30,t31,t32,t33,t34,t35,t36,t37,t38,t39,t40,t41,t42,t43,t44,t45,t46,t47,t48,t49,t50,t51,t52,t53,t54,t55,t56,t57,t58,t59,t60,t61,t62,t63,t64,t65,t66,t67,t68,t69,t70,t71,t72,t73,t74,t75,t76,t77,t78,t79,t80,t81,t82,t83,t84,t85,t86,t87,t88,t89,t90,t91,t92,t93,t94,t95,t96,t97,t98,t99,t100,t101,t102,t103,t104,t105,t106,t107,t108,t109,t110,t111,t112,t113,t114,t115,t116,t117,t118,t119,t120,t121,t122,t123,t124,t125,t126,t127,t128,t129,t130,t131,t132,t133,t134,t135,t136,t137,t138,t139,t140,t141,t142,t143,t144,t145,t146,t147,t148,t149,t150,t151,t152,t153,t154,t155,t156,t157,t158,t159,t160,t161,t162,t163,t164,t165,t166,t167,t168,t169,t170,t171,t172,t173,t174,t175,t176,t177,t178,t179,t180,t181,t182,t183,t184,t185,t186,t187,t188,t189,t190,t191,t192,t193,t194,t195,t196,t197,t198,t199,t200,t201,t202,t203,t204,t205,t206,t207,t208,t209,t210,t211,t212,t213,t214,t215,t216,t217,t218,t219,t220,t221,t222,t223,t224,t225,t226,t227,t228,t229,t230,t231,t232,t233,t234,t235,t236,t237,t238,t239,t240,t241,t242,t243,t244,t245,t246,t247,t248,t249,t250,t251,t252,t253,t254,t255,t256,t257; 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 = p[9]; t10 = p[10]; t11 = p[11]; t12 = p[12]; t13 = p[13]; t14 = p[14]; t15 = p[15]; t16 = p[16]; t17 = p[17]; t18 = p[18]; t19 = p[19]; t20 = p[20]; t21 = p[21]; t22 = p[22]; t23 = p[23]; t24 = p[24]; t25 = p[25]; t26 = p[26]; t27 = p[27]; t28 = p[28]; t29 = p[29]; t30 = p[30]; t31 = p[31]; t32 = p[32]; t33 = p[33]; t34 = p[34]; t35 = p[35]; t36 = p[36]; t37 = p[37]; t38 = p[38]; t39 = p[39]; t40 = p[40]; t41 = p[41]; t42 = p[42]; t43 = p[43]; t44 = p[44]; t45 = p[45]; t46 = p[46]; t47 = p[47]; t48 = p[48]; t49 = p[49]; t50 = p[50]; t51 = p[51]; t52 = p[52]; t53 = p[53]; t54 = p[54]; t55 = p[55]; t56 = p[56]; t57 = p[57]; t58 = p[58]; t59 = p[59]; t60 = p[60]; t61 = p[61]; t62 = p[62]; t63 = p[63]; t64 = p[64]; t65 = p[65]; t66 = p[66]; t67 = p[67]; t68 = p[68]; t69 = p[69]; t70 = p[70]; t71 = p[71]; t72 = p[72]; t73 = p[73]; t74 = p[74]; t75 = p[75]; t76 = p[76]; t77 = p[77]; t78 = p[78]; t79 = p[79]; t80 = p[80]; t81 = p[81]; t82 = p[82]; t83 = p[83]; t84 = p[84]; t85 = p[85]; t86 = p[86]; t87 = p[87]; t88 = p[88]; t89 = p[89]; t90 = p[90]; t91 = p[91]; t92 = p[92]; t93 = p[93]; t94 = p[94]; t95 = p[95]; t96 = p[96]; t97 = p[97]; t98 = p[98]; t99 = p[99]; t100 = p[100]; t101 = p[101]; t102 = p[102]; t103 = p[103]; t104 = p[104]; t105 = p[105]; t106 = p[106]; t107 = p[107]; t108 = p[108]; t109 = p[109]; t110 = p[110]; t111 = p[111]; t112 = p[112]; t113 = p[113]; t114 = p[114]; t115 = p[115]; t116 = p[116]; t117 = p[117]; t118 = p[118]; t119 = p[119]; t120 = p[120]; t121 = p[121]; t122 = p[122]; t123 = p[123]; t124 = p[124]; t125 = p[125]; t126 = p[126]; t127 = p[127]; t128 = p[128]; t129 = +1; t130 = x; t131 = x; t132 = x; t133 = x; t134 = x; t135 = x; t136 = x; t137 = x; t138 = x; t139 = x; t140 = x; t141 = x; t142 = x; t143 = x; t144 = x; t145 = x; t146 = x; t147 = x; t148 = x; t149 = x; t150 = x; t151 = x; t152 = x; t153 = x; t154 = x; t155 = x; t156 = x; t157 = x; t158 = x; t159 = x; t160 = x; t161 = x; t162 = x; t163 = x; t164 = x; t165 = x; t166 = x; t167 = x; t168 = x; t169 = x; t170 = x; t171 = x; t172 = x; t173 = x; t174 = x; t175 = x; t176 = x; t177 = x; t178 = x; t179 = x; t180 = x; t181 = x; t182 = x; t183 = x; t184 = x; t185 = x; t186 = x; t187 = x; t188 = x; t189 = x; t190 = x; t191 = x; t192 = x; t193 = x; t194 = x; t195 = x; t196 = x; t197 = x; t198 = x; t199 = x; t200 = x; t201 = x; t202 = x; t203 = x; t204 = x; t205 = x; t206 = x; t207 = x; t208 = x; t209 = x; t210 = x; t211 = x; t212 = x; t213 = x; t214 = x; t215 = x; t216 = x; t217 = x; t218 = x; t219 = x; t220 = x; t221 = x; t222 = x; t223 = x; t224 = x; t225 = x; t226 = x; t227 = x; t228 = x; t229 = x; t230 = x; t231 = x; t232 = x; t233 = x; t234 = x; t235 = x; t236 = x; t237 = x; t238 = x; t239 = x; t240 = x; t241 = x; t242 = x; t243 = x; t244 = x; t245 = x; t246 = x; t247 = x; t248 = x; t249 = x; t250 = x; t251 = x; t252 = x; t253 = x; t254 = x; t255 = x; t256 = x; t257 = x; // up-level 0 t130 = t129 * t130; t132 = t131 * t132; t134 = t133 * t134; t136 = t135 * t136; t138 = t137 * t138; t140 = t139 * t140; t142 = t141 * t142; t144 = t143 * t144; t146 = t145 * t146; t148 = t147 * t148; t150 = t149 * t150; t152 = t151 * t152; t154 = t153 * t154; t156 = t155 * t156; t158 = t157 * t158; t160 = t159 * t160; t162 = t161 * t162; t164 = t163 * t164; t166 = t165 * t166; t168 = t167 * t168; t170 = t169 * t170; t172 = t171 * t172; t174 = t173 * t174; t176 = t175 * t176; t178 = t177 * t178; t180 = t179 * t180; t182 = t181 * t182; t184 = t183 * t184; t186 = t185 * t186; t188 = t187 * t188; t190 = t189 * t190; t192 = t191 * t192; t194 = t193 * t194; t196 = t195 * t196; t198 = t197 * t198; t200 = t199 * t200; t202 = t201 * t202; t204 = t203 * t204; t206 = t205 * t206; t208 = t207 * t208; t210 = t209 * t210; t212 = t211 * t212; t214 = t213 * t214; t216 = t215 * t216; t218 = t217 * t218; t220 = t219 * t220; t222 = t221 * t222; t224 = t223 * t224; t226 = t225 * t226; t228 = t227 * t228; t230 = t229 * t230; t232 = t231 * t232; t234 = t233 * t234; t236 = t235 * t236; t238 = t237 * t238; t240 = t239 * t240; t242 = t241 * t242; t244 = t243 * t244; t246 = t245 * t246; t248 = t247 * t248; t250 = t249 * t250; t252 = t251 * t252; t254 = t253 * t254; t256 = t255 * t256; // up-level 1 t132 = t130 * t132; t136 = t134 * t136; t140 = t138 * t140; t144 = t142 * t144; t148 = t146 * t148; t152 = t150 * t152; t156 = t154 * t156; t160 = t158 * t160; t164 = t162 * t164; t168 = t166 * t168; t172 = t170 * t172; t176 = t174 * t176; t180 = t178 * t180; t184 = t182 * t184; t188 = t186 * t188; t192 = t190 * t192; t196 = t194 * t196; t200 = t198 * t200; t204 = t202 * t204; t208 = t206 * t208; t212 = t210 * t212; t216 = t214 * t216; t220 = t218 * t220; t224 = t222 * t224; t228 = t226 * t228; t232 = t230 * t232; t236 = t234 * t236; t240 = t238 * t240; t244 = t242 * t244; t248 = t246 * t248; t252 = t250 * t252; t256 = t254 * t256; // up-level 2 t136 = t132 * t136; t144 = t140 * t144; t152 = t148 * t152; t160 = t156 * t160; t168 = t164 * t168; t176 = t172 * t176; t184 = t180 * t184; t192 = t188 * t192; t200 = t196 * t200; t208 = t204 * t208; t216 = t212 * t216; t224 = t220 * t224; t232 = t228 * t232; t240 = t236 * t240; t248 = t244 * t248; t256 = t252 * t256; // up-level 3 t144 = t136 * t144; t160 = t152 * t160; t176 = t168 * t176; t192 = t184 * t192; t208 = t200 * t208; t224 = t216 * t224; t240 = t232 * t240; t256 = t248 * t256; // up-level 4 t160 = t144 * t160; t192 = t176 * t192; t224 = t208 * t224; t256 = t240 * t256; // up-level 5 t192 = t160 * t192; t256 = t224 * t256; // up-level 6 t256 = t192 * t256; // up-level 7 // down-level 8 // down-level 9 t224 = t192 * t224; // down-level 10 t176 = t160 * t176; t208 = t192 * t208; t240 = t224 * t240; // down-level 11 t152 = t144 * t152; t168 = t160 * t168; t184 = t176 * t184; t200 = t192 * t200; t216 = t208 * t216; t232 = t224 * t232; t248 = t240 * t248; // down-level 12 t140 = t136 * t140; t148 = t144 * t148; t156 = t152 * t156; t164 = t160 * t164; t172 = t168 * t172; t180 = t176 * t180; t188 = t184 * t188; t196 = t192 * t196; t204 = t200 * t204; t212 = t208 * t212; t220 = t216 * t220; t228 = t224 * t228; t236 = t232 * t236; t244 = t240 * t244; t252 = t248 * t252; // down-level 13 t134 = t132 * t134; t138 = t136 * t138; t142 = t140 * t142; t146 = t144 * t146; t150 = t148 * t150; t154 = t152 * t154; t158 = t156 * t158; t162 = t160 * t162; t166 = t164 * t166; t170 = t168 * t170; t174 = t172 * t174; t178 = t176 * t178; t182 = t180 * t182; t186 = t184 * t186; t190 = t188 * t190; t194 = t192 * t194; t198 = t196 * t198; t202 = t200 * t202; t206 = t204 * t206; t210 = t208 * t210; t214 = t212 * t214; t218 = t216 * t218; t222 = t220 * t222; t226 = t224 * t226; t230 = t228 * t230; t234 = t232 * t234; t238 = t236 * t238; t242 = t240 * t242; t246 = t244 * t246; t250 = t248 * t250; t254 = t252 * t254; // down-level 14 t131 = t130 * t131; t133 = t132 * t133; t135 = t134 * t135; t137 = t136 * t137; t139 = t138 * t139; t141 = t140 * t141; t143 = t142 * t143; t145 = t144 * t145; t147 = t146 * t147; t149 = t148 * t149; t151 = t150 * t151; t153 = t152 * t153; t155 = t154 * t155; t157 = t156 * t157; t159 = t158 * t159; t161 = t160 * t161; t163 = t162 * t163; t165 = t164 * t165; t167 = t166 * t167; t169 = t168 * t169; t171 = t170 * t171; t173 = t172 * t173; t175 = t174 * t175; t177 = t176 * t177; t179 = t178 * t179; t181 = t180 * t181; t183 = t182 * t183; t185 = t184 * t185; t187 = t186 * t187; t189 = t188 * t189; t191 = t190 * t191; t193 = t192 * t193; t195 = t194 * t195; t197 = t196 * t197; t199 = t198 * t199; t201 = t200 * t201; t203 = t202 * t203; t205 = t204 * t205; t207 = t206 * t207; t209 = t208 * t209; t211 = t210 * t211; t213 = t212 * t213; t215 = t214 * t215; t217 = t216 * t217; t219 = t218 * t219; t221 = t220 * t221; t223 = t222 * t223; t225 = t224 * t225; t227 = t226 * t227; t229 = t228 * t229; t231 = t230 * t231; t233 = t232 * t233; t235 = t234 * t235; t237 = t236 * t237; t239 = t238 * t239; t241 = t240 * t241; t243 = t242 * t243; t245 = t244 * t245; t247 = t246 * t247; t249 = t248 * t249; t251 = t250 * t251; t253 = t252 * t253; t255 = t254 * t255; t257 = t256 * t257; // multiply p[i] with x^i t129 = t0 * t129; t130 = t1 * t130; t131 = t2 * t131; t132 = t3 * t132; t133 = t4 * t133; t134 = t5 * t134; t135 = t6 * t135; t136 = t7 * t136; t137 = t8 * t137; t138 = t9 * t138; t139 = t10 * t139; t140 = t11 * t140; t141 = t12 * t141; t142 = t13 * t142; t143 = t14 * t143; t144 = t15 * t144; t145 = t16 * t145; t146 = t17 * t146; t147 = t18 * t147; t148 = t19 * t148; t149 = t20 * t149; t150 = t21 * t150; t151 = t22 * t151; t152 = t23 * t152; t153 = t24 * t153; t154 = t25 * t154; t155 = t26 * t155; t156 = t27 * t156; t157 = t28 * t157; t158 = t29 * t158; t159 = t30 * t159; t160 = t31 * t160; t161 = t32 * t161; t162 = t33 * t162; t163 = t34 * t163; t164 = t35 * t164; t165 = t36 * t165; t166 = t37 * t166; t167 = t38 * t167; t168 = t39 * t168; t169 = t40 * t169; t170 = t41 * t170; t171 = t42 * t171; t172 = t43 * t172; t173 = t44 * t173; t174 = t45 * t174; t175 = t46 * t175; t176 = t47 * t176; t177 = t48 * t177; t178 = t49 * t178; t179 = t50 * t179; t180 = t51 * t180; t181 = t52 * t181; t182 = t53 * t182; t183 = t54 * t183; t184 = t55 * t184; t185 = t56 * t185; t186 = t57 * t186; t187 = t58 * t187; t188 = t59 * t188; t189 = t60 * t189; t190 = t61 * t190; t191 = t62 * t191; t192 = t63 * t192; t193 = t64 * t193; t194 = t65 * t194; t195 = t66 * t195; t196 = t67 * t196; t197 = t68 * t197; t198 = t69 * t198; t199 = t70 * t199; t200 = t71 * t200; t201 = t72 * t201; t202 = t73 * t202; t203 = t74 * t203; t204 = t75 * t204; t205 = t76 * t205; t206 = t77 * t206; t207 = t78 * t207; t208 = t79 * t208; t209 = t80 * t209; t210 = t81 * t210; t211 = t82 * t211; t212 = t83 * t212; t213 = t84 * t213; t214 = t85 * t214; t215 = t86 * t215; t216 = t87 * t216; t217 = t88 * t217; t218 = t89 * t218; t219 = t90 * t219; t220 = t91 * t220; t221 = t92 * t221; t222 = t93 * t222; t223 = t94 * t223; t224 = t95 * t224; t225 = t96 * t225; t226 = t97 * t226; t227 = t98 * t227; t228 = t99 * t228; t229 = t100 * t229; t230 = t101 * t230; t231 = t102 * t231; t232 = t103 * t232; t233 = t104 * t233; t234 = t105 * t234; t235 = t106 * t235; t236 = t107 * t236; t237 = t108 * t237; t238 = t109 * t238; t239 = t110 * t239; t240 = t111 * t240; t241 = t112 * t241; t242 = t113 * t242; t243 = t114 * t243; t244 = t115 * t244; t245 = t116 * t245; t246 = t117 * t246; t247 = t118 * t247; t248 = t119 * t248; t249 = t120 * t249; t250 = t121 * t250; t251 = t122 * t251; t252 = t123 * t252; t253 = t124 * t253; t254 = t125 * t254; t255 = t126 * t255; t256 = t127 * t256; t257 = t128 * t257; // sum up p[i]*x^i by a binary tree // level 0 t129 = t129 + t130; t130 = t131 + t132; t131 = t133 + t134; t132 = t135 + t136; t133 = t137 + t138; t134 = t139 + t140; t135 = t141 + t142; t136 = t143 + t144; t137 = t145 + t146; t138 = t147 + t148; t139 = t149 + t150; t140 = t151 + t152; t141 = t153 + t154; t142 = t155 + t156; t143 = t157 + t158; t144 = t159 + t160; t145 = t161 + t162; t146 = t163 + t164; t147 = t165 + t166; t148 = t167 + t168; t149 = t169 + t170; t150 = t171 + t172; t151 = t173 + t174; t152 = t175 + t176; t153 = t177 + t178; t154 = t179 + t180; t155 = t181 + t182; t156 = t183 + t184; t157 = t185 + t186; t158 = t187 + t188; t159 = t189 + t190; t160 = t191 + t192; t161 = t193 + t194; t162 = t195 + t196; t163 = t197 + t198; t164 = t199 + t200; t165 = t201 + t202; t166 = t203 + t204; t167 = t205 + t206; t168 = t207 + t208; t169 = t209 + t210; t170 = t211 + t212; t171 = t213 + t214; t172 = t215 + t216; t173 = t217 + t218; t174 = t219 + t220; t175 = t221 + t222; t176 = t223 + t224; t177 = t225 + t226; t178 = t227 + t228; t179 = t229 + t230; t180 = t231 + t232; t181 = t233 + t234; t182 = t235 + t236; t183 = t237 + t238; t184 = t239 + t240; t185 = t241 + t242; t186 = t243 + t244; t187 = t245 + t246; t188 = t247 + t248; t189 = t249 + t250; t190 = t251 + t252; t191 = t253 + t254; t192 = t255 + t256; t193 = t257; // level 0 t129 = t129 + t130; t130 = t131 + t132; t131 = t133 + t134; t132 = t135 + t136; t133 = t137 + t138; t134 = t139 + t140; t135 = t141 + t142; t136 = t143 + t144; t137 = t145 + t146; t138 = t147 + t148; t139 = t149 + t150; t140 = t151 + t152; t141 = t153 + t154; t142 = t155 + t156; t143 = t157 + t158; t144 = t159 + t160; t145 = t161 + t162; t146 = t163 + t164; t147 = t165 + t166; t148 = t167 + t168; t149 = t169 + t170; t150 = t171 + t172; t151 = t173 + t174; t152 = t175 + t176; t153 = t177 + t178; t154 = t179 + t180; t155 = t181 + t182; t156 = t183 + t184; t157 = t185 + t186; t158 = t187 + t188; t159 = t189 + t190; t160 = t191 + t192; t161 = t193; // level 0 t129 = t129 + t130; t130 = t131 + t132; t131 = t133 + t134; t132 = t135 + t136; t133 = t137 + t138; t134 = t139 + t140; t135 = t141 + t142; t136 = t143 + t144; t137 = t145 + t146; t138 = t147 + t148; t139 = t149 + t150; t140 = t151 + t152; t141 = t153 + t154; t142 = t155 + t156; t143 = t157 + t158; t144 = t159 + t160; t145 = t161; // level 0 t129 = t129 + t130; t130 = t131 + t132; t131 = t133 + t134; t132 = t135 + t136; t133 = t137 + t138; t134 = t139 + t140; t135 = t141 + t142; t136 = t143 + t144; t137 = t145; // level 0 t129 = t129 + t130; t130 = t131 + t132; t131 = t133 + t134; t132 = t135 + t136; t133 = t137; // level 0 t129 = t129 + t130; t130 = t131 + t132; t131 = t133; // level 0 t129 = t129 + t130; t130 = t131; // level 0 t129 = t129 + t130; // final result y = t129; }