Home | History | Annotate | Download | only in demos
      1 #include <math.h>
      2 #include <stdio.h>
      3 #include <pixman.h>
      4 
      5 /* This code is basically the output of Maxima translated into C.
      6  *
      7  * See http://maxima.sourceforge.net/
      8  */
      9 static void
     10 quad_to_quad (double x0, double y0,
     11 	      double x1, double y1,
     12 	      double x2, double y2,
     13 	      double x3, double y3,
     14 
     15 	      double px0, double py0,
     16 	      double px1, double py1,
     17 	      double px2, double py2,
     18 	      double px3, double py3,
     19 
     20 	      struct pixman_f_transform *trans)
     21 {
     22     double
     23 	t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, t18,
     24 	t19, t20, t21, t22, t23, t24, t25, t26, t27, t28, t29, t30, t31, t32, t33, t34,
     25 	t35, t36, t37, t38, t39, t40, t41, t42, t43, t44, t45, t46, t47, t48, t49, t50,
     26 	t51, t52, t53, t54, t55, t56, t57, t58, t59, t60, t61, t62, t63, t64, t65, t66,
     27 	t67, t68, t69, t70, t71, t72, t73, t74, t75, t76, t77, t78, t79, t80, t81, t82,
     28 	t83, t84, t85, t86, t87, t88, t89, t90, t91, t92, t93, t94, t95, t96, t97, t98,
     29 	t99, t100, t101, t102, t103, t104, t105, t106, t107, t108, t109, t110, t111,
     30 	t112, t113, t114, t115, t116, t117, t118, t119, t120, t121, t122, t123,
     31 	t124, t125, t126, t127, t128, t129, t130, t131, t132, t133, t134, t135,
     32 	t136, t137, t138, t139, t140, t141, t142, t143, t144, t145, t146, t147,
     33 	t148, t149, t150, t151, t152, t153, t154, t155, t156, t157, t158, t159,
     34 	t160, t161, t162, t163, t164, t165, t166, t167, t168, t169, t170, t171,
     35 	t172, t173, t174, t175, t176, t177, t178, t179, t180, t181, t182, t183,
     36 	t184, t185, t186, t187, t188, t189, t190, t191, t192, t193, t194, t195,
     37 	t196, t197, t198, t199, t200, t201, t202, t203, t204, t205, t206, t207,
     38 	t208, t209, t210, t211, t212, t213, t214, t215, t216, t217, t218, t219,
     39 	t220, t221, t222, t223, t224, t225, t226, t227, t228, t229, t230, t231,
     40 	t232, t233, t234, t235, t236, t237, t238, t239, t240, t241, t242, t243,
     41 	t244, t245, t246, t247, t248, t249, t250, t251, t252, t253, t254, t255,
     42 	t256, t257, t258, t259, t260, t261, t262, t263, t264, t265, t266, t267,
     43 	t268, t269, t270, t271, t272, t273, t274, t275, t276, t277, t278, t279,
     44 	t280, t281, t282, t283, t284, t285, t286, t287, t288, t289, t290, t291,
     45 	t292, t293, t294, t295, t296, t297, t298, t299, t300, t301, t302, t303,
     46 	t304, t305, t306, t307, t308, t309, t310, t311, t312, t313, t314, t315,
     47 	t316, t317, t318, t319, t320, t321, t322, t323, t324, t325, t326, t327,
     48 	t328, t329, t330, t331, t332, t333, t334, t335, t336, t337, t338, t339,
     49 	t340, t341, t342, t343, t344, t345, t346, t347, t348, t349, t350, t351,
     50 	t352, t353, t354, t355, t356, t357, t358, t359, t360, t361, t362, t363,
     51 	t364, t365, t366, t367, t368, t369, t370, t371, t372, t373, t374, t375,
     52 	t376, t377, t378, t379, t380, t381, t382, t383, t384, t385, t386, t387,
     53 	t388, t389, t390, t391, t392, t393, t394, t395, t396, t397, t398, t399,
     54 	t400, t401, t402, t403, t404, t405, t406, t407, t408, t409, t410, t411,
     55 	t412, t413, t414, t415, t416, t417, t418, t419, t420, t421, t422, t423,
     56 	t424, t425, t426, t427, t428, t429, t430, t431, t432, t433, t434, t435,
     57 	t436, t437, t438, t439, t440, t441, t442, t443, t444, t445, t446, t447,
     58 	t448, t449, t450, t451, t452, t453, t454, t455, t456, t457, t458, t459,
     59 	t460, t461, t462, t463, t464, t465, t466, t467, t468, t469, t470, t471,
     60 	t472, t473, t474, t475, t476, t477, t478, t479, t480, t481, t482, t483,
     61 	t484, t485, t486, t487, t488, t489, t490, t491, t492, t493, t494, t495,
     62 	t496, t497, t498, t499, t500, t501, t502, t503, t504, t505, t506, t507,
     63 	t508, t509, t510, t511, t512, t513, t514, t515, t516, t517, t518, t519,
     64 	t520, t521, t522, t523, t524, t525, t526, t527, t528, t529, t530, t531,
     65 	t532, t533, t534, t535, t536, t537, t538, t539, t540, t541, t542, t543,
     66 	t544, t545, t546, t547, t548, t549, t550, t551, t552, t553, t554, t555,
     67 	t556, t557, t558, t559, t560, t561, t562, t563, t564, t565, t566, t567,
     68 	t568, t569, t570, t571, t572, t573, t574, t575, t576, t577, t578, t579,
     69 	t580, t581, t582, t583, t584, t585, t586, t587, t588, t589, t590, t591,
     70 	t592, t593, t594, t595, t596, t597, t598, t599, t600, t601, t602, t603,
     71 	t604, t605, t606, t607, t608, t609, t610, t611, t612, t613, t614, t615,
     72 	t616, t617, t618, t619, t620, t621, t622, t623, t624, t625, t626, t627,
     73 	t628, t629, t630, t631, t632, t633, t634, t635, t636, t637, t638, t639,
     74 	t640, t641, t642, t643, t644, t645, t646, t647, t648, t649, t650, t651,
     75 	t652, t653, t654, t655, t656, t657, t658, t659, t660, t661, t662, t663,
     76 	t664, t665, t666, t667, t668, t669, t670, t671, t672, t673, t674, t675,
     77 	t676, t677, t678, t679, t680, t681, t682, t683, t684, t685, t686, t687,
     78 	t688, t689, t690, t691, t692, t693, t694, t695, t696, t697, t698, t699,
     79 	t700, t701, t702, t703, t704, t705, t706, t707, t708, t709, t710, t711,
     80 	t712, t713, t714, t715, t716, t717, t718, t719, t720, t721, t722, t723,
     81 	t724, t725, t726, t727, t728, t729, t730, t731, t732, t733, t734, t735,
     82 	t736, t737, t738, t739, t740, t741, t742, t743, t744, t745, t746, t747,
     83 	t748, t749, t750, t751, t752, t753, t754, t755, t756, t757, t758, t759,
     84 	t760, t761, t762, t763, t764, t765, t766, t767, t768, t769, t770, t771,
     85 	t772, t773, t774, t775, t776, t777, t778, t779, t780, t781, t782, t783,
     86 	t784, t785, t786, t787, t788, t789, t790, t791, t792, t793, t794, t795,
     87 	t796, t797, t798, t799, t800, t801, t802, t803, t804, t805, t806, t807,
     88 	t808, t809, t810, t811, t812, t813, t814, t815, t816, t817, t818, t819,
     89 	t820, t821, t822, t823, t824, t825, t826, t827, t828, t829, t830, t831,
     90 	t832, t833, t834, t835, t836, t837, t838, t839, t840, t841, t842, t843,
     91 	t844, t845, t846, t847, t848, t849, t850, t851, t852, t853, t854, t855,
     92 	t856, t857, t858, t859, t860, t861, t862, t863, t864, t865, t866, t867,
     93 	t868, t869, t870, t871, t872, t873, t874, t875, t876, t877, t878, t879,
     94 	t880, t881, t882, t883, t884, t885, t886, t887, t888, t889, t890, t891,
     95 	t892, t893, t894, t895, t896, t897, t898, t899, t900, t901, t902, t903,
     96 	t904, t905, t906, t907, t908, t909, t910, t911, t912, t913, t914, t915,
     97 	t916, t917, t918, t919, t920, t921, t922, t923, t924, t925, t926, t927,
     98 	t928, t929, t930, t931, t932, t933, t934, t935, t936, t937, t938, t939,
     99 	t940, t941, t942, t943, t944, t945, t946, t947, t948, t949, t950, t951,
    100 	t952, t953, t954, t955, t956, t957, t958, t959, t960, t961, t962, t963,
    101 	t964, t965, t966, t967, t968, t969, t970, t971, t972, t973, t974, t975,
    102 	t976, t977, t978, t979, t980, t981, t982, t983, t984, t985, t986, t987,
    103 	t988, t989, t990, t991, t992, t993, t994, t995, t996, t997, t998, t999,
    104 	t1000, t1001, t1002, t1003, t1004, t1005, t1006, t1007, t1008, t1009,
    105 	t1010, t1011, t1012, t1013, t1014, t1015, t1016, t1017, t1018, t1019,
    106 	t1020, t1021, t1022, t1023, t1024, t1025, t1026, t1027, t1028, t1029,
    107 	t1030, t1031, t1032, t1033, t1034, t1035, t1036, t1037, t1038, t1039,
    108 	t1040, t1041, t1042, t1043, t1044, t1045, t1046, t1047, t1048, t1049,
    109 	t1050, t1051, t1052, t1053, t1054, t1055, t1056, t1057, t1058, t1059,
    110 	t1060, t1061, t1062, t1063, t1064, t1065, t1066, t1067, t1068, t1069,
    111 	t1070, t1071, t1072, t1073;
    112 
    113     t1 = y1 * y1;
    114     t2 = x3 * x3;
    115     t3 = px2 * px3 * t2;
    116     t4 = (t3 - px2 * px3 * x2 * x3) * y2;
    117     t5 = x2 * x2;
    118     t6 = px2 * px3 * t5 * y3;
    119 
    120     t7 = - px2 * px3 * x2 * x3 * y3;
    121     t8 = py1 * (t7 + t6 + t4);
    122     t9 = px3 * py2 * x2 * x3;
    123 
    124     t10 = - px3 * py2 * t2;
    125     t11 = (t10 + t9) * y2;
    126     t12 = - px2 * py3 * t5 * y3;
    127 
    128     t13 = px2 * py3 * x2 * x3 * y3;
    129     t14 = y0 * y0;
    130     t15 = - px3 * py2;
    131     t16 = px2 * py3;
    132 
    133     t17 = t16 + t15;
    134     t18 = t17 * x2;
    135     t19 = px3 * py2 * x3;
    136     t20 = - px2 * py3 * x3;
    137 
    138     t21 = t20 + t19 + t18;
    139     t22 = px2 * px3 * t5;
    140     t23 = - 2 * px2 * px3 * x2 * x3;
    141 
    142     t24 = py1 * (t3 + t23 + t22);
    143     t25 = - px2 * py3 * t5;
    144     t26 = px2 * py3 * x3;
    145 
    146     t27 = x2 * (t26 + t19);
    147     t28 = t10 + t27 + t25;
    148     t29 = x1 * x1;
    149     t30 = px3 * py2;
    150 
    151     t31 = - px2 * py3;
    152     t32 = t31 + t30;
    153     t33 = t32 * y2;
    154     t34 = - px3 * py2 * y3;
    155 
    156     t35 = px2 * py3 * y3;
    157     t36 = t35 + t34 + t33;
    158     t37 = - px2 * px3 * t2;
    159 
    160     t38 = (t37 + px2 * px3 * x2 * x3) * y2;
    161     t39 = - px2 * px3 * t5 * y3;
    162 
    163     t40 = px2 * px3 * x2 * x3 * y3;
    164     t41 = py1 * (t40 + t39 + t38);
    165     t42 = - px2 * py3 * x2 * x3;
    166 
    167     t43 = px3 * py2 * t2;
    168     t44 = (t43 + t42) * y2;
    169     t45 = px2 * py3 * t5 * y3;
    170 
    171     t46 = - px3 * py2 * x2 * x3 * y3;
    172     t47 = (px2 * px3 * x3 - px2 * px3 * x2) * y2;
    173 
    174     t48 = px2 * px3 * x2 * y3;
    175     t49 = - px2 * px3 * x3 * y3;
    176     t50 = py1 * (t49 + t48 + t47);
    177 
    178     t51 = px2 * py3 * x2;
    179     t52 = - 2 * px3 * py2 * x3;
    180     t53 = (t26 + t52 + t51) * y2;
    181 
    182     t54 = px3 * py2 * x3 * y3;
    183     t55 = px3 * py2 * y3;
    184     t56 = - 2 * px2 * py3 * y3;
    185     t57 = t56 + t55;
    186 
    187     t58 = x2 * t57;
    188     t59 = - px2 * px3 * t5;
    189     t60 = 2 * px2 * px3 * x2 * x3;
    190     t61 = - px2;
    191 
    192     t62 = px3 + t61;
    193     t63 = t62 * x2;
    194     t64 = px2 * x3;
    195     t65 = - px3 * x3;
    196     t66 = t65 + t64 + t63;
    197 
    198     t67 = px2 * t5;
    199     t68 = - px2 * x3;
    200     t69 = x2 * (t65 + t68);
    201     t70 = px3 * t2;
    202 
    203     t71 = t70 + t69 + t67;
    204     t72 = - px3;
    205     t73 = t72 + px2;
    206     t74 = - px2 * y3;
    207     t75 = px3 * y3;
    208 
    209     t76 = t75 + t74 + t73 * y2;
    210     t77 = px2 * x2 * x3;
    211     t78 = - px3 * t2;
    212     t79 = - px2 * t5 * y3;
    213 
    214     t80 = px3 * x2 * x3 * y3;
    215     t81 = t80 + t79 + (t78 + t77) * y2;
    216 
    217     t82 = (px2 * px3 * x2 - px2 * px3 * x3) * y2;
    218     t83 = - px2 * px3 * x2 * y3;
    219 
    220     t84 = px2 * px3 * x3 * y3;
    221     t85 = - px2 * x2;
    222     t86 = 2 * px3 * x3;
    223     t87 = - px3 * x3 * y3;
    224 
    225     t88 = 2 * px2 * y3;
    226     t89 = - px3 * y3;
    227     t90 = t89 + t88;
    228     t91 = x2 * t90;
    229 
    230     t92 = t91 + t87 + (t86 + t68 + t85) * y2;
    231     t93 = px2 * py3 * t5;
    232     t94 = - px3 * py2 * x3;
    233 
    234     t95 = x2 * (t20 + t94);
    235     t96 = t32 * x2;
    236     t97 = t73 * x2;
    237     t98 = px3 * x3;
    238 
    239     t99 = t98 + t68 + t97;
    240     t100 = py1 * t99;
    241     t101 = - px2 * t5;
    242     t102 = x2 * (t98 + t64);
    243 
    244     t103 = t78 + t102 + t101;
    245     t104 = py1 * t103;
    246     t105 = - py2;
    247     t106 = py3 + t105;
    248 
    249     t107 = py2 * y3;
    250     t108 = - py3 * y3;
    251     t109 = t108 + t107 + t106 * y2;
    252     t110 = - px3 * x2 * x3;
    253 
    254     t111 = px2 * t5 * y3;
    255     t112 = - px2 * x2 * x3 * y3;
    256     t113 = t112 + t111 + (t70 + t110) * y2;
    257 
    258     t114 = - py2 * x3;
    259     t115 = py3 * x3;
    260     t116 = t115 + t114;
    261     t117 = py2 * x3 * y3;
    262 
    263     t118 = - py3 * x3 * y3;
    264     t119 = t118 + t117;
    265     t120 = x2 * t119;
    266 
    267     t121 = px1 * (t120 + x2 * t116 * y2);
    268     t122 = - px3 * py2 * x2;
    269     t123 = (t19 + t122) * y2;
    270 
    271     t124 = px2 * py3 * x2 * y3;
    272     t125 = - px2 * py3 * x3 * y3;
    273     t126 = px3 * x2;
    274 
    275     t127 = - px2 * x2 * y3;
    276     t128 = px2 * x3 * y3;
    277     t129 = t128 + t127 + (t65 + t126) * y2;
    278 
    279     t130 = - py3;
    280     t131 = t130 + py2;
    281     t132 = t131 * x2;
    282     t133 = py2 * x3;
    283     t134 = - py3 * x3;
    284 
    285     t135 = - py2 * x3 * y3;
    286     t136 = py3 * x3 * y3;
    287     t137 = - py2 * y3;
    288     t138 = py3 * y3;
    289 
    290     t139 = t138 + t137;
    291     t140 = x2 * t139;
    292 
    293     t141 = px1 * (t140 + t136 + t135 + (t134 + t133 + t132) * y2);
    294     t142 = y2 * y2;
    295 
    296     t143 = - px3 * py2 * x3 * y3;
    297     t144 = px2 * py3 * x3 * y3;
    298     t145 = t144 + t143;
    299 
    300     t146 = t142 * t145;
    301     t147 = y3 * y3;
    302     t148 = px3 * py2 * t147;
    303     t149 = - px2 * py3 * t147;
    304 
    305     t150 = t149 + t148;
    306     t151 = x2 * y2 * t150;
    307     t152 = t151 + t146;
    308     t153 = - px2 * py3 * y3;
    309 
    310     t154 = t153 + t55;
    311     t155 = t142 * t154;
    312     t156 = - px3 * py2 * t147;
    313 
    314     t157 = px2 * py3 * t147;
    315     t158 = t157 + t156;
    316     t159 = y2 * t158;
    317     t160 = t159 + t155;
    318 
    319     t161 = x0 * x0;
    320     t162 = py1 * t76;
    321     t163 = px1 * t109;
    322     t164 = px2 * y3;
    323     t165 = t89 + t164;
    324 
    325     t166 = - px2 * t147;
    326     t167 = px3 * t147;
    327     t168 = t167 + t166;
    328 
    329     t169 = y2 * t168 + t142 * t165;
    330     t170 = py1 * t169;
    331     t171 = py2 * t147;
    332 
    333     t172 = - py3 * t147;
    334     t173 = t172 + t171;
    335     t174 = y2 * t173 + t142 * t139;
    336 
    337     t175 = px1 * t174;
    338     t176 = t17 * t142;
    339     t177 = px2 * t147;
    340     t178 = - px3 * t147;
    341 
    342     t179 = t178 + t177 + t62 * t142;
    343     t180 = - py2 * t147;
    344     t181 = py3 * t147;
    345 
    346     t182 = t181 + t180 + t131 * t142;
    347 
    348     t183 = y1 * (px1 * t182 + py1 * t179 + t149 + t148 + t176)
    349 	+ t175 + t170 + t159 + t1 * (t163 + t162 + t35 + t34 + t33) + t155;
    350 
    351     t184 = - px2 * px3 * t2 * t142;
    352     t185 = 2 * px2 * px3 * x2 * x3 * y2 * y3;
    353 
    354     t186 = - px2 * px3 * t5 * t147;
    355     t187 = py1 * (t186 + t185 + t184);
    356 
    357     t188 = px3 * py2 * t2 * t142;
    358     t189 = x2 * y2 * (t125 + t143);
    359     t190 = px2 * py3 * t5 * t147;
    360 
    361     t191 = t190 + t189 + t188;
    362     t192 = px2 * px3 * x3 * t142;
    363     t193 = y2 * (t49 + t83);
    364 
    365     t194 = px2 * px3 * x2 * t147;
    366     t195 = py1 * (t194 + t193 + t192);
    367 
    368     t196 = - px3 * py2 * x3 * t142;
    369     t197 = 2 * px3 * py2 * x3 * y3;
    370     t198 = 2 * px2 * py3 * y3;
    371 
    372     t199 = t198 + t34;
    373     t200 = x2 * t199;
    374     t201 = y2 * (t200 + t125 + t197);
    375 
    376     t202 = - px2 * py3 * x2 * t147;
    377     t203 = - px2 * x3 * y3;
    378     t204 = px3 * x3 * y3;
    379 
    380     t205 = t204 + t203;
    381     t206 = t142 * t205;
    382     t207 = t178 + t177;
    383     t208 = x2 * y2 * t207;
    384 
    385     t209 = t208 + t206;
    386     t210 = px2 * px3 * t2 * t142;
    387     t211 = - 2 * px2 * px3 * x2 * x3 * y2 * y3;
    388 
    389     t212 = px2 * px3 * t5 * t147;
    390     t213 = - px3 * t2 * t142;
    391     t214 = x2 * y2 * (t204 + t128);
    392 
    393     t215 = - px2 * t5 * t147;
    394     t216 = t215 + t214 + t213;
    395     t217 = - px2 * px3 * x3 * t142;
    396 
    397     t218 = y2 * (t84 + t48);
    398     t219 = - px2 * px3 * x2 * t147;
    399     t220 = px3 * x3 * t142;
    400 
    401     t221 = - 2 * px3 * x3 * y3;
    402     t222 = - 2 * px2 * y3;
    403     t223 = t75 + t222;
    404     t224 = x2 * t223;
    405 
    406     t225 = y2 * (t224 + t221 + t128);
    407     t226 = px2 * x2 * t147;
    408     t227 = t226 + t225 + t220;
    409 
    410     t228 = t125 + t54;
    411     t229 = t142 * t228;
    412     t230 = x2 * y2 * t158;
    413     t231 = t87 + t128;
    414 
    415     t232 = t142 * t231;
    416     t233 = x2 * y2 * t168;
    417     t234 = t233 + t232;
    418     t235 = py1 * t234;
    419 
    420     t236 = - px3 * py2 * t2 * t142;
    421     t237 = x2 * y2 * (t144 + t54);
    422 
    423     t238 = - px2 * py3 * t5 * t147;
    424     t239 = px3 * t2 * t142;
    425     t240 = x2 * y2 * (t87 + t203);
    426 
    427     t241 = px2 * t5 * t147;
    428     t242 = t241 + t240 + t239;
    429     t243 = py1 * t242;
    430 
    431     t244 = px2 * py3 * x3 * t142;
    432     t245 = - px2 * py3 * x2 * y3;
    433     t246 = y2 * (t143 + t245);
    434 
    435     t247 = px3 * py2 * x2 * t147;
    436     t248 = - px2 * x3 * t142;
    437     t249 = px2 * x2 * y3;
    438 
    439     t250 = y2 * (t204 + t249);
    440     t251 = - px3 * x2 * t147;
    441     t252 = t251 + t250 + t248;
    442 
    443     t253 = t134 + t133;
    444     t254 = t253 * t142;
    445     t255 = t108 + t107;
    446     t256 = x2 * t255;
    447 
    448     t257 = t256 + t136 + t135;
    449     t258 = y2 * t257;
    450     t259 = t181 + t180;
    451     t260 = x2 * t259;
    452 
    453     t261 = px1 * (t260 + t258 + t254);
    454     t262 = py1 * (t37 + t60 + t59);
    455 
    456     t263 = t43 + t95 + t93;
    457     t264 = px1 * t263;
    458     t265 = t26 + t94;
    459     t266 = x2 * t265 * y2;
    460 
    461     t267 = x2 * t228;
    462     t268 = t267 + t266;
    463     t269 = py1 * (t84 + t83 + t82);
    464 
    465     t270 = - 2 * px2 * py3;
    466     t271 = (t26 + (t270 + t30) * x2) * y2;
    467     t272 = px3 * py2 * x2 * y3;
    468 
    469     t273 = - 2 * px3 * py2 * x3 * y3;
    470     t274 = t149 + t148 + t176;
    471 
    472     t275 = py1 * (t212 + t211 + t210);
    473     t276 = t238 + t237 + t236;
    474     t277 = px1 * t276;
    475 
    476     t278 = py1 * (t219 + t218 + t217);
    477     t279 = 2 * px3 * py2 * x3;
    478     t280 = t20 + t279;
    479 
    480     t281 = t280 * t142;
    481     t282 = - px3 * py2 * x2 * y3;
    482     t283 = y2 * (t125 + t282);
    483 
    484     t284 = 2 * px2 * py3 * t147;
    485     t285 = x2 * (t284 + t156);
    486     t286 = px1 * t103;
    487 
    488     t287 = t98 + t68;
    489     t288 = x2 * t287 * y2;
    490     t289 = x2 * t231;
    491     t290 = t289 + t288;
    492 
    493     t291 = 2 * px2;
    494     t292 = - px3 * x2 * y3;
    495     t293 = 2 * px3 * x3 * y3;
    496 
    497     t294 = t293 + t203 + t292 + (t68 + (t72 + t291) * x2) * y2;
    498     t295 = px1 * t242;
    499 
    500     t296 = - 2 * px3 * x3;
    501     t297 = t296 + t64;
    502     t298 = px3 * x2 * y3;
    503     t299 = y2 * (t128 + t298);
    504 
    505     t300 = - 2 * px2 * t147;
    506     t301 = x2 * (t167 + t300) + t299 + t297 * t142;
    507     t302 = py1 * t71;
    508 
    509     t303 = py1 * t290;
    510     t304 = 2 * py2 * x3;
    511     t305 = - 2 * py3 * x3;
    512     t306 = - 2 * py2 * x3 * y3;
    513 
    514     t307 = 2 * py3 * x3 * y3;
    515     t308 = t307 + t306;
    516     t309 = - 2 * px2 * py3 * x3;
    517 
    518     t310 = (t309 + t19 + t51) * y2;
    519     t311 = - 2 * px3 * py2 * y3;
    520     t312 = t35 + t311;
    521 
    522     t313 = x2 * t312;
    523     t314 = 2 * px2 * x3;
    524     t315 = 2 * px3 * y3;
    525     t316 = t315 + t74;
    526 
    527     t317 = x2 * t316;
    528     t318 = t317 + t87 + (t65 + t314 + t85) * y2;
    529     t319 = t106 * x2;
    530 
    531     t320 = px1 * (t256 + t118 + t117 + (t115 + t114 + t319) * y2);
    532     t321 = py1 * t216;
    533 
    534     t322 = 2 * px2 * py3 * x3 * y3;
    535     t323 = 2 * px3 * py2 * y3;
    536     t324 = t153 + t323;
    537 
    538     t325 = x2 * t324;
    539     t326 = y2 * (t325 + t322 + t143);
    540     t327 = - 2 * px2 * x3 * y3;
    541 
    542     t328 = - 2 * px3 * y3;
    543     t329 = t328 + t164;
    544     t330 = x2 * t329;
    545 
    546     t331 = y2 * (t330 + t204 + t327);
    547     t332 = t226 + t331 + t220;
    548     t333 = t116 * t142;
    549 
    550     t334 = t140 + t118 + t117;
    551     t335 = y2 * t334;
    552     t336 = x2 * t173;
    553 
    554     t337 = px1 * (t336 + t335 + t333);
    555     t338 = t26 + t94 + t96;
    556     t339 = t17 * y2;
    557 
    558     t340 = t153 + t55 + t339;
    559     t341 = px2 * px3 * t142;
    560     t342 = - 2 * px2 * px3 * y2 * y3;
    561 
    562     t343 = px2 * px3 * t147;
    563     t344 = py1 * (t343 + t342 + t341);
    564     t345 = - px2 * py3 * t142;
    565 
    566     t346 = y2 * (t35 + t55);
    567     t347 = t156 + t346 + t345;
    568     t348 = px1 * t347 + t344;
    569 
    570     t349 = t89 + t164 + t62 * y2;
    571     t350 = - px2 * px3 * t142;
    572     t351 = 2 * px2 * px3 * y2 * y3;
    573 
    574     t352 = - px2 * px3 * t147;
    575     t353 = px2 * t142;
    576     t354 = y2 * (t89 + t74);
    577 
    578     t355 = t167 + t354 + t353;
    579     t356 = px1 * t355 + t352 + t351 + t350;
    580     t357 = py1 * t66;
    581 
    582     t358 = py1 * t349;
    583     t359 = 2 * py2;
    584     t360 = - 2 * py3;
    585     t361 = - 2 * py2 * y3;
    586 
    587     t362 = 2 * py3 * y3;
    588     t363 = px3 * py2 * t142;
    589     t364 = y2 * (t153 + t34);
    590 
    591     t365 = - px3 * t142;
    592     t366 = y2 * (t75 + t164);
    593     t367 = t166 + t366 + t365;
    594 
    595     t368 = py1 * t367;
    596     t369 = px1 * (t172 + t171 + t106 * t142);
    597     t370 = t35 + t34;
    598 
    599     t371 = t142 * t370;
    600     t372 = y2 * t150;
    601     t373 = t372 + t371;
    602     t374 = t230 + t229;
    603 
    604     t375 = py1 * (t352 + t351 + t350);
    605     t376 = t157 + t364 + t363;
    606     t377 = px1 * t376 + t375;
    607 
    608     t378 = t75 + t74;
    609     t379 = y2 * t207 + t142 * t378;
    610     t380 = px1 * t367 + t343 + t342 + t341;
    611 
    612     t381 = py1 * t209;
    613     t382 = py1 * t355;
    614     t383 = py1 * t379;
    615     t384 = 2 * py2 * y3;
    616 
    617     t385 = - 2 * py3 * y3;
    618     t386 = t385 + t384;
    619     t387 = - 2 * py2 * t147;
    620     t388 = 2 * py3 * t147;
    621 
    622     t389 = px2 * py3 * t2;
    623     t390 = t389 + t10;
    624     t391 = x2 * t390 * y2;
    625     t392 = t5 * t228;
    626 
    627     t393 = - px2 * t2;
    628     t394 = t70 + t393;
    629     t395 = x2 * t394 * y2;
    630     t396 = t5 * t231;
    631 
    632     t397 = t396 + t395;
    633     t398 = py1 * t397;
    634     t399 = py2 * t2;
    635     t400 = - py3 * t2;
    636 
    637     t401 = t400 + t399;
    638     t402 = x2 * t401 * y2;
    639     t403 = t136 + t135;
    640     t404 = t5 * t403;
    641 
    642     t405 = t404 + t402;
    643     t406 = px1 * t405;
    644     t407 = t1 * (t406 + t398 + t392 + t391);
    645 
    646     t408 = t65 + t64;
    647     t409 = t5 * t408;
    648     t410 = x2 * t394;
    649     t411 = t410 + t409;
    650 
    651     t412 = py1 * t411;
    652     t413 = t5 * t116;
    653     t414 = x2 * t401;
    654     t415 = t414 + t413;
    655 
    656     t416 = px1 * t415;
    657     t417 = py2 * t5;
    658     t418 = x2 * (t134 + t114);
    659     t419 = py3 * t2;
    660 
    661     t420 = t419 + t418 + t417;
    662     t421 = px1 * t420;
    663     t422 = t265 * y2;
    664     t423 = x2 * t154;
    665 
    666     t424 = px2 * x2;
    667     t425 = (t68 + t424) * y2;
    668     t426 = - py2 * x2;
    669     t427 = (t133 + t426) * y2;
    670 
    671     t428 = py3 * x2 * y3;
    672     t429 = t20 + t19;
    673     t430 = x2 * t429;
    674     t431 = - px2 * py3 * t2;
    675 
    676     t432 = (t431 + t43 + t430) * y2;
    677     t433 = t5 * t370;
    678     t434 = x2 * t145;
    679 
    680     t435 = - px2 * x2 * x3;
    681     t436 = px2 * t2;
    682     t437 = (t436 + t435) * y2;
    683     t438 = px3 * t5 * y3;
    684 
    685     t439 = - px3 * x2 * x3 * y3;
    686     t440 = py2 * x2 * x3;
    687     t441 = - py2 * t2;
    688 
    689     t442 = (t441 + t440) * y2;
    690     t443 = - py3 * t5 * y3;
    691     t444 = py3 * x2 * x3 * y3;
    692 
    693     t445 = t5 * t287;
    694     t446 = t78 + t436;
    695     t447 = x2 * t446;
    696     t448 = - t2;
    697 
    698     t449 = t448 + 2 * x2 * x3 - t5;
    699     t450 = px1 * t449;
    700     t451 = (t98 + t85) * y2;
    701     t452 = - x2 * y3;
    702 
    703     t453 = x3 * y3;
    704     t454 = t453 + t452 + (x2 - x3) * y2;
    705     t455 = px1 * t454;
    706     t456 = t65 + t314;
    707 
    708     t457 = x2 * t456;
    709     t458 = (t78 + t457) * y2;
    710     t459 = x2 * (t293 + t203);
    711 
    712     t460 = - x2 * x3 * y3 + t5 * y3 + (t2 - x2 * x3) * y2;
    713     t461 = px1 * t460;
    714     t462 = t5 * t253;
    715 
    716     t463 = t419 + t441;
    717     t464 = x2 * t463;
    718     t465 = - py2 * t5;
    719     t466 = x2 * (t115 + t133);
    720 
    721     t467 = t2 - 2 * x2 * x3 + t5;
    722     t468 = py1 * t467;
    723     t469 = py2 * x2;
    724     t470 = (t134 + t469) * y2;
    725 
    726     t471 = - py2 * x2 * y3;
    727     t472 = x2 * y3;
    728     t473 = - x3 * y3;
    729     t474 = t473 + t472 + (x3 - x2) * y2;
    730 
    731     t475 = py1 * t474;
    732     t476 = - 2 * py2 * x3;
    733     t477 = t115 + t476;
    734     t478 = x2 * t477;
    735 
    736     t479 = (t419 + t478) * y2;
    737     t480 = py2 * t5 * y3;
    738     t481 = - 2 * py3 * x3 * y3;
    739 
    740     t482 = x2 * (t481 + t117);
    741     t483 = x2 * x3 * y3 - t5 * y3 + (t448 + x2 * x3) * y2;
    742 
    743     t484 = py1 * t483;
    744     t485 = t431 + t43;
    745     t486 = t485 * t142;
    746     t487 = t5 * t158;
    747 
    748     t488 = t446 * t142;
    749     t489 = t5 * t168;
    750     t490 = t489 + t488;
    751     t491 = py1 * t490;
    752 
    753     t492 = t463 * t142;
    754     t493 = t5 * t173;
    755     t494 = t493 + t492;
    756     t495 = px1 * t494;
    757 
    758     t496 = x1 * y1 * (t495 + t491 + t487 + t486);
    759     t497 = t142 * t119;
    760     t498 = x2 * y2 * t259;
    761 
    762     t499 = t498 + t497;
    763     t500 = px1 * t499;
    764     t501 = t29 * (t500 + t381 + t151 + t146);
    765 
    766     t502 = t429 * t142;
    767     t503 = x2 * t370;
    768     t504 = y2 * (t503 + t125 + t54);
    769     t505 = x2 * t158;
    770 
    771     t506 = - px3 * x3 * t142;
    772     t507 = - px2 * x2 * t147;
    773     t508 = py3 * x3 * t142;
    774 
    775     t509 = y2 * (t118 + t471);
    776     t510 = py2 * x2 * t147;
    777     t511 = - py2 * t142;
    778 
    779     t512 = y2 * (t138 + t107);
    780     t513 = t172 + t512 + t511;
    781     t514 = px1 * t513;
    782 
    783     t515 = y2 * t259 + t142 * t255;
    784     t516 = px1 * t515;
    785     t517 = py1 * t454;
    786 
    787     t518 = - py2 * x3 * t142;
    788     t519 = t108 + t384;
    789     t520 = x2 * t519;
    790 
    791     t521 = y2 * (t520 + t307 + t135);
    792     t522 = - py3 * x2 * t147;
    793     t523 = py2 * t142;
    794 
    795     t524 = y2 * (t108 + t137);
    796     t525 = - t147 + 2 * y2 * y3 - t142;
    797     t526 = py1 * t525;
    798 
    799     t527 = x2 * t147 + y2 * (t473 + t452) + x3 * t142;
    800     t528 = py1 * t527;
    801     t529 = px1 * t474;
    802 
    803     t530 = px2 * x3 * t142;
    804     t531 = px3 * x2 * t147;
    805 
    806     t532 = - x2 * t147 + y2 * (t453 + t472) - x3 * t142;
    807     t533 = px1 * t532;
    808 
    809     t534 = - px2 * t142;
    810     t535 = t147 - 2 * y2 * y3 + t142;
    811     t536 = px1 * t535;
    812 
    813     t537 = t447 + t445;
    814     t538 = py1 * t537;
    815     t539 = t464 + t462;
    816     t540 = px1 * t539;
    817 
    818     t541 = 2 * px3 * py2 * t2;
    819     t542 = - 2 * px2 * py3 * t2;
    820     t543 = x2 * t446 * y2;
    821 
    822     t544 = t5 * t205;
    823     t545 = t544 + t543;
    824     t546 = py1 * t545;
    825     t547 = x2 * t463 * y2;
    826 
    827     t548 = t5 * t119;
    828     t549 = t548 + t547;
    829     t550 = px1 * t549;
    830     t551 = x2 * t265;
    831 
    832     t552 = (t389 + t10 + t551) * y2;
    833     t553 = t5 * t154;
    834     t554 = 2 * px3 * t2;
    835 
    836     t555 = (t554 + t393 + t110) * y2;
    837     t556 = t5 * t90;
    838     t557 = py3 * x2 * x3;
    839 
    840     t558 = - 2 * py3 * t2;
    841     t559 = (t558 + t399 + t557) * y2;
    842     t560 = py2 * x2 * x3 * y3;
    843 
    844     t561 = t138 + t361;
    845     t562 = t5 * t561;
    846     t563 = t390 * t142;
    847     t564 = t5 * t150;
    848 
    849     t565 = - px2 * t2 * t142;
    850     t566 = - px3 * t5 * t147;
    851     t567 = t566 + t214 + t565;
    852 
    853     t568 = py1 * t567;
    854     t569 = py2 * t2 * t142;
    855     t570 = x2 * y2 * (t118 + t135);
    856 
    857     t571 = py3 * t5 * t147;
    858     t572 = t571 + t570 + t569;
    859     t573 = px1 * t572;
    860     t574 = t86 + t68;
    861 
    862     t575 = x2 * t574;
    863     t576 = (t78 + t575) * y2;
    864     t577 = 2 * px2 * x3 * y3;
    865 
    866     t578 = x2 * (t87 + t577);
    867     t579 = px1 * t527;
    868 
    869     t580 = - t5 * t147 + 2 * x2 * x3 * y2 * y3 - t2 * t142;
    870     t581 = px1 * t580;
    871     t582 = t305 + t133;
    872 
    873     t583 = x2 * t582;
    874     t584 = (t419 + t583) * y2;
    875     t585 = x2 * (t136 + t306);
    876 
    877     t586 = py1 * t532;
    878     t587 = - py3 * t2 * t142;
    879     t588 = x2 * y2 * (t136 + t117);
    880 
    881     t589 = - py2 * t5 * t147;
    882     t590 = t5 * t147 - 2 * x2 * x3 * y2 * y3 + t2 * t142;
    883 
    884     t591 = py1 * t590;
    885     t592 = t400 + t466 + t465;
    886     t593 = px1 * t592;
    887     t594 = t309 + t279;
    888 
    889     t595 = t198 + t311;
    890     t596 = x2 * t378;
    891     t597 = t596 + t408 * y2;
    892     t598 = py1 * t597;
    893 
    894     t599 = t256 + t116 * y2;
    895     t600 = px1 * t599;
    896     t601 = t178 + t366 + t534;
    897 
    898     t602 = py1 * t601;
    899     t603 = t181 + t524 + t523;
    900     t604 = px1 * t603;
    901     t605 = t265 * t142;
    902 
    903     t606 = t423 + t144 + t143;
    904     t607 = y2 * t606;
    905     t608 = x2 * t150;
    906     t609 = 2 * py2 * x3 * y3;
    907 
    908     t610 = t362 + t137;
    909     t611 = x2 * t610;
    910     t612 = y2 * (t611 + t118 + t609);
    911 
    912     t613 = py1 * t449;
    913     t614 = t419 + t613 + t418 + t417;
    914     t615 = py1 * t460;
    915 
    916     t616 = py1 * t535;
    917     t617 = t616 + t172 + t512 + t511;
    918     t618 = t134 + t304;
    919 
    920     t619 = t618 * t142;
    921     t620 = - py3 * x2 * y3;
    922     t621 = y2 * (t135 + t620);
    923 
    924     t622 = x2 * (t388 + t180);
    925     t623 = px1 * t467;
    926     t624 = t623 + t78 + t102 + t101;
    927 
    928     t625 = px1 * t483;
    929     t626 = px1 * t525;
    930     t627 = t167 + t626 + t354 + t353;
    931 
    932     t628 = - 2 * px2 * x3;
    933     t629 = t98 + t628;
    934     t630 = t629 * t142;
    935     t631 = - 2 * px3 * t147;
    936 
    937     t632 = x2 * (t631 + t177);
    938     t633 = - 2 * px2 * py3 * x3 * y3;
    939     t634 = t633 + t197;
    940 
    941     t635 = - 2 * px3 * py2 * t147;
    942     t636 = t142 * t403;
    943     t637 = x2 * y2 * t173;
    944 
    945     t638 = t637 + t636;
    946     t639 = px1 * t638;
    947     t640 = t589 + t588 + t587;
    948     t641 = px1 * t640;
    949 
    950     t642 = px1 * t590;
    951     t643 = py1 * t580;
    952 
    953     t644 = (x0 * (px0 * (y1 * (x1 * (t528 + t522 + t612 + t518)
    954 			       + t643 + t571 + t570 + t569)
    955 			 + t29 * t515 + x1 * t638 + t1 * (t615 + t444 + t443 + t442))
    956 		  + py0 * (y1 * (x1 * (t533 + t531 + t331 + t530)
    957 				 + t642 + t566 + t214 + t565)
    958 			   + x1 * t234 + t29 * t379 + t1 * (t625 + t439 + t438 + t437))
    959 		  + y1 * (x1 * (px1 * (t622 + t621 + t619) + py1 * (t632 + t299 + t630)
    960 				+ t608 + t607 + t605)
    961 			  + t641 + t243 + t564 + t563)
    962 		  + x1 * (t639 + t235 + x2 * y2 * (t284 + t635) + t142 * t634)
    963 		  + t29 * (t175 + t170)
    964 		  + t1 * (px1 * (t482 + t480 + t479) + py1 * (t459 + t79 + t458) + t434
    965 			  + t433 + t432))
    966 	    + y0 * (x0 * (py0 * (x1 * (t579 + t632 + t299 + t630)
    967 				 + t489 + t29 * t627
    968 				 + y1 * (x1 * t597 + t625 + t556 + t112 + t555) + t488
    969 				 + t624 * t1)
    970 			  + px0 * (x1 * (t586 + t622 + t621 + t619)
    971 				   + t29 * t617 + t493
    972 				   + y1 * (x1 * t599 + t615 + t562 + t560 + t559) + t492
    973 				   + t614 * t1)
    974 			  + x1 * (px1 * (t522 + t612 + t518) + py1 * (t531 + t331 + t530)
    975 				  + t608 + t607 + t605)
    976 			  + t29 * (t604 + t602) + t487
    977 			  + y1 * (x1 * (t600 + t598 + x2 * t595 + t594 * y2)
    978 				  + px1 * (t585 + t480 + t584) + py1 * (t578 + t79 + t576) + t267
    979 				  + t553 + t552) + t486 + (t593 + t302) * t1)
    980 		    + px0 * (x1 * (t591 + t589 + t588 + t587)
    981 			     + t29 * (t586 + t510 + t509 + t508)
    982 			     + y1 * (x1 * (t484 + t585 + t480 + t584) + t548 + t547) + t415 * t1)
    983 		    + py0 * (x1 * (t581 + t241 + t240 + t239)
    984 			     + t29 * (t579 + t507 + t250 + t506)
    985 			     + y1 * (x1 * (t461 + t578 + t79 + t576) + t544 + t543) + t411 * t1)
    986 		    + x1 * (t573 + t568 + t564 + t563)
    987 		    + t29 * (px1 * (t522 + t521 + t518) + py1 * (t531 + t225 + t530) + t505
    988 			     + t504 + t502)
    989 		    + y1 * (x1 * (px1 * (t562 + t560 + t559) + py1 * (t556 + t112 + t555)
    990 				  + t267 + t553 + t552)
    991 			    + t550 + t546 + t5 * (t322 + t273) + x2 * (t542 + t541) * y2)
    992 		    + (t540 + t538) * t1)
    993 	    + t161 * (py0 * (y1 * (x1 * (t536 + t178 + t366 + t534)
    994 				   + t533 + t531 + t225 + t530)
    995 			     + x1 * t169 + t208 + t1 * (t529 + t204 + t292 + t425) + t206)
    996 		      + px0 * (y1 * (t528 + x1 * (t181 + t526 + t524 + t523) + t522 + t521
    997 				     + t518)
    998 			       + x1 * t174 + t498 + t1 * (t517 + t118 + t428 + t427) + t497)
    999 		      + x1 * (t516 + t383)
   1000 		      + y1 * (x1 * (t514 + t382) + px1 * (t510 + t509 + t508)
   1001 			      + py1 * (t507 + t250 + t506) + t505 + t504
   1002 			      + t502) + t151
   1003 		      + t1 * (px1 * (t136 + t471 + t470) + py1 * (t87 + t249 + t451) + t423
   1004 			      + t422) + t146) + t501 + t496
   1005 	    + t14 * (px0 * (x1 * (t484 + t482 + t480 + t479)
   1006 			    + t29 * (t475 + t136 + t471 + t470) + t404 + t402
   1007 			    + (x1 * (t468 + t400 + t466 + t465) + t464 + t462) * y1)
   1008 		     + py0 * (x1 * (t461 + t459 + t79 + t458)
   1009 			      + t29 * (t455 + t87 + t249 + t451) + t396 + t395
   1010 			      + (x1 * (t70 + t450 + t69 + t67) + t447 + t445) * y1)
   1011 		     + x1 * (px1 * (t444 + t443 + t442) + py1 * (t439 + t438 + t437) + t434
   1012 			     + t433 + t432)
   1013 		     + t29 * (px1 * (t118 + t428 + t427) + py1 * (t204 + t292 + t425) + t423
   1014 			      + t422) + t392 + t391
   1015 		     + (x1 * (t421 + t104) + t416 + t412) * y1) + t407);
   1016     t645 = t5 * t265;
   1017 
   1018     t646 = t115 + t114 + t132;
   1019     t647 = px1 * t646;
   1020     t648 = x2 * t485;
   1021     t649 = t32 * t5;
   1022 
   1023     t650 = t70 + t393 + t73 * t5;
   1024     t651 = t400 + t399 + t106 * t5;
   1025 
   1026     t652 = t540 + x1 * (px1 * t651 + py1 * t650 + t389 + t10 + t649) + t538 + t648
   1027 	+ t29 * (t647 + t357 + t20 + t19 + t18) + t645;
   1028     t653 = t648 + t645;
   1029 
   1030     t654 = t392 + t391;
   1031     t655 = px1 * t654;
   1032     t656 = t309 + t19;
   1033     t657 = x2 * t656;
   1034 
   1035     t658 = (t389 + t657) * y2;
   1036     t659 = px3 * py2 * t5 * y3;
   1037     t660 = x2 * (t144 + t273);
   1038 
   1039     t661 = - px3 * py2 * t5;
   1040     t662 = t431 + t27 + t661;
   1041     t663 = px1 * t662 + t24;
   1042 
   1043     t664 = t5 * t429;
   1044     t665 = x2 * t390;
   1045     t666 = t665 + t664;
   1046     t667 = px3 * py2 * x2;
   1047 
   1048     t668 = (t20 + t667) * y2;
   1049     t669 = x2 * t485 * y2;
   1050     t670 = t5 * t145;
   1051     t671 = t670 + t669;
   1052 
   1053     t672 = px1 * t671;
   1054     t673 = t26 + t52;
   1055     t674 = x2 * t673;
   1056     t675 = (t389 + t674) * y2;
   1057 
   1058     t676 = x2 * (t633 + t54);
   1059     t677 = px3 * t5;
   1060     t678 = t436 + t69 + t677;
   1061 
   1062     t679 = px1 * t678 + t37 + t60 + t59;
   1063     t680 = - px3 * x2;
   1064 
   1065     t681 = t203 + t298 + (t64 + t680) * y2;
   1066     t682 = px1 * t545;
   1067     t683 = - px3 * t5 * y3;
   1068 
   1069     t684 = t578 + t683 + (t393 + t575) * y2;
   1070     t685 = 2 * py3 * x3;
   1071     t686 = t685 + t476;
   1072 
   1073     t687 = 2 * py2 * t2;
   1074     t688 = px1 * (t419 + t441 + t131 * t5);
   1075     t689 = - px2 * py3 * x2;
   1076 
   1077     t690 = 2 * px2 * py3 * x3;
   1078     t691 = (t690 + t94 + t689) * y2;
   1079 
   1080     t692 = t330 + t204 + (t98 + t628 + t424) * y2;
   1081     t693 = t134 + t133 + t319;
   1082 
   1083     t694 = px1 * (t140 + t118 + t117 + t693 * y2);
   1084     t695 = (t542 + t43 + t9) * y2;
   1085 
   1086     t696 = t5 * t312;
   1087     t697 = 2 * px2 * t2;
   1088     t698 = t5 * t316 + t112 + (t78 + t697 + t110) * y2;
   1089 
   1090     t699 = x2 * t253;
   1091     t700 = t5 * t255;
   1092     t701 = x2 * t403;
   1093 
   1094     t702 = px1 * (t701 + t700 + (t419 + t441 + t699) * y2);
   1095     t703 = px2 * py3 * x2 * x3;
   1096 
   1097     t704 = (t10 + t703) * y2;
   1098     t705 = px3 * py2 * x2 * x3 * y3;
   1099     t706 = (t20 + t279 + t689) * y2;
   1100 
   1101     t707 = t439 + t111 + (t70 + t435) * y2;
   1102     t708 = t224 + t204 + (t296 + t64 + t424) * y2;
   1103 
   1104     t709 = - 2 * py2;
   1105     t710 = 2 * py3;
   1106     t711 = py1 * t678;
   1107 
   1108     t712 = t459 + t683 + (t393 + t457) * y2;
   1109     t713 = x2 * t116;
   1110     t714 = t5 * t139;
   1111 
   1112     t715 = px1 * (t120 + t714 + (t400 + t399 + t713) * y2);
   1113     t716 = 2 * px2 * py3;
   1114 
   1115     t717 = (t94 + (t716 + t15) * x2) * y2;
   1116     t718 = - 2 * px2;
   1117 
   1118     t719 = t221 + t128 + t249 + (t98 + (px3 + t718) * x2) * y2;
   1119 
   1120     t720 = px1 * (t256 + t136 + t135 + t646 * y2);
   1121     t721 = - px2 * py3 * t2 * t142;
   1122 
   1123     t722 = - px3 * py2 * t5 * t147;
   1124     t723 = t722 + t237 + t721;
   1125     t724 = - px2 * py3 * x3 * t142;
   1126 
   1127     t725 = y2 * (t54 + t124);
   1128     t726 = px1 * y2 * t257;
   1129     t727 = - px3 * py2 * x2 * t147;
   1130 
   1131     t728 = y2 * (t87 + t127);
   1132     t729 = t531 + t728 + t530;
   1133     t730 = px2 * py3 * t2 * t142;
   1134 
   1135     t731 = px3 * py2 * t5 * t147;
   1136     t732 = px1 * t397;
   1137     t733 = t251 + t299 + t248;
   1138 
   1139     t734 = px2 * t2 * t142;
   1140     t735 = px3 * t5 * t147;
   1141     t736 = t735 + t240 + t734;
   1142 
   1143     t737 = t389 + t10 + t649;
   1144     t738 = t731 + t189 + t730;
   1145     t739 = px1 * t738;
   1146 
   1147     t740 = x2 * t165;
   1148     t741 = t740 + t204 + t203;
   1149     t742 = py1 * y2 * t741;
   1150     t743 = py1 * t736;
   1151 
   1152     t744 = px2 * py3 * t142;
   1153     t745 = px1 * t567;
   1154     t746 = t148 + t364 + t744;
   1155 
   1156     t747 = px3 * py2 * t5;
   1157     t748 = t389 + t95 + t747;
   1158     t749 = (t26 + t122) * y2;
   1159 
   1160     t750 = x2 * t280;
   1161     t751 = (t431 + t750) * y2;
   1162     t752 = - px3 * py2 * t5 * y3;
   1163 
   1164     t753 = x2 * (t322 + t143);
   1165     t754 = - px3 * t5;
   1166     t755 = t393 + t102 + t754;
   1167 
   1168     t756 = t128 + t292 + (t68 + t126) * y2;
   1169     t757 = x2 * t297;
   1170     t758 = x2 * (t204 + t327);
   1171 
   1172     t759 = t758 + t438 + (t436 + t757) * y2;
   1173     t760 = (t94 + t667) * y2;
   1174 
   1175     t761 = t203 + t249 + (t98 + t680) * y2;
   1176     t762 = px1 * (t140 + t253 * y2);
   1177 
   1178     t763 = - px3 * py2 * x2 * x3;
   1179     t764 = (t43 + t763) * y2;
   1180     t765 = - px2 * py3 * x2 * x3 * y3;
   1181 
   1182     t766 = px3 * x2 * x3;
   1183     t767 = px2 * x2 * x3 * y3;
   1184     t768 = t767 + t79 + (t78 + t766) * y2;
   1185 
   1186     t769 = px1 * (t120 + t700 + (t419 + t441 + t713) * y2);
   1187     t770 = t501 + t496 + t407;
   1188 
   1189     t771 = px3 * py2 * x3 * t142;
   1190     t772 = y2 * (t313 + t633 + t54);
   1191 
   1192     t773 = px2 * py3 * x2 * t147;
   1193     t774 = - px3 * py2 * t142;
   1194     t775 = t149 + t346 + t774;
   1195 
   1196     t776 = y2 * (t317 + t87 + t577);
   1197     t777 = t507 + t776 + t506;
   1198     t778 = px3 * t142;
   1199 
   1200     t779 = t177 + t354 + t778;
   1201     t780 = y2 * (t144 + t272);
   1202     t781 = y2 * (t203 + t292);
   1203 
   1204     t782 = t531 + t781 + t530;
   1205     t783 = px1 * (t336 + t258 + t333);
   1206     t784 = t690 + t94;
   1207 
   1208     t785 = x2 * t784;
   1209     t786 = (t431 + t785) * y2;
   1210     t787 = x2 * (t125 + t197);
   1211 
   1212     t788 = x2 * t629;
   1213     t789 = x2 * (t221 + t128);
   1214     t790 = t789 + t438 + (t436 + t788) * y2;
   1215 
   1216     t791 = - 2 * py2 * t2;
   1217     t792 = 2 * py3 * t2;
   1218     t793 = 2 * px2 * py3 * t2;
   1219 
   1220     t794 = (t793 + t10 + t42) * y2;
   1221     t795 = t5 * t324;
   1222     t796 = - 2 * px2 * t2;
   1223 
   1224     t797 = t5 * t329 + t80 + (t70 + t796 + t77) * y2;
   1225 
   1226     t798 = px1 * (t701 + t714 + (t400 + t399 + t699) * y2);
   1227 
   1228     t799 = px1 * (t5 * t259 + t401 * t142);
   1229     t800 = t429 * y2;
   1230     t801 = t503 + t800;
   1231 
   1232     t802 = t487 + t486;
   1233     t803 = t673 * t142;
   1234     t804 = - 2 * px2 * py3 * t147;
   1235 
   1236     t805 = x2 * (t804 + t148);
   1237     t806 = 2 * px2 * t147;
   1238 
   1239     t807 = x2 * (t178 + t806) + t728 + t574 * t142;
   1240     t808 = py1 * t755;
   1241     t809 = py1 * t779;
   1242 
   1243     t810 = y2 * (t58 + t144 + t273);
   1244     t811 = y2 * (t91 + t293 + t203);
   1245 
   1246     t812 = t507 + t811 + t506;
   1247     t813 = px1 * (t260 + t335 + t254);
   1248     t814 = 2 * py2 * t147;
   1249 
   1250     t815 = - 2 * py3 * t147;
   1251     t816 = (t389 + t42) * y2;
   1252     t817 = - py2 * py3 * t2;
   1253 
   1254     t818 = (t817 + py2 * py3 * x2 * x3) * y2;
   1255     t819 = - py2 * py3 * t5 * y3;
   1256 
   1257     t820 = py2 * py3 * x2 * x3 * y3;
   1258     t821 = px1 * (t820 + t819 + t818);
   1259     t822 = - py2 * py3 * t5;
   1260 
   1261     t823 = 2 * py2 * py3 * x2 * x3;
   1262     t824 = px1 * (t817 + t823 + t822);
   1263     t825 = (t431 + t9) * y2;
   1264 
   1265     t826 = py2 * py3 * t2;
   1266     t827 = (t826 - py2 * py3 * x2 * x3) * y2;
   1267     t828 = py2 * py3 * t5 * y3;
   1268 
   1269     t829 = - py2 * py3 * x2 * x3 * y3;
   1270     t830 = px1 * (t829 + t828 + t827);
   1271 
   1272     t831 = (py2 * py3 * x2 - py2 * py3 * x3) * y2;
   1273     t832 = - py2 * py3 * x2 * y3;
   1274 
   1275     t833 = py2 * py3 * x3 * y3;
   1276     t834 = px1 * (t833 + t832 + t831);
   1277 
   1278     t835 = (t690 + t94 + t122) * y2;
   1279     t836 = px1 * t693;
   1280     t837 = - py2 * t5 * y3;
   1281 
   1282     t838 = t560 + t837 + (t400 + t557) * y2;
   1283     t839 = x2 * t205;
   1284 
   1285     t840 = py1 * (t839 + x2 * t408 * y2);
   1286     t841 = (t20 + t51) * y2;
   1287     t842 = - py3 * x2;
   1288 
   1289     t843 = py2 * x2 * y3;
   1290     t844 = t135 + t843 + (t115 + t842) * y2;
   1291 
   1292     t845 = py1 * (t740 + t87 + t128 + (t98 + t68 + t63) * y2);
   1293     t846 = py2 * py3 * t5;
   1294 
   1295     t847 = - 2 * py2 * py3 * x2 * x3;
   1296     t848 = - py2 * x2 * x3;
   1297     t849 = - py3 * x2 * x3 * y3;
   1298 
   1299     t850 = t849 + t480 + (t419 + t848) * y2;
   1300     t851 = (py2 * py3 * x3 - py2 * py3 * x2) * y2;
   1301 
   1302     t852 = py2 * py3 * x2 * y3;
   1303     t853 = - py2 * py3 * x3 * y3;
   1304     t854 = x2 * t561;
   1305 
   1306     t855 = t854 + t136 + (t305 + t133 + t469) * y2;
   1307     t856 = py2 * py3 * t2 * t142;
   1308 
   1309     t857 = - 2 * py2 * py3 * x2 * x3 * y2 * y3;
   1310     t858 = py2 * py3 * t5 * t147;
   1311 
   1312     t859 = px1 * (t858 + t857 + t856);
   1313     t860 = - py2 * py3 * x3 * t142;
   1314 
   1315     t861 = y2 * (t833 + t852);
   1316     t862 = - py2 * py3 * x2 * t147;
   1317 
   1318     t863 = px1 * (t862 + t861 + t860);
   1319     t864 = - py2 * py3 * t2 * t142;
   1320 
   1321     t865 = 2 * py2 * py3 * x2 * x3 * y2 * y3;
   1322     t866 = - py2 * py3 * t5 * t147;
   1323 
   1324     t867 = py3 * t2 * t142;
   1325     t868 = py2 * t5 * t147;
   1326     t869 = t868 + t570 + t867;
   1327 
   1328     t870 = py2 * py3 * x3 * t142;
   1329     t871 = y2 * (t853 + t832);
   1330     t872 = py2 * py3 * x2 * t147;
   1331 
   1332     t873 = - py3 * x3 * t142;
   1333     t874 = - py2 * x2 * t147;
   1334     t875 = t874 + t521 + t873;
   1335 
   1336     t876 = py2 * x3 * t142;
   1337     t877 = py3 * x2 * t147;
   1338     t878 = t877 + t509 + t876;
   1339 
   1340     t879 = t287 * t142;
   1341     t880 = t596 + t87 + t128;
   1342     t881 = y2 * t880;
   1343     t882 = x2 * t207;
   1344 
   1345     t883 = py1 * (t882 + t881 + t879);
   1346     t884 = py1 * t662;
   1347 
   1348     t885 = px1 * (t826 + t847 + t846);
   1349     t886 = 2 * px3 * py2;
   1350 
   1351     t887 = (t94 + (t31 + t886) * x2) * y2;
   1352     t888 = px1 * (t853 + t852 + t851);
   1353 
   1354     t889 = py1 * t738;
   1355     t890 = px1 * (t866 + t865 + t864);
   1356 
   1357     t891 = px1 * (t872 + t871 + t870);
   1358     t892 = t656 * t142;
   1359     t893 = x2 * (t157 + t635);
   1360 
   1361     t894 = t221 + t577;
   1362     t895 = x2 * t253 * y2;
   1363     t896 = t701 + t895;
   1364     t897 = px1 * t896;
   1365 
   1366     t898 = (t20 + t279 + t122) * y2;
   1367 
   1368     t899 = py1 * (t596 + t204 + t203 + (t65 + t64 + t97) * y2);
   1369     t900 = t385 + t107;
   1370 
   1371     t901 = x2 * t900;
   1372     t902 = t901 + t136 + (t115 + t476 + t469) * y2;
   1373     t903 = px1 * t869;
   1374 
   1375     t904 = t874 + t612 + t873;
   1376     t905 = t408 * t142;
   1377     t906 = y2 * t741;
   1378     t907 = x2 * t168;
   1379 
   1380     t908 = py1 * (t907 + t906 + t905);
   1381     t909 = - py2 * py3 * t142;
   1382 
   1383     t910 = 2 * py2 * py3 * y2 * y3;
   1384     t911 = - py2 * py3 * t147;
   1385 
   1386     t912 = px1 * (t911 + t910 + t909);
   1387     t913 = t912 + py1 * t376;
   1388 
   1389     t914 = t481 + t117 + t428 + (t133 + (py3 + t709) * x2) * y2;
   1390     t915 = 2 * px3;
   1391 
   1392     t916 = t138 + t137 + t131 * y2;
   1393     t917 = px1 * t916;
   1394 
   1395     t918 = py1 * (t167 + t166 + t73 * t142);
   1396     t919 = py3 * t142;
   1397     t920 = t171 + t524 + t919;
   1398 
   1399     t921 = px1 * t920;
   1400     t922 = py2 * py3 * t142;
   1401     t923 = - 2 * py2 * py3 * y2 * y3;
   1402 
   1403     t924 = py2 * py3 * t147;
   1404     t925 = py1 * t513 + t924 + t923 + t922;
   1405     t926 = py1 * t420;
   1406 
   1407     t927 = py1 * t640;
   1408     t928 = t685 + t114;
   1409     t929 = x2 * (t172 + t814) + t621 + t928 * t142;
   1410 
   1411     t930 = px1 * (t924 + t923 + t922);
   1412     t931 = t930 + py1 * t347;
   1413 
   1414     t932 = py1 * t920 + t911 + t910 + t909;
   1415     t933 = t315 + t222;
   1416     t934 = py1 * t654;
   1417 
   1418     t935 = (t10 + t750) * y2;
   1419     t936 = t824 + py1 * t263;
   1420     t937 = py1 * t671;
   1421 
   1422     t938 = (t19 + t689) * y2;
   1423     t939 = (t10 + t785) * y2;
   1424     t940 = t296 + t314;
   1425 
   1426     t941 = py1 * (t78 + t436 + t62 * t5);
   1427     t942 = (t26 + t52 + t667) * y2;
   1428 
   1429     t943 = py1 * (t740 + t204 + t203 + t99 * y2);
   1430 
   1431     t944 = t611 + t118 + (t134 + t304 + t426) * y2;
   1432     t945 = (t431 + t541 + t42) * y2;
   1433 
   1434     t946 = t5 * t199;
   1435     t947 = t5 * t900 + t560 + (t419 + t791 + t557) * y2;
   1436     t948 = x2 * t287;
   1437 
   1438     t949 = t5 * t378;
   1439     t950 = py1 * (t289 + t949 + (t78 + t436 + t948) * y2);
   1440 
   1441     t951 = - py3 * t5;
   1442     t952 = t441 + t466 + t951;
   1443     t953 = py1 * t952 + t826 + t847 + t846;
   1444 
   1445     t954 = py3 * x2;
   1446     t955 = t117 + t620 + (t114 + t954) * y2;
   1447     t956 = py1 * t549;
   1448 
   1449     t957 = py3 * t5 * y3;
   1450     t958 = t585 + t957 + (t399 + t583) * y2;
   1451     t959 = (t389 + t763) * y2;
   1452 
   1453     t960 = (t309 + t19 + t667) * y2;
   1454     t961 = - 2 * px3;
   1455     t962 = px1 * t952;
   1456     t963 = x2 * t408;
   1457 
   1458     t964 = t5 * t165;
   1459     t965 = py1 * (t839 + t964 + (t70 + t393 + t963) * y2);
   1460 
   1461     t966 = t482 + t957 + (t399 + t478) * y2;
   1462     t967 = - 2 * px3 * py2;
   1463 
   1464     t968 = (t26 + (t16 + t967) * x2) * y2;
   1465 
   1466     t969 = t307 + t135 + t471 + (t134 + (t130 + t359) * x2) * y2;
   1467 
   1468     t970 = py1 * (t596 + t87 + t128 + t66 * y2);
   1469     t971 = t444 + t837 + (t400 + t440) * y2;
   1470 
   1471     t972 = t520 + t118 + (t685 + t114 + t426) * y2;
   1472     t973 = py1 * t405;
   1473 
   1474     t974 = t877 + t621 + t876;
   1475     t975 = - py2 * t2 * t142;
   1476     t976 = - py3 * t5 * t147;
   1477 
   1478     t977 = t976 + t588 + t975;
   1479     t978 = py1 * y2 * t880;
   1480     t979 = y2 * (t136 + t843);
   1481 
   1482     t980 = t522 + t979 + t518;
   1483     t981 = py1 * t276;
   1484     t982 = py1 * t572;
   1485     t983 = px1 * y2 * t334;
   1486 
   1487     t984 = px1 * t977;
   1488     t985 = (t94 + t51) * y2;
   1489     t986 = (t43 + t657) * y2;
   1490 
   1491     t987 = (t26 + t689) * y2;
   1492     t988 = t117 + t471 + (t134 + t954) * y2;
   1493 
   1494     t989 = py1 * (t740 + t287 * y2);
   1495     t990 = (t431 + t703) * y2;
   1496     t991 = - py3 * x2 * x3;
   1497 
   1498     t992 = - py2 * x2 * x3 * y3;
   1499     t993 = t992 + t480 + (t419 + t991) * y2;
   1500 
   1501     t994 = py1 * (t839 + t949 + (t78 + t436 + t963) * y2);
   1502     t995 = py3 * t5;
   1503 
   1504     t996 = t399 + t418 + t995;
   1505     t997 = t135 + t428 + (t133 + t842) * y2;
   1506     t998 = x2 * t928;
   1507 
   1508     t999 = x2 * (t118 + t609);
   1509     t1000 = t999 + t443 + (t441 + t998) * y2;
   1510 
   1511     t1001 = y2 * (t901 + t136 + t306);
   1512     t1002 = t510 + t1001 + t508;
   1513     t1003 = - py3 * t142;
   1514 
   1515     t1004 = t180 + t512 + t1003;
   1516     t1005 = y2 * (t117 + t428);
   1517     t1006 = t522 + t1005 + t518;
   1518 
   1519     t1007 = py1 * (t907 + t881 + t905);
   1520     t1008 = y2 * (t854 + t481 + t117);
   1521 
   1522     t1009 = t510 + t1008 + t508;
   1523     t1010 = 2 * px3 * t147;
   1524 
   1525     t1011 = py1 * (t5 * t207 + t394 * t142);
   1526     t1012 = t784 * t142;
   1527 
   1528     t1013 = 2 * px3 * py2 * t147;
   1529     t1014 = x2 * (t149 + t1013);
   1530 
   1531     t1015 = py1 * (t882 + t906 + t879);
   1532     t1016 = x2 * (t181 + t387) + t979 + t582 * t142;
   1533 
   1534     t1017 = (t43 + t674) * y2;
   1535     t1018 = x2 * t618;
   1536     t1019 = x2 * (t307 + t135);
   1537 
   1538     t1020 = t1019 + t443 + (t441 + t1018) * y2;
   1539     t1021 = - 2 * px3 * t2;
   1540 
   1541     t1022 = - 2 * px3 * py2 * t2;
   1542     t1023 = (t389 + t1022 + t9) * y2;
   1543     t1024 = t5 * t57;
   1544 
   1545     t1025 = t5 * t610 + t849 + (t400 + t687 + t848) * y2;
   1546 
   1547     t1026 = py1 * (t289 + t964 + (t70 + t393 + t948) * y2);
   1548     t1027 = px1 * t996;
   1549 
   1550     t1028 = px1 * t1004;
   1551     t1029 = x2 * t429 * y2;
   1552     t1030 = (t436 + t110) * y2;
   1553 
   1554     t1031 = (t441 + t557) * y2;
   1555     t1032 = (t393 + t77) * y2;
   1556     t1033 = (t399 + t848) * y2;
   1557 
   1558     t1034 = (t26 + t94 + t18) * y2;
   1559     t1035 = (t64 + t85) * y2;
   1560     t1036 = (t114 + t469) * y2;
   1561 
   1562     t1037 = (t98 + t628 + t126) * y2;
   1563     t1038 = (t134 + t304 + t842) * y2;
   1564 
   1565     t1039 = (t20 + t19 + t96) * y2;
   1566     t1040 = (t296 + t64 + t126) * y2;
   1567 
   1568     t1041 = (t685 + t114 + t842) * y2;
   1569     t1042 = (t98 + (t961 + px2) * x2) * y2;
   1570 
   1571     t1043 = t456 * t142;
   1572     t1044 = x2 * (t1010 + t166);
   1573 
   1574     t1045 = (t134 + (t710 + t105) * x2) * y2;
   1575     t1046 = t477 * t142;
   1576 
   1577     t1047 = x2 * (t815 + t171);
   1578     t1048 = t32 * t142;
   1579     t1049 = t171 + t526 + t524 + t919;
   1580 
   1581     t1050 = t536 + t166 + t366 + t365;
   1582     t1051 = (t389 + t10 + t430) * y2;
   1583 
   1584     t1052 = (t393 + t766) * y2;
   1585     t1053 = (t399 + t991) * y2;
   1586     t1054 = t17 * t5;
   1587 
   1588     t1055 = (t431 + t43 + t551) * y2;
   1589     t1056 = (t1021 + t436 + t77) * y2;
   1590     t1057 = t5 * t223;
   1591 
   1592     t1058 = (t792 + t441 + t848) * y2;
   1593     t1059 = t5 * t519;
   1594     t1060 = t338 * y2;
   1595 
   1596     t1061 = (t86 + t68 + t680) * y2;
   1597     t1062 = (t305 + t133 + t954) * y2;
   1598 
   1599     t1063 = (t115 + t426) * y2;
   1600     t1064 = (t400 + t1018) * y2;
   1601     t1065 = (t65 + t424) * y2;
   1602 
   1603     t1066 = (t70 + t788) * y2;
   1604     t1067 = (t70 + t757) * y2;
   1605     t1068 = (t400 + t998) * y2;
   1606 
   1607     t1069 = t21 * y2;
   1608     t1070 = (t68 + (t915 + t61) * x2) * y2;
   1609 
   1610     t1071 = (t133 + (t360 + py2) * x2) * y2;
   1611     t1072 = (t115 + t476 + t954) * y2;
   1612 
   1613     t1073 = (t65 + t314 + t680) * y2;
   1614 
   1615     trans->m[0][0]
   1616 	= (x0 * (px0 * (x1 * (px1 * (y2 * (t388 + t387) + t142 * t386)
   1617 			      + t383 + t372 + t371)
   1618 			+ y1 * (x1 * (t369 + t382 + t156 + t346 + t345)
   1619 				+ t337 + py1 * t301 + t285 + t283 + t281) + t381 + t151
   1620 			+ t1 * (t141 + py1 * t92 + t58 + t54 + t53) + t146)
   1621 		 + py0 * (y1 * (x1 * t380 + px1 * t332 + t219 + t218 + t217)
   1622 			  + px1 * t234 + px1 * x1 * t379 + t1 * (px1 * t129 + t49 + t48 + t47))
   1623 		 + y1 * (x1 * t377 + px1 * (t202 + t326 + t196) + t195) + px1 * t374
   1624 		 + px1 * x1 * t373 + t1 * (px1 * (t125 + t124 + t123) + t269))
   1625 	   + y0 * (x0 * (px0 * (t261 + x1 * (t369 + t368 + t157 + t364 + t363) + py1 * t227
   1626 				+ t202
   1627 				+ y1
   1628 				* (x1
   1629 				   * (px1 * (t362 + t361 + (t360 + t359) * y2)
   1630 				      + t358 + t153 + t55 + t339)
   1631 				   + t320 + py1 * t294 + t144 + t273 + t272 + t271)
   1632 				+ t201 + t196 + (t357 + t20 + t19 + t18) * t1)
   1633 			 + py0 * (x1 * t356 + px1 * t252 + t194
   1634 				  + y1 * (px1 * t318 + px1 * x1 * t349 + t84 + t83 + t82)
   1635 				  + t193 + t192 + px1 * t99 * t1) + x1 * t348
   1636 			 + px1 * (t247 + t246 + t244) + t278
   1637 			 + y1 * (px1 * (t313 + t54 + t310) + t50 + px1 * x1 * t340)
   1638 			 + px1 * t338 * t1)
   1639 		   + px0 * (x1 * (t337 + py1 * t332 + t202 + t326 + t196)
   1640 			    + t321 + px1 * t29 * t182 + t190
   1641 			    + y1 * (x1 * (t320 + py1 * t318 + t313 + t54 + t310)
   1642 				    + px1 * (x2 * t308 + x2 * (t305 + t304) * y2) + t303 + t267
   1643 				    + t266) + t189 + t188 + (t302 + t10 + t27 + t25) * t1)
   1644 		   + py0 * (x1 * (px1 * t301 + t194 + t193 + t192)
   1645 			    + t295 + px1 * t29 * t179 + t186
   1646 			    + y1 * (x1 * (px1 * t294 + t49 + t48 + t47) + px1 * t290) + t185 + t184
   1647 			    + (t286 + t3 + t23 + t22) * t1)
   1648 		   + x1 * (px1 * (t285 + t283 + t281) + t278) + t277 + t275 + px1 * t29 * t274
   1649 		   + y1 * (x1 * (px1 * (t144 + t273 + t272 + t271) + t269) + px1 * t268)
   1650 		   + (t264 + t262) * t1)
   1651 	   + px0 * (y1 * (x1 * (t261 + py1 * t252 + t247 + t246 + t244)
   1652 			  + t243 + t238 + t237 + t236)
   1653 		    + x1 * (t235 + t230 + t229) + px1 * t29 * t174
   1654 		    + t1 * (t121 + py1 * t81 + t46 + t45 + t44))
   1655 	   + py0 * (y1 * (x1 * (px1 * t227 + t219 + t218 + t217)
   1656 			  + px1 * t216 + t212 + t211 + t210)
   1657 		    + px1 * t29 * t169 + px1 * x1 * t209 + t1 * (px1 * t113 + t40 + t39 + t38))
   1658 	   + y1 * (x1 * (px1 * (t202 + t201 + t196) + t195) + px1 * t191 + t187)
   1659 	   + px0 * t161 * t183 + px1 * t29 * t160 + px1 * x1 * t152
   1660 	   + t14 * (px0 * (x1 * (t141 + py1 * t129 + t125 + t124 + t123)
   1661 			   + t121 + py1 * t113 + px1 * t29 * t109 + t13 + t12 + t11
   1662 			   + (t104 + t43 + x1 * (t100 + t26 + t94 + t96) + t95 + t93) * y1)
   1663 		    + py0 * (x1 * (px1 * t92 + t84 + t83 + t82)
   1664 			     + px1 * t81 + px1 * t29 * t76 + t7 + t6 + t4
   1665 			     + (px1 * t71 + t37 + px1 * x1 * t66 + t60 + t59) * y1)
   1666 		    + x1 * (px1 * (t58 + t54 + t53) + t50) + px1 * (t46 + t45 + t44) + t41
   1667 		    + px1 * t29 * t36 + (px1 * t28 + t24 + px1 * x1 * t21) * y1)
   1668 	   + t1 * (px1 * (t13 + t12 + t11) + t8));
   1669 
   1670     trans->m[0][1] =
   1671 	(t161 * (px0 * (x1 * (t382 + t156 + t346 + t345)
   1672 			+ py1 * t733 + t247
   1673 			+ y1 * (t694 + x1 * (t358 + t153 + t55 + t339) + py1 * t681
   1674 				+ t144 + t282 + t668) + t726 + t283 + t244
   1675 			+ px1 * t646 * t1)
   1676 		 + py0 * (x1 * (px1 * t601 + t343 + t342 + t341)
   1677 			  + px1 * t729 + t219
   1678 			  + y1 * (px1 * t692 + px1 * x1 * t76 + t49 + t48 + t47) + t218
   1679 			  + t217 + px1 * t66 * t1) + x1 * (px1 * t746 + t375)
   1680 		 + px1 * (t727 + t725 + t724) + t195
   1681 		 + y1 * (px1 * (t325 + t143 + t691) + t269 + px1 * x1 * t36)
   1682 		 + px1 * t21 * t1)
   1683 	 + x0 * (py0 * (t29 * t356 + t745 + t212
   1684 			+ y1
   1685 			* (x1 * (px1 * t719 + t84 + t83 + t82)
   1686 			   + px1 * t698 + t40 + t39 + t38) + px1 * x1 * y2 * t741
   1687 			+ t211 + t210 + px1 * t650 * t1)
   1688 		 + px0 * (t29 * (t602 + t148 + t364 + t744)
   1689 			  + t743 + t722
   1690 			  + y1 * (x1 * (t720 + py1 * t708 + t200 + t143 + t706)
   1691 				  + t702 + py1 * t684 + t676 + t659 + t675)
   1692 			  + x1 * (t607 + px1 * y2 * (x2 * (t362 + t361) + t481 + t609) + t742)
   1693 			  + t237 + t721 + px1 * t651 * t1) + t29 * t348 + t739 + t187
   1694 		 + y1 * (x1 * (px1 * (t125 + t197 + t245 + t717) + t50)
   1695 			 + px1 * (t696 + t13 + t695) + t8) + px1 * x1 * y2 * t606
   1696 		 + px1 * t737 * t1)
   1697 	 + py0 * (x1 * (px1 * t736 + t186 + t185 + t184)
   1698 		  + t29 * (px1 * t733 + t194 + t193 + t192)
   1699 		  + y1 * (x1 * (px1 * t712 + t7 + t6 + t4) + t732) + px1 * t537 * t1)
   1700 	 + px0 * (x1 * (t568 + t731 + t189 + t730)
   1701 		  + t29 * (py1 * t729 + t727 + t726 + t725 + t724)
   1702 		  + y1 * (x1 * (t715 + py1 * t707 + t705 + t12 + t704) + t546 + t670 + t669)
   1703 		  + px1 * t539 * t1) + x1 * (px1 * t723 + t275)
   1704 	 + t29 * (px1 * (t247 + t283 + t244) + t278)
   1705 	 + y0 * (x0 * (px0 * (x1 * (t720 + py1 * t719 + t125 + t197 + t245 + t717)
   1706 			      + t715 + py1 * t712 + t29 * (t162 + t35 + t34 + t33) + t660
   1707 			      + t659 + t658
   1708 			      + (t688 + t711 + t431
   1709 				 + x1
   1710 				 * (px1 * (t305 + t304 + (t710 + t709) * x2)
   1711 				    + t100 + t26 + t94 + t96) + t27 + t661)
   1712 			      * y1)
   1713 		       + py0 * (x1 * (px1 * t708 + t49 + t48 + t47)
   1714 				+ px1 * t707 + px1 * t29 * t349 + t40 + t39 + t38
   1715 				+ (t286 + t3 + px1 * x1 * t99 + t23 + t22) * y1)
   1716 		       + x1 * (px1 * (t200 + t143 + t706) + t269) + px1 * (t705 + t12 + t704)
   1717 		       + t8 + px1 * t29 * t340 + (t264 + t262 + px1 * x1 * t338) * y1)
   1718 		 + px0 * (x1 * (t702 + py1 * t698 + t696 + t13 + t695)
   1719 			  + t29 * (t694 + py1 * t692 + t325 + t143 + t691) + t398 + t392 + t391
   1720 			  + (x1 * (t688 + t104 + t43 + t95 + t93)
   1721 			     + px1 * (x2 * (t558 + t687) + t5 * t686) + t412 + t665 + t664)
   1722 			  * y1)
   1723 		 + py0 * (x1 * (px1 * t684 + t7 + t6 + t4) + t682
   1724 			  + t29 * (px1 * t681 + t84 + t83 + t82)
   1725 			  + (px1 * t411 + x1 * t679) * y1)
   1726 		 + x1 * (px1 * (t676 + t659 + t675) + t41) + t672
   1727 		 + t29 * (px1 * (t144 + t282 + t668) + t50) + (px1 * t666 + x1 * t663) * y1)
   1728 	 + y1 * (x1 * (px1 * (t660 + t659 + t658) + t41) + t655) + px1 * t653 * t1
   1729 	 + px0 * t652 * t14)
   1730 	;
   1731 
   1732     trans->m[0][2] =
   1733 	(x0 * (px0 * (y1 * (x1 * (t813 + py1 * t807 + t805 + t725 + t803)
   1734 			    + t799 + t568 + t731 + t189 + t730)
   1735 		      + x1 * (px1 * (x2 * y2 * (t815 + t814) + t142 * t308)
   1736 			      + t235 + t230 + t229) + t29 * (t170 + t159 + t155)
   1737 		      + t1 * (t769 + py1 * t759 + t753 + t752 + t751))
   1738 	       + py0 * (y1 * (x1 * (px1 * t812 + t194 + t193 + t192)
   1739 			      + t295 + t186 + t185 + t184)
   1740 			+ px1 * x1 * t234 + px1 * t29 * t379
   1741 			+ t1 * (px1 * t768 + t7 + t6 + t4))
   1742 	       + y1 * (x1 * (px1 * (t773 + t810 + t771) + t278) + t277 + t275)
   1743 	       + px1 * x1 * t374 + px1 * t29 * t373
   1744 	       + t1 * (px1 * (t765 + t45 + t764) + t41))
   1745 	 + y0 * (x0 * (px0 * (x1 * (t813 + py1 * t812 + t773 + t810 + t771)
   1746 			      + t495 + t29 * (t809 + t149 + t346 + t774)
   1747 			      + y1
   1748 			      * (x1
   1749 				 * (px1 * (x2 * t386 + t686 * y2)
   1750 				    + t598 + t503 + t800)
   1751 				 + t798 + py1 * t790 + t787 + t752 + t786)
   1752 			      + (t808 + t389 + t95 + t747) * t1)
   1753 		       + py0 * (x1 * (px1 * t807 + t219 + t218 + t217)
   1754 				+ px1 * t490 + t29 * t380
   1755 				+ y1 * (px1 * x1 * t597 + px1 * t797 + t7 + t6 + t4)
   1756 				+ t679 * t1)
   1757 		       + x1 * (px1 * (t805 + t725 + t803) + t195) + px1 * t802
   1758 		       + t29 * t377
   1759 		       + y1 * (px1 * x1 * t801 + px1 * (t795 + t46 + t794) + t41)
   1760 		       + t663 * t1)
   1761 		 + px0 * (x1 * (t799 + t243 + t238 + t237 + t236)
   1762 			  + t29 * (t783 + py1 * t777 + t773 + t772 + t771)
   1763 			  + y1 * (x1 * (t798 + py1 * t797 + t795 + t46 + t794)
   1764 				  + px1 * (t5 * (t481 + t609) + x2 * (t792 + t791) * y2)
   1765 				  + t546 + t670 + t669) + (t538 + t648 + t645) * t1)
   1766 		 + py0 * (x1 * (t745 + t212 + t211 + t210)
   1767 			  + t29 * (px1 * t782 + t219 + t218 + t217)
   1768 			  + y1 * (x1 * (px1 * t790 + t40 + t39 + t38) + t682)
   1769 			  + px1 * t411 * t1) + x1 * (t739 + t187)
   1770 		 + t29 * (px1 * (t727 + t780 + t724) + t195)
   1771 		 + y1 * (x1 * (px1 * (t787 + t752 + t786) + t8) + t672)
   1772 		 + px1 * t666 * t1)
   1773 	 + t161 * (px0 * (y1
   1774 			  * (t783 + x1 * (t368 + t157 + t364 + t363) + py1 * t782
   1775 			     + t727 + t780 + t724)
   1776 			  + x1 * (t383 + t372 + t371) + t500
   1777 			  + t1 * (t762 + py1 * t756 + t125 + t272 + t749))
   1778 		   + py0 * (y1
   1779 			    * (x1 * (px1 * t779 + t352 + t351 + t350)
   1780 			       + px1 * t777 + t194 + t193 + t192)
   1781 			    + px1 * x1 * t169 + px1 * t209
   1782 			    + t1 * (px1 * t761 + t84 + t83 + t82))
   1783 		   + y1 * (x1 * (px1 * t775 + t344) + px1 * (t773 + t772 + t771)
   1784 			   + t278) + px1 * x1 * t160
   1785 		   + px1 * t152 + t1 * (px1 * (t144 + t245 + t760) + t50))
   1786 	 + px0 * t770
   1787 	 + t14 * (px0 * (x1 * (t769 + py1 * t768 + t765 + t45 + t764)
   1788 			 + t29 * (t762 + py1 * t761 + t144 + t245 + t760) + t406
   1789 			 + (t412 + x1 * (t711 + t431 + t27 + t661) + t665 + t664)
   1790 			 * y1)
   1791 		  + py0 * (x1 * (px1 * t759 + t40 + t39 + t38)
   1792 			   + t732 + t29 * (px1 * t756 + t49 + t48 + t47)
   1793 			   + (px1 * t537 + x1 * (px1 * t755 + t3 + t23 + t22)) * y1)
   1794 		  + x1 * (px1 * (t753 + t752 + t751) + t8) + t655
   1795 		  + t29 * (px1 * (t125 + t272 + t749) + t269)
   1796 		  + (x1 * (px1 * t748 + t262) + px1 * t653) * y1));
   1797 
   1798     trans->m[1][0] = (x0 * (py0 * (x1 * (t516 + py1 * (y2 * (t631 + t806) + t142 * t933) + t372
   1799 					 + t371)
   1800 				   + y1 * (px1 * t929 + x1 * (t514 + t918 + t157 + t364 + t363) + t908
   1801 					   + t893 + t725 + t892) + t500 + t151
   1802 				   + t1 * (px1 * t855 + t845 + t325 + t125 + t835) + t146)
   1803 			    + px0 * (y1 * (x1 * t932 + py1 * t904 + t872 + t871 + t870)
   1804 				     + py1 * x1 * t515 + py1 * t638
   1805 				     + t1 * (py1 * t844 + t833 + t832 + t831))
   1806 			    + y1 * (x1 * t931 + t863 + py1 * (t247 + t810 + t244)) + py1 * t374
   1807 			    + py1 * x1 * t373 + t1 * (t888 + py1 * (t54 + t282 + t841)))
   1808 		      + y0 * (px0 * (x1 * (py1 * t929 + t862 + t861 + t860)
   1809 				     + t927 + py1 * t29 * t182 + t858
   1810 				     + y1 * (py1 * t896 + x1 * (py1 * t914 + t833 + t832 + t831)) + t857
   1811 				     + t856 + (t926 + t817 + t823 + t822) * t1)
   1812 			      + x0 * (px0 * (x1 * t925 + py1 * t878 + t862
   1813 					     + y1
   1814 					     * (py1 * t902 + py1 * x1 * t916 + t853 + t852
   1815 						+ t851) + t861 + t860
   1816 					     + py1 * t693 * t1)
   1817 				      + py0 * (x1 * (t921 + t918 + t156 + t346 + t345)
   1818 					       + t883 + px1 * t875 + t247
   1819 					       + y1 * (x1 * (t917 + py1 * (t328 + t88 + (t915 + t718) * y2)
   1820 							     + t153 + t55 + t339)
   1821 						       + t899 + px1 * t914 + t322 + t143 + t245 + t887) + t772
   1822 					       + t244 + (t647 + t20 + t19 + t18) * t1) + x1 * t913 + t891
   1823 				      + py1 * (t202 + t780 + t196)
   1824 				      + y1 * (py1 * (t200 + t125 + t898) + t834 + py1 * x1 * t340)
   1825 				      + py1 * t338 * t1)
   1826 			      + py0 * (x1 * (t908 + px1 * t904 + t247 + t810 + t244)
   1827 				       + t903 + py1 * t29 * t179 + t722
   1828 				       + y1 * (x1 * (px1 * t902 + t899 + t200 + t125 + t898)
   1829 					       + t897 + py1 * (x2 * t894 + x2 * (t86 + t628) * y2) + t267
   1830 					       + t266) + t237 + t721 + (t593 + t389 + t95 + t747) * t1)
   1831 			      + x1 * (py1 * (t893 + t725 + t892) + t891) + t890 + t889 + py1 * t29 * t274
   1832 			      + y1 * (x1 * (t888 + py1 * (t322 + t143 + t245 + t887)) + py1 * t268)
   1833 			      + (t885 + t884) * t1)
   1834 		      + py0 * (y1 * (x1 * (t883 + px1 * t878 + t202 + t780 + t196)
   1835 				     + t641 + t731 + t189 + t730)
   1836 			       + x1 * (t639 + t230 + t229) + py1 * t29 * t169
   1837 			       + t1 * (t840 + px1 * t850 + t13 + t752 + t825))
   1838 		      + px0 * (y1 * (x1 * (py1 * t875 + t872 + t871 + t870)
   1839 				     + py1 * t869 + t866 + t865 + t864)
   1840 			       + py1 * x1 * t499 + py1 * t29 * t174
   1841 			       + t1 * (py1 * t838 + t829 + t828 + t827))
   1842 		      + y1 * (x1 * (t863 + py1 * (t247 + t772 + t244)) + t859 + py1 * t723)
   1843 		      + py0 * t161 * t183 + py1 * t29 * t160 + py1 * x1 * t152
   1844 		      + t14 * (px0 * (x1 * (py1 * t855 + t853 + t852 + t851)
   1845 				      + py1 * t850 + py1 * t29 * t109 + t820 + t819 + t818
   1846 				      + (py1 * t592 + t826 + py1 * x1 * t646 + t847 + t846) * y1)
   1847 			       + py0 * (x1 * (t845 + px1 * t844 + t54 + t282 + t841)
   1848 					+ t840 + px1 * t838 + py1 * t29 * t76 + t46 + t659 + t816
   1849 					+ (t421 + t431 + x1 * (t836 + t26 + t94 + t96) + t27 + t661) * y1)
   1850 			       + x1 * (py1 * (t325 + t125 + t835) + t834) + t830
   1851 			       + py1 * (t13 + t752 + t825) + py1 * t29 * t36
   1852 			       + (t824 + py1 * t748 + py1 * x1 * t21) * y1)
   1853 		      + t1 * (t821 + py1 * (t46 + t659 + t816)))
   1854 	;
   1855 
   1856     trans->m[1][1] = (t161 * (px0 * (x1 * (py1 * t603 + t911 + t910 + t909)
   1857 				     + py1 * t980 + t872
   1858 				     + y1 * (py1 * t944 + py1 * x1 * t109 + t833 + t832 + t831) + t871
   1859 				     + t870 + py1 * t646 * t1)
   1860 			      + py0 * (x1 * (t514 + t157 + t364 + t363)
   1861 				       + px1 * t974 + t202
   1862 				       + y1 * (x1 * (t917 + t153 + t55 + t339)
   1863 					       + t943 + px1 * t955 + t143 + t124 + t938) + t978 + t725
   1864 				       + t196 + py1 * t66 * t1) + x1 * (t930 + py1 * t775) + t863
   1865 			      + py1 * (t773 + t283 + t771)
   1866 			      + y1 * (py1 * (t58 + t144 + t942) + t888 + py1 * x1 * t36)
   1867 			      + py1 * t21 * t1)
   1868 		      + x0 * (py0 * (t29 * (t604 + t149 + t346 + t774)
   1869 				     + t984 + t190
   1870 				     + y1 * (x1 * (px1 * t972 + t970 + t313 + t144 + t960)
   1871 					     + px1 * t958 + t950 + t787 + t12 + t939)
   1872 				     + x1 * (t607 + t983 + py1 * y2 * (x2 * (t328 + t88) + t293 + t327))
   1873 				     + t189 + t188 + py1 * t650 * t1)
   1874 			      + px0 * (t29 * t925 + t982 + t866
   1875 				       + y1
   1876 				       * (x1 * (py1 * t969 + t853 + t852 + t851)
   1877 					  + py1 * t947 + t829 + t828 + t827)
   1878 				       + py1 * x1 * y2 * t334 + t865 + t864 + py1 * t651 * t1)
   1879 			      + t29 * t913 + t859 + t981
   1880 			      + y1 * (x1 * (t834 + py1 * (t633 + t54 + t272 + t968))
   1881 				      + py1 * (t946 + t46 + t945) + t821) + py1 * x1 * y2 * t606
   1882 			      + py1 * t737 * t1)
   1883 		      + py0 * (x1 * (t573 + t238 + t237 + t236)
   1884 			       + t29 * (px1 * t980 + t773 + t978 + t283 + t771)
   1885 			       + y1 * (x1 * (t965 + px1 * t971 + t765 + t659 + t959) + t550 + t670 + t669)
   1886 			       + py1 * t537 * t1)
   1887 		      + px0 * (x1 * (py1 * t977 + t858 + t857 + t856)
   1888 			       + t29 * (py1 * t974 + t862 + t861 + t860)
   1889 			       + y1 * (x1 * (py1 * t966 + t820 + t819 + t818) + t973) + py1 * t539 * t1)
   1890 		      + x1 * (t890 + py1 * t191) + t29 * (t891 + py1 * (t202 + t725 + t196))
   1891 		      + y0 * (x0 * (px0 * (x1 * (py1 * t972 + t833 + t832 + t831)
   1892 					   + py1 * t971 + py1 * t29 * t916 + t829 + t828 + t827
   1893 					   + (t926 + t817 + py1 * x1 * t693 + t823 + t822) * y1)
   1894 				    + py0 * (x1 * (t970 + px1 * t969 + t633 + t54 + t272 + t968)
   1895 					     + px1 * t966 + t965 + t29 * (t163 + t35 + t34 + t33) + t753 + t12
   1896 					     + t935
   1897 					     + (t962 + t941 + t43
   1898 						+ x1
   1899 						* (t836 + py1 * (t86 + t628 + (t961 + t291) * x2)
   1900 						   + t26 + t94 + t96) + t95 + t93)
   1901 					     * y1) + x1 * (py1 * (t313 + t144 + t960) + t888) + t821
   1902 				    + py1 * (t765 + t659 + t959) + py1 * t29 * t340
   1903 				    + (t885 + t884 + py1 * x1 * t338) * y1)
   1904 			      + px0 * (x1 * (py1 * t958 + t820 + t819 + t818)
   1905 				       + t956 + t29 * (py1 * t955 + t853 + t852 + t851)
   1906 				       + (py1 * t415 + x1 * t953) * y1)
   1907 			      + py0 * (x1 * (t950 + px1 * t947 + t946 + t46 + t945)
   1908 				       + t29 * (px1 * t944 + t943 + t58 + t144 + t942) + t406 + t392 + t391
   1909 				       + (x1 * (t421 + t941 + t431 + t27 + t661)
   1910 					  + t416 + py1 * (x2 * (t554 + t796) + t5 * t940) + t665 + t664)
   1911 				       * y1) + x1 * (py1 * (t787 + t12 + t939) + t830)
   1912 			      + t29 * (t834 + py1 * (t143 + t124 + t938)) + t937
   1913 			      + (x1 * t936 + py1 * t666) * y1)
   1914 		      + y1 * (x1 * (py1 * (t753 + t12 + t935) + t830) + t934) + py1 * t653 * t1
   1915 		      + py0 * t652 * t14)
   1916 	;
   1917 
   1918     trans->m[1][2] = (y0 * (x0 * (px0 * (x1 * (py1 * t1016 + t872 + t871 + t870)
   1919 					 + py1 * t494 + t29 * t932
   1920 					 + y1
   1921 					 * (py1 * t1025 + py1 * x1 * t599 + t820 + t819
   1922 					    + t818) + t953 * t1)
   1923 				  + py0 * (x1 * (t1015 + px1 * t1009 + t727 + t326 + t724)
   1924 					   + t29 * (t1028 + t148 + t364 + t744) + t491
   1925 					   + y1
   1926 					   * (x1
   1927 					      * (t600 + py1 * (x2 * t933 + t940 * y2) + t503
   1928 						 + t800)
   1929 					      + px1 * t1020 + t1026 + t676 + t45 + t1017)
   1930 					   + (t1027 + t10 + t27 + t25) * t1)
   1931 				  + x1 * (py1 * (t1014 + t283 + t1012) + t863) + t29 * t931
   1932 				  + py1 * t802
   1933 				  + y1 * (py1 * x1 * t801 + py1 * (t1024 + t13 + t1023) + t830)
   1934 				  + t936 * t1)
   1935 			    + py0 * (t29 * (t1007 + px1 * t1002 + t727 + t201 + t724)
   1936 				     + x1 * (t1011 + t641 + t731 + t189 + t730)
   1937 				     + y1 * (x1 * (t1026 + px1 * t1025 + t1024 + t13 + t1023)
   1938 					     + t550
   1939 					     + py1
   1940 					     * (t5 * (t293 + t327) + x2 * (t1021 + t697) * y2)
   1941 					     + t670 + t669) + (t540 + t648 + t645) * t1)
   1942 			    + px0 * (x1 * (t982 + t866 + t865 + t864)
   1943 				     + t29 * (py1 * t1006 + t872 + t871 + t870)
   1944 				     + y1 * (x1 * (py1 * t1020 + t829 + t828 + t827) + t956)
   1945 				     + py1 * t415 * t1) + x1 * (t859 + t981)
   1946 			    + t29 * (t863 + py1 * (t773 + t246 + t771))
   1947 			    + y1 * (x1 * (py1 * (t676 + t45 + t1017) + t821) + t937)
   1948 			    + py1 * t666 * t1)
   1949 		      + x0 * (py0 * (y1 * (x1 * (px1 * t1016 + t1015 + t1014 + t283 + t1012)
   1950 					   + t1011 + t573 + t238 + t237 + t236)
   1951 				     + x1 * (t639
   1952 					     + py1 * (x2 * y2 * (t1010 + t300) + t142 * t894)
   1953 					     + t230 + t229) + t29 * (t175 + t159 + t155)
   1954 				     + t1 * (px1 * t1000 + t994 + t660 + t45 + t986))
   1955 			      + px0 * (y1 * (x1 * (py1 * t1009 + t862 + t861 + t860)
   1956 					     + t927 + t858 + t857 + t856)
   1957 				       + py1 * t29 * t515 + py1 * x1 * t638
   1958 				       + t1 * (py1 * t993 + t820 + t819 + t818))
   1959 			      + y1 * (x1 * (t891 + py1 * (t727 + t326 + t724)) + t890 + t889)
   1960 			      + py1 * x1 * t374 + py1 * t29 * t373
   1961 			      + t1 * (t830 + py1 * (t705 + t752 + t990)))
   1962 		      + t161 * (py0 * (x1 * (t516 + t372 + t371)
   1963 				       + y1
   1964 				       * (x1 * (t921 + t156 + t346 + t345)
   1965 					  + t1007 + px1 * t1006 + t773 + t246 + t771) + t381
   1966 				       + t1 * (t989 + px1 * t997 + t54 + t245 + t985))
   1967 				+ px0 * (y1
   1968 					 * (x1 * (py1 * t1004 + t924 + t923 + t922)
   1969 					    + py1 * t1002 + t862 + t861 + t860)
   1970 					 + py1 * t499 + py1 * x1 * t174
   1971 					 + t1 * (py1 * t988 + t853 + t852 + t851))
   1972 				+ y1 * (x1 * (t912 + py1 * t746) + t891
   1973 					+ py1 * (t727 + t201 + t724))
   1974 				+ py1 * x1 * t160 + py1 * t152
   1975 				+ t1 * (t834 + py1 * (t143 + t272 + t987))) + py0 * t770
   1976 		      + t14 * (px0 * (x1 * (py1 * t1000 + t829 + t828 + t827)
   1977 				      + t973 + t29 * (py1 * t997 + t833 + t832 + t831)
   1978 				      + (py1 * t539 + x1 * (py1 * t996 + t817 + t823 + t822))
   1979 				      * y1)
   1980 			       + py0 * (x1 * (t994 + px1 * t993 + t705 + t752 + t990)
   1981 					+ t29 * (t989 + px1 * t988 + t143 + t272 + t987) + t398
   1982 					+ (t416 + x1 * (t962 + t43 + t95 + t93) + t665 + t664)
   1983 					* y1) + x1 * (py1 * (t660 + t45 + t986) + t821)
   1984 			       + t29 * (t888 + py1 * (t54 + t245 + t985)) + t934
   1985 			       + (x1 * (t885 + py1 * t28) + py1 * t653) * y1));
   1986 
   1987     trans->m[2][0] = (x0 * (px0 * (y1 * (x1 * t617 + t586 + t877 + t1008 + t876)
   1988 				   + x1 * t515 + t637 + t1 * (t475 + t136 + t620 + t1036) + t636)
   1989 			    + py0 * (y1 * (t579 + x1 * t627 + t251 + t811 + t248)
   1990 				     + x1 * t379 + t233 + t1 * (t455 + t87 + t298 + t1035) + t232)
   1991 			    + x1 * (t516 + t383 + y2 * (t804 + t1013) + t142 * t595)
   1992 			    + y1 * (px1 * (t1047 + t979 + t1046)
   1993 				    + x1 * (t921 + t368 + t157 + t156 + t1048)
   1994 				    + py1 * (t1044 + t728 + t1043) + t505 + t607 + t502) + t500 + t381
   1995 			    + t1 * (px1 * (t611 + t135 + t1038) + py1 * (t330 + t128 + t1037) + t423
   1996 				    + t125 + t54 + t1034))
   1997 		      + y0 * (x0 * (py0 * (x1 * t1050 + t533 + t226
   1998 					   + y1 * (t529 + t224 + x1 * t349 + t128 + t1040)
   1999 					   + t781 + t220 + t99 * t1)
   2000 				    + px0 * (t528 + x1 * t1049 + t874
   2001 					     + y1 * (t517 + x1 * t916 + t520 + t135 + t1041) + t1005
   2002 					     + t873 + t693 * t1)
   2003 				    + x1 * (t514 + t382 + t157 + t156 + t1048)
   2004 				    + px1 * (t877 + t1001 + t876) + py1 * (t251 + t776 + t248) + t608
   2005 				    + y1 * (x1 * (t917 + t358 + t56 + t323 + (t716 + t967) * y2)
   2006 					    + px1 * (t118 + t609 + t471 + t1045)
   2007 					    + py1 * (t204 + t327 + t249 + t1042) + t503 + t144 + t143
   2008 					    + t1039) + t504 + t605 + (t647 + t357) * t1)
   2009 			      + px0 * (x1 * (t528 + t1047 + t979 + t1046)
   2010 				       + t643 + t29 * t182 + t571
   2011 				       + y1 * (x1 * (t475 + t118 + t609 + t471 + t1045) + t701 + t895)
   2012 				       + t570 + t569 + (t468 + t441 + t466 + t951) * t1)
   2013 			      + py0 * (x1 * (t533 + t1044 + t728 + t1043)
   2014 				       + t642 + t29 * t179 + t566
   2015 				       + y1 * (x1 * (t455 + t204 + t327 + t249 + t1042) + t289 + t288)
   2016 				       + t214 + t565 + (t436 + t450 + t69 + t677) * t1)
   2017 			      + x1 * (px1 * (t877 + t1008 + t876) + py1 * (t251 + t811 + t248) + t505
   2018 				      + t607 + t502) + t984 + t743
   2019 			      + t29 * t274
   2020 			      + y1 * (x1 * (px1 * (t520 + t135 + t1041) + py1 * (t224 + t128 + t1040)
   2021 					    + t503 + t144 + t143 + t1039)
   2022 				      + t897 + t303 + x2 * t634 + x2 * (t690 + t52) * y2)
   2023 			      + (t1027 + t808) * t1)
   2024 		      + py0 * (y1 * (x1 * (t579 + t251 + t776 + t248) + t581 + t735 + t240 + t734)
   2025 			       + t29 * t169 + x1 * t209 + t1 * (t461 + t80 + t683 + t1032))
   2026 		      + px0 * (y1 * (x1 * (t586 + t877 + t1001 + t876) + t591 + t976 + t588 + t975)
   2027 			       + x1 * t499 + t29 * t174 + t1 * (t484 + t849 + t957 + t1033))
   2028 		      + y1 * (x1 * (px1 * (t874 + t1005 + t873) + py1 * (t226 + t781 + t220) + t608
   2029 				    + t504 + t605)
   2030 			      + t573 + t568) + t161 * t183 + x1 * (t639 + t235) + t29 * t160
   2031 		      + t14 * (px0 * (x1 * (t517 + t611 + t135 + t1038)
   2032 				      + t615 + t29 * t109 + t560 + t443 + t1031
   2033 				      + (t399 + t613 + x1 * t646 + t418 + t995) * y1)
   2034 			       + py0 * (x1 * (t529 + t330 + t128 + t1037)
   2035 					+ t625 + t29 * t76 + t112 + t438 + t1030
   2036 					+ (t623 + t393 + t102 + x1 * t66 + t754) * y1)
   2037 			       + x1 * (px1 * (t136 + t620 + t1036) + py1 * (t87 + t298 + t1035) + t423
   2038 				       + t125 + t54 + t1034)
   2039 			       + px1 * (t849 + t957 + t1033) + py1 * (t80 + t683 + t1032) + t434
   2040 			       + t29 * t36 + t1029 + (t962 + t711 + x1 * (t836 + t100)) * y1)
   2041 		      + t1 * (px1 * (t560 + t443 + t1031) + py1 * (t112 + t438 + t1030) + t434
   2042 			      + t1029))
   2043 	;
   2044 
   2045     trans->m[2][1] = (t161 * (px0 * (x1 * (t616 + t180 + t512 + t1003)
   2046 				     + t586 + t510 + y1 * (t475 + t854 + x1 * t109 + t117 + t1062)
   2047 				     + t621 + t508 + t646 * t1)
   2048 			      + py0 * (t579 + x1 * (t177 + t626 + t354 + t778) + t507
   2049 				       + y1 * (t455 + x1 * t76 + t91 + t203 + t1061) + t299
   2050 				       + t506 + t66 * t1) + x1 * (t921 + t368)
   2051 			      + px1 * (t874 + t979 + t873) + py1 * (t226 + t728 + t220)
   2052 			      + y1 * (x1 * (t917 + t358) + px1 * (t118 + t843 + t1063)
   2053 				      + py1 * (t204 + t127 + t1065) + t423 + t144
   2054 				      + t143 + t1060) + t504 + t21 * t1)
   2055 		      + x0 * (py0 * (t29 * t1050 + t581 + t241
   2056 				     + y1
   2057 				     * (x1 * (t529 + t87 + t577 + t292 + t1070)
   2058 					+ t461 + t1057 + t80 + t1056) + x1 * y2 * t741 + t240
   2059 				     + t239 + t650 * t1)
   2060 			      + px0 * (t591 + t29 * t1049 + t589
   2061 				       + y1 * (x1 * (t517 + t136 + t306 + t428 + t1071)
   2062 					       + t484 + t1059 + t849 + t1058) + x1 * y2 * t334 + t588
   2063 				       + t587 + t651 * t1) + t29 * (t1028 + t809) + t903 + t321
   2064 			      + y1 * (x1 * (px1 * (t901 + t117 + t1072) + py1 * (t317 + t203 + t1073)
   2065 					    + t503 + t125 + t54 + t1069)
   2066 				      + px1 * (t1019 + t837 + t1064) + py1 * (t789 + t111 + t1066) + t267
   2067 				      + t433 + t1055)
   2068 			      + x1 * (y2 * (x2 * (t56 + t323) + t322 + t273) + t983 + t742) + t737 * t1)
   2069 		      + py0 * (x1 * (t642 + t215 + t214 + t213) + t29 * (t533 + t226 + t728 + t220)
   2070 			       + y1
   2071 			       * (x1 * (t625 + t758 + t111 + t1067)
   2072 				  + t396 + t395) + t537 * t1)
   2073 		      + px0 * (x1 * (t643 + t868 + t570 + t867) + t29 * (t528 + t874 + t979 + t873)
   2074 			       + y1
   2075 			       * (x1 * (t615 + t999 + t837 + t1068)
   2076 				  + t404 + t402) + t539 * t1)
   2077 		      + x1 * (t641 + t243)
   2078 		      + t29 * (px1 * (t510 + t621 + t508) + py1 * (t507 + t299 + t506) + t504)
   2079 		      + y0 * (x0 * (py0 * (x1 * (t455 + t317 + t203 + t1073)
   2080 					   + t461 + t29 * t349 + t767 + t683 + t1052
   2081 					   + (t436 + t450 + x1 * t99 + t69 + t677) * y1)
   2082 				    + px0 * (x1 * (t475 + t901 + t117 + t1072)
   2083 					     + t484 + t29 * t916 + t992 + t957 + t1053
   2084 					     + (t468 + t441 + t466 + x1 * t693 + t951) * y1)
   2085 				    + x1 * (px1 * (t136 + t306 + t428 + t1071)
   2086 					    + py1 * (t87 + t577 + t292 + t1070) + t503 + t125 + t54 + t1069)
   2087 				    + px1 * (t999 + t837 + t1068) + py1 * (t758 + t111 + t1067)
   2088 				    + t29 * (t163 + t162) + t434 + t553 + t1051
   2089 				    + (t421 + t104 + t431 + t43
   2090 				       + x1 * (t836 + t100 + t690 + t52 + (t270 + t886) * x2)
   2091 				       + t1054)
   2092 				    * y1)
   2093 			      + py0 * (x1 * (t625 + t789 + t111 + t1066)
   2094 				       + t29 * (t529 + t204 + t127 + t1065) + t544 + t543
   2095 				       + (x1 * t624 + t410 + t409) * y1)
   2096 			      + px0 * (x1 * (t615 + t1019 + t837 + t1064)
   2097 				       + t29 * (t517 + t118 + t843 + t1063) + t548 + t547
   2098 				       + (x1 * t614 + t414 + t413) * y1)
   2099 			      + t29 * (px1 * (t854 + t117 + t1062) + py1 * (t91 + t203 + t1061) + t423
   2100 				       + t144 + t143 + t1060)
   2101 			      + x1 * (px1 * (t1059 + t849 + t1058) + py1 * (t1057 + t80 + t1056) + t267
   2102 				      + t433 + t1055) + t406 + t398
   2103 			      + (t416 + x1 * (t962 + t711 + t431 + t43 + t1054) + t412
   2104 				 + x2 * (t793 + t1022) + t5 * t594)
   2105 			      * y1)
   2106 		      + y1 * (x1 * (px1 * (t992 + t957 + t1053) + py1 * (t767 + t683 + t1052) + t434
   2107 				    + t553 + t1051)
   2108 			      + t550 + t546) + t653 * t1 + t652 * t14)
   2109 	;
   2110     trans->m[2][2] = t644;
   2111 }
   2112 
   2113 static void
   2114 print_trans (const char *header, struct pixman_f_transform *trans)
   2115 {
   2116     int i, j;
   2117     double max;
   2118 
   2119     max = 0;
   2120 
   2121     printf ("%s\n", header);
   2122 
   2123     for (i = 0; i < 3; ++i)
   2124     {
   2125 	for (j = 0; j < 3; ++j)
   2126 	{
   2127 	    double a = fabs (trans->m[i][j]);
   2128 
   2129 	    if (a > max)
   2130 		max = a;
   2131 	}
   2132     }
   2133 
   2134     if (max == 0.0)
   2135 	max = 1.0;
   2136 
   2137     for (i = 0; i < 3; ++i)
   2138     {
   2139 	printf ("{ ");
   2140 	for (j = 0; j < 3; ++j)
   2141 	{
   2142 	    printf ("D2F (%.5f)%s", 16384 * (trans->m[i][j] / max), j == 2 ? "" : ", ");
   2143 	}
   2144 
   2145 	printf ("},\n");
   2146     }
   2147 }
   2148 
   2149 int
   2150 main ()
   2151 {
   2152     struct pixman_f_transform t;
   2153 
   2154 #if 0
   2155     quad_to_quad (75, 200,
   2156 		  325, 200,
   2157 		  450, 335,
   2158 		  -50, 335,
   2159 
   2160 		  0, 0,
   2161 		  400, 0,
   2162 		  400, 400,
   2163 		  0, 400,
   2164 
   2165 		  &t);
   2166 #endif
   2167     quad_to_quad (
   2168 	1, 0,
   2169 	1, 2,
   2170 	2, 2,
   2171 	2, 0,
   2172 
   2173 	1, 0,
   2174 	1, 112,
   2175 	2, 2,
   2176 	2, 0,
   2177 
   2178 	&t);
   2179 
   2180     print_trans ("0->0", &t);
   2181 
   2182     return 0;
   2183 }
   2184