• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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
quad_to_quad(double x0,double y0,double x1,double y1,double x2,double y2,double x3,double y3,double px0,double py0,double px1,double py1,double px2,double py2,double px3,double py3,struct pixman_f_transform * trans)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
print_trans(const char * header,struct pixman_f_transform * trans)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
main()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