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 */
9static void
10quad_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
2113static void
2114print_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
2149int
2150main ()
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