Add qemu 2.4.0
[kvmfornfv.git] / qemu / pixman / demos / quad2quad.c
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 }