Last active
May 12, 2016 18:54
-
-
Save veltman/dea15a7cced808ccc6c022c0e70cb12e to your computer and use it in GitHub Desktop.
Projective mapping between two quadrilaterals (the long version)
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Start and end should each be arrays of four [x,y] points | |
// Returns a projection function that takes an [x,y] point and returns the warped point | |
// See: http://graphics.cs.cmu.edu/courses/15-463/2010_fall/Papers/proj.pdf | |
function warper(start,end) { | |
var u0 = start[0][0], | |
v0 = start[0][1], | |
u1 = start[1][0], | |
v1 = start[1][1], | |
u2 = start[2][0], | |
v2 = start[2][1], | |
u3 = start[3][0], | |
v3 = start[3][1], | |
x0 = end[0][0], | |
y0 = end[0][1], | |
x1 = end[1][0], | |
y1 = end[1][1], | |
x2 = end[2][0], | |
y2 = end[2][1], | |
x3 = end[3][0], | |
y3 = end[3][1]; | |
// Comically verbose arithmetic resulting from a symbolically inverted and multiplied matrix (computed with sympy, not by hand) | |
var a = x0*(-u0*(u0*v1 - u1*v0)*(-x0 - (u0*v1 - u1*v0)*(-v0*(1 - u1/u0)/(u0*(v1 - u1*v0/u0)) + 1/u0)*(u2*x0 - u2*x2 - (v2 - u2*v0/u0)*(u1*x0 - u1*x1)/(v1 - u1*v0/u0))/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - v0*(u1*x0 - u1*x1)/(u0*(v1 - u1*v0/u0)))*(-(u0*v1 - u1*v0)*(u1*(v2 - u2*v0/u0)/(u0*(v1 - u1*v0/u0)) - u2/u0)*(-(1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) + 1 - u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + u1*(v3 - u3*v0/u0)/(u0*(v1 - u1*v0/u0)) - u3/u0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1)/(-u0*u1*(x0 - x1)*(u0*v3 - u3*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + u0*u3*(x0 - x3)*(u0*v1 - u1*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (u1*(x0 - x1)*(u0*v2 - u2*v0) + u2*(-x0 + x2)*(u0*v1 - u1*v0))*(u0*(-u0*v1 + u1*v0) + u3*(u0*v1 - u1*v0) + (u0 - u1)*(u0*v3 - u3*v0))) + u0*(u0*v1 - u1*v0)*(-(u0*v1 - u1*v0)*(u1*(v2 - u2*v0/u0)/(u0*(v1 - u1*v0/u0)) - u2/u0)*(-(1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) + 1 - u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + u1*(v3 - u3*v0/u0)/(u0*(v1 - u1*v0/u0)) - u3/u0)*(u3*y0 - u3*y3 - (u0*v1 - u1*v0)*(u2*y0 - u2*y2 - (v2 - u2*v0/u0)*(u1*y0 - u1*y1)/(v1 - u1*v0/u0))*(-(1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) + 1 - u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (v3 - u3*v0/u0)*(u1*y0 - u1*y1)/(v1 - u1*v0/u0))*(-u0*(u0*v1 - u1*v0)*(-x0 - (u0*v1 - u1*v0)*(-v0*(1 - u1/u0)/(u0*(v1 - u1*v0/u0)) + 1/u0)*(u2*x0 - u2*x2 - (v2 - u2*v0/u0)*(u1*x0 - u1*x1)/(v1 - u1*v0/u0))/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - v0*(u1*x0 - u1*x1)/(u0*(v1 - u1*v0/u0)))*(-v3*x3 - (u0*v1 - u1*v0)*(-v2*x2 - (v2 - u2*v0/u0)*(-v1*x1 + u1*v0*x0/u0)/(v1 - u1*v0/u0) + u2*v0*x0/u0)*(-(1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) + 1 - u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (v3 - u3*v0/u0)*(-v1*x1 + u1*v0*x0/u0)/(v1 - u1*v0/u0) + u3*v0*x0/u0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1)/(-u0*u1*(x0 - x1)*(u0*v3 - u3*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + u0*u3*(x0 - x3)*(u0*v1 - u1*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (u1*(x0 - x1)*(u0*v2 - u2*v0) + u2*(-x0 + x2)*(u0*v1 - u1*v0))*(u0*(-u0*v1 + u1*v0) + u3*(u0*v1 - u1*v0) + (u0 - u1)*(u0*v3 - u3*v0))) - (u0*v1 - u1*v0)*(-v0*(1 - u1/u0)/(u0*(v1 - u1*v0/u0)) + 1/u0)*(-v2*x2 - (v2 - u2*v0/u0)*(-v1*x1 + u1*v0*x0/u0)/(v1 - u1*v0/u0) + u2*v0*x0/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - v0*x0/u0 - v0*(-v1*x1 + u1*v0*x0/u0)/(u0*(v1 - u1*v0/u0)))*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1)/((-u0*u1*(x0 - x1)*(u0*v3 - u3*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + u0*u3*(x0 - x3)*(u0*v1 - u1*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (u1*(x0 - x1)*(u0*v2 - u2*v0) + u2*(-x0 + x2)*(u0*v1 - u1*v0))*(u0*(-u0*v1 + u1*v0) + u3*(u0*v1 - u1*v0) + (u0 - u1)*(u0*v3 - u3*v0)))*(u0*(u0*v1 - u1*v0)*(-u3*y0 + u3*y3 + (u0*v1 - u1*v0)*(-u2*y0 + u2*y2 + (v2 - u2*v0/u0)*(u1*y0 - u1*y1)/(v1 - u1*v0/u0))*((1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) - 1 + u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + (v3 - u3*v0/u0)*(u1*y0 - u1*y1)/(v1 - u1*v0/u0))*(v3*x3 + (u0*v1 - u1*v0)*(v2*x2 - (v2 - u2*v0/u0)*(v1*x1 - u1*v0*x0/u0)/(v1 - u1*v0/u0) - u2*v0*x0/u0)*((1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) - 1 + u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (v3 - u3*v0/u0)*(v1*x1 - u1*v0*x0/u0)/(v1 - u1*v0/u0) - u3*v0*x0/u0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1)/(u0*u1*(x0 - x1)*(u0*v3 - u3*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - u0*u3*(x0 - x3)*(u0*v1 - u1*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + (u1*(x0 - x1)*(u0*v2 - u2*v0) - u2*(x0 - x2)*(u0*v1 - u1*v0))*(-u0*(u0*v1 - u1*v0) + u3*(u0*v1 - u1*v0) + (u0 - u1)*(u0*v3 - u3*v0))) - v3*y3 + (u0*v1 - u1*v0)*(-v2*y2 + (v2 - u2*v0/u0)*(v1*y1 - u1*v0*y0/u0)/(v1 - u1*v0/u0) + u2*v0*y0/u0)*((1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) - 1 + u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + (v3 - u3*v0/u0)*(v1*y1 - u1*v0*y0/u0)/(v1 - u1*v0/u0) + u3*v0*y0/u0)) - (u0*v1 - u1*v0)*(u1*(v2 - u2*v0/u0)/(u0*(v1 - u1*v0/u0)) - u2/u0)*(-v0*(1 - u1/u0)/(u0*(v1 - u1*v0/u0)) + 1/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + 1/u0 + u1*v0/(Math.pow(u0,2)*(v1 - u1*v0/u0))) + x1*(-u0*(u0*v1 - u1*v0)*((v2 - u2*v0/u0)*(u0*v1 - u1*v0)*(-(1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) + 1 - u3/u0)/((v1 - u1*v0/u0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1)) - (v3 - u3*v0/u0)/(v1 - u1*v0/u0))*(-x0 - (u0*v1 - u1*v0)*(-v0*(1 - u1/u0)/(u0*(v1 - u1*v0/u0)) + 1/u0)*(u2*x0 - u2*x2 - (v2 - u2*v0/u0)*(u1*x0 - u1*x1)/(v1 - u1*v0/u0))/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - v0*(u1*x0 - u1*x1)/(u0*(v1 - u1*v0/u0)))*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1)/(-u0*u1*(x0 - x1)*(u0*v3 - u3*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + u0*u3*(x0 - x3)*(u0*v1 - u1*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (u1*(x0 - x1)*(u0*v2 - u2*v0) + u2*(-x0 + x2)*(u0*v1 - u1*v0))*(u0*(-u0*v1 + u1*v0) + u3*(u0*v1 - u1*v0) + (u0 - u1)*(u0*v3 - u3*v0))) + u0*(u0*v1 - u1*v0)*((v2 - u2*v0/u0)*(u0*v1 - u1*v0)*(-(1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) + 1 - u3/u0)/((v1 - u1*v0/u0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1)) - (v3 - u3*v0/u0)/(v1 - u1*v0/u0))*(u3*y0 - u3*y3 - (u0*v1 - u1*v0)*(u2*y0 - u2*y2 - (v2 - u2*v0/u0)*(u1*y0 - u1*y1)/(v1 - u1*v0/u0))*(-(1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) + 1 - u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (v3 - u3*v0/u0)*(u1*y0 - u1*y1)/(v1 - u1*v0/u0))*(-u0*(u0*v1 - u1*v0)*(-x0 - (u0*v1 - u1*v0)*(-v0*(1 - u1/u0)/(u0*(v1 - u1*v0/u0)) + 1/u0)*(u2*x0 - u2*x2 - (v2 - u2*v0/u0)*(u1*x0 - u1*x1)/(v1 - u1*v0/u0))/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - v0*(u1*x0 - u1*x1)/(u0*(v1 - u1*v0/u0)))*(-v3*x3 - (u0*v1 - u1*v0)*(-v2*x2 - (v2 - u2*v0/u0)*(-v1*x1 + u1*v0*x0/u0)/(v1 - u1*v0/u0) + u2*v0*x0/u0)*(-(1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) + 1 - u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (v3 - u3*v0/u0)*(-v1*x1 + u1*v0*x0/u0)/(v1 - u1*v0/u0) + u3*v0*x0/u0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1)/(-u0*u1*(x0 - x1)*(u0*v3 - u3*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + u0*u3*(x0 - x3)*(u0*v1 - u1*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (u1*(x0 - x1)*(u0*v2 - u2*v0) + u2*(-x0 + x2)*(u0*v1 - u1*v0))*(u0*(-u0*v1 + u1*v0) + u3*(u0*v1 - u1*v0) + (u0 - u1)*(u0*v3 - u3*v0))) - (u0*v1 - u1*v0)*(-v0*(1 - u1/u0)/(u0*(v1 - u1*v0/u0)) + 1/u0)*(-v2*x2 - (v2 - u2*v0/u0)*(-v1*x1 + u1*v0*x0/u0)/(v1 - u1*v0/u0) + u2*v0*x0/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - v0*x0/u0 - v0*(-v1*x1 + u1*v0*x0/u0)/(u0*(v1 - u1*v0/u0)))*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1)/((-u0*u1*(x0 - x1)*(u0*v3 - u3*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + u0*u3*(x0 - x3)*(u0*v1 - u1*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (u1*(x0 - x1)*(u0*v2 - u2*v0) + u2*(-x0 + x2)*(u0*v1 - u1*v0))*(u0*(-u0*v1 + u1*v0) + u3*(u0*v1 - u1*v0) + (u0 - u1)*(u0*v3 - u3*v0)))*(u0*(u0*v1 - u1*v0)*(-u3*y0 + u3*y3 + (u0*v1 - u1*v0)*(-u2*y0 + u2*y2 + (v2 - u2*v0/u0)*(u1*y0 - u1*y1)/(v1 - u1*v0/u0))*((1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) - 1 + u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + (v3 - u3*v0/u0)*(u1*y0 - u1*y1)/(v1 - u1*v0/u0))*(v3*x3 + (u0*v1 - u1*v0)*(v2*x2 - (v2 - u2*v0/u0)*(v1*x1 - u1*v0*x0/u0)/(v1 - u1*v0/u0) - u2*v0*x0/u0)*((1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) - 1 + u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (v3 - u3*v0/u0)*(v1*x1 - u1*v0*x0/u0)/(v1 - u1*v0/u0) - u3*v0*x0/u0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1)/(u0*u1*(x0 - x1)*(u0*v3 - u3*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - u0*u3*(x0 - x3)*(u0*v1 - u1*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + (u1*(x0 - x1)*(u0*v2 - u2*v0) - u2*(x0 - x2)*(u0*v1 - u1*v0))*(-u0*(u0*v1 - u1*v0) + u3*(u0*v1 - u1*v0) + (u0 - u1)*(u0*v3 - u3*v0))) - v3*y3 + (u0*v1 - u1*v0)*(-v2*y2 + (v2 - u2*v0/u0)*(v1*y1 - u1*v0*y0/u0)/(v1 - u1*v0/u0) + u2*v0*y0/u0)*((1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) - 1 + u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + (v3 - u3*v0/u0)*(v1*y1 - u1*v0*y0/u0)/(v1 - u1*v0/u0) + u3*v0*y0/u0)) + (v2 - u2*v0/u0)*(u0*v1 - u1*v0)*(-v0*(1 - u1/u0)/(u0*(v1 - u1*v0/u0)) + 1/u0)/((v1 - u1*v0/u0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1)) - v0/(u0*(v1 - u1*v0/u0))) + x2*(u0*Math.pow(u0*v1 - u1*v0,2)*(-x0 - (u0*v1 - u1*v0)*(-v0*(1 - u1/u0)/(u0*(v1 - u1*v0/u0)) + 1/u0)*(u2*x0 - u2*x2 - (v2 - u2*v0/u0)*(u1*x0 - u1*x1)/(v1 - u1*v0/u0))/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - v0*(u1*x0 - u1*x1)/(u0*(v1 - u1*v0/u0)))*(-(1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) + 1 - u3/u0)/(-u0*u1*(x0 - x1)*(u0*v3 - u3*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + u0*u3*(x0 - x3)*(u0*v1 - u1*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (u1*(x0 - x1)*(u0*v2 - u2*v0) + u2*(-x0 + x2)*(u0*v1 - u1*v0))*(u0*(-u0*v1 + u1*v0) + u3*(u0*v1 - u1*v0) + (u0 - u1)*(u0*v3 - u3*v0))) - u0*Math.pow(u0*v1 - u1*v0,2)*(-(1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) + 1 - u3/u0)*(u3*y0 - u3*y3 - (u0*v1 - u1*v0)*(u2*y0 - u2*y2 - (v2 - u2*v0/u0)*(u1*y0 - u1*y1)/(v1 - u1*v0/u0))*(-(1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) + 1 - u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (v3 - u3*v0/u0)*(u1*y0 - u1*y1)/(v1 - u1*v0/u0))*(-u0*(u0*v1 - u1*v0)*(-x0 - (u0*v1 - u1*v0)*(-v0*(1 - u1/u0)/(u0*(v1 - u1*v0/u0)) + 1/u0)*(u2*x0 - u2*x2 - (v2 - u2*v0/u0)*(u1*x0 - u1*x1)/(v1 - u1*v0/u0))/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - v0*(u1*x0 - u1*x1)/(u0*(v1 - u1*v0/u0)))*(-v3*x3 - (u0*v1 - u1*v0)*(-v2*x2 - (v2 - u2*v0/u0)*(-v1*x1 + u1*v0*x0/u0)/(v1 - u1*v0/u0) + u2*v0*x0/u0)*(-(1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) + 1 - u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (v3 - u3*v0/u0)*(-v1*x1 + u1*v0*x0/u0)/(v1 - u1*v0/u0) + u3*v0*x0/u0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1)/(-u0*u1*(x0 - x1)*(u0*v3 - u3*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + u0*u3*(x0 - x3)*(u0*v1 - u1*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (u1*(x0 - x1)*(u0*v2 - u2*v0) + u2*(-x0 + x2)*(u0*v1 - u1*v0))*(u0*(-u0*v1 + u1*v0) + u3*(u0*v1 - u1*v0) + (u0 - u1)*(u0*v3 - u3*v0))) - (u0*v1 - u1*v0)*(-v0*(1 - u1/u0)/(u0*(v1 - u1*v0/u0)) + 1/u0)*(-v2*x2 - (v2 - u2*v0/u0)*(-v1*x1 + u1*v0*x0/u0)/(v1 - u1*v0/u0) + u2*v0*x0/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - v0*x0/u0 - v0*(-v1*x1 + u1*v0*x0/u0)/(u0*(v1 - u1*v0/u0)))/((-u0*u1*(x0 - x1)*(u0*v3 - u3*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + u0*u3*(x0 - x3)*(u0*v1 - u1*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (u1*(x0 - x1)*(u0*v2 - u2*v0) + u2*(-x0 + x2)*(u0*v1 - u1*v0))*(u0*(-u0*v1 + u1*v0) + u3*(u0*v1 - u1*v0) + (u0 - u1)*(u0*v3 - u3*v0)))*(u0*(u0*v1 - u1*v0)*(-u3*y0 + u3*y3 + (u0*v1 - u1*v0)*(-u2*y0 + u2*y2 + (v2 - u2*v0/u0)*(u1*y0 - u1*y1)/(v1 - u1*v0/u0))*((1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) - 1 + u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + (v3 - u3*v0/u0)*(u1*y0 - u1*y1)/(v1 - u1*v0/u0))*(v3*x3 + (u0*v1 - u1*v0)*(v2*x2 - (v2 - u2*v0/u0)*(v1*x1 - u1*v0*x0/u0)/(v1 - u1*v0/u0) - u2*v0*x0/u0)*((1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) - 1 + u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (v3 - u3*v0/u0)*(v1*x1 - u1*v0*x0/u0)/(v1 - u1*v0/u0) - u3*v0*x0/u0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1)/(u0*u1*(x0 - x1)*(u0*v3 - u3*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - u0*u3*(x0 - x3)*(u0*v1 - u1*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + (u1*(x0 - x1)*(u0*v2 - u2*v0) - u2*(x0 - x2)*(u0*v1 - u1*v0))*(-u0*(u0*v1 - u1*v0) + u3*(u0*v1 - u1*v0) + (u0 - u1)*(u0*v3 - u3*v0))) - v3*y3 + (u0*v1 - u1*v0)*(-v2*y2 + (v2 - u2*v0/u0)*(v1*y1 - u1*v0*y0/u0)/(v1 - u1*v0/u0) + u2*v0*y0/u0)*((1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) - 1 + u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + (v3 - u3*v0/u0)*(v1*y1 - u1*v0*y0/u0)/(v1 - u1*v0/u0) + u3*v0*y0/u0)) - (u0*v1 - u1*v0)*(-v0*(1 - u1/u0)/(u0*(v1 - u1*v0/u0)) + 1/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1)) + x3*(-u0*(u0*v1 - u1*v0)*(-x0 - (u0*v1 - u1*v0)*(-v0*(1 - u1/u0)/(u0*(v1 - u1*v0/u0)) + 1/u0)*(u2*x0 - u2*x2 - (v2 - u2*v0/u0)*(u1*x0 - u1*x1)/(v1 - u1*v0/u0))/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - v0*(u1*x0 - u1*x1)/(u0*(v1 - u1*v0/u0)))*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1)/(-u0*u1*(x0 - x1)*(u0*v3 - u3*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + u0*u3*(x0 - x3)*(u0*v1 - u1*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (u1*(x0 - x1)*(u0*v2 - u2*v0) + u2*(-x0 + x2)*(u0*v1 - u1*v0))*(u0*(-u0*v1 + u1*v0) + u3*(u0*v1 - u1*v0) + (u0 - u1)*(u0*v3 - u3*v0))) + u0*(u0*v1 - u1*v0)*(u3*y0 - u3*y3 - (u0*v1 - u1*v0)*(u2*y0 - u2*y2 - (v2 - u2*v0/u0)*(u1*y0 - u1*y1)/(v1 - u1*v0/u0))*(-(1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) + 1 - u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (v3 - u3*v0/u0)*(u1*y0 - u1*y1)/(v1 - u1*v0/u0))*(-u0*(u0*v1 - u1*v0)*(-x0 - (u0*v1 - u1*v0)*(-v0*(1 - u1/u0)/(u0*(v1 - u1*v0/u0)) + 1/u0)*(u2*x0 - u2*x2 - (v2 - u2*v0/u0)*(u1*x0 - u1*x1)/(v1 - u1*v0/u0))/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - v0*(u1*x0 - u1*x1)/(u0*(v1 - u1*v0/u0)))*(-v3*x3 - (u0*v1 - u1*v0)*(-v2*x2 - (v2 - u2*v0/u0)*(-v1*x1 + u1*v0*x0/u0)/(v1 - u1*v0/u0) + u2*v0*x0/u0)*(-(1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) + 1 - u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (v3 - u3*v0/u0)*(-v1*x1 + u1*v0*x0/u0)/(v1 - u1*v0/u0) + u3*v0*x0/u0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1)/(-u0*u1*(x0 - x1)*(u0*v3 - u3*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + u0*u3*(x0 - x3)*(u0*v1 - u1*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (u1*(x0 - x1)*(u0*v2 - u2*v0) + u2*(-x0 + x2)*(u0*v1 - u1*v0))*(u0*(-u0*v1 + u1*v0) + u3*(u0*v1 - u1*v0) + (u0 - u1)*(u0*v3 - u3*v0))) - (u0*v1 - u1*v0)*(-v0*(1 - u1/u0)/(u0*(v1 - u1*v0/u0)) + 1/u0)*(-v2*x2 - (v2 - u2*v0/u0)*(-v1*x1 + u1*v0*x0/u0)/(v1 - u1*v0/u0) + u2*v0*x0/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - v0*x0/u0 - v0*(-v1*x1 + u1*v0*x0/u0)/(u0*(v1 - u1*v0/u0)))*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1)/((-u0*u1*(x0 - x1)*(u0*v3 - u3*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + u0*u3*(x0 - x3)*(u0*v1 - u1*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (u1*(x0 - x1)*(u0*v2 - u2*v0) + u2*(-x0 + x2)*(u0*v1 - u1*v0))*(u0*(-u0*v1 + u1*v0) + u3*(u0*v1 - u1*v0) + (u0 - u1)*(u0*v3 - u3*v0)))*(u0*(u0*v1 - u1*v0)*(-u3*y0 + u3*y3 + (u0*v1 - u1*v0)*(-u2*y0 + u2*y2 + (v2 - u2*v0/u0)*(u1*y0 - u1*y1)/(v1 - u1*v0/u0))*((1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) - 1 + u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + (v3 - u3*v0/u0)*(u1*y0 - u1*y1)/(v1 - u1*v0/u0))*(v3*x3 + (u0*v1 - u1*v0)*(v2*x2 - (v2 - u2*v0/u0)*(v1*x1 - u1*v0*x0/u0)/(v1 - u1*v0/u0) - u2*v0*x0/u0)*((1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) - 1 + u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (v3 - u3*v0/u0)*(v1*x1 - u1*v0*x0/u0)/(v1 - u1*v0/u0) - u3*v0*x0/u0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1)/(u0*u1*(x0 - x1)*(u0*v3 - u3*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - u0*u3*(x0 - x3)*(u0*v1 - u1*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + (u1*(x0 - x1)*(u0*v2 - u2*v0) - u2*(x0 - x2)*(u0*v1 - u1*v0))*(-u0*(u0*v1 - u1*v0) + u3*(u0*v1 - u1*v0) + (u0 - u1)*(u0*v3 - u3*v0))) - v3*y3 + (u0*v1 - u1*v0)*(-v2*y2 + (v2 - u2*v0/u0)*(v1*y1 - u1*v0*y0/u0)/(v1 - u1*v0/u0) + u2*v0*y0/u0)*((1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) - 1 + u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + (v3 - u3*v0/u0)*(v1*y1 - u1*v0*y0/u0)/(v1 - u1*v0/u0) + u3*v0*y0/u0))) - y0*(-(u0*v1 - u1*v0)*(u1*(v2 - u2*v0/u0)/(u0*(v1 - u1*v0/u0)) - u2/u0)*(-(1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) + 1 - u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + u1*(v3 - u3*v0/u0)/(u0*(v1 - u1*v0/u0)) - u3/u0)*(-u0*(u0*v1 - u1*v0)*(-x0 - (u0*v1 - u1*v0)*(-v0*(1 - u1/u0)/(u0*(v1 - u1*v0/u0)) + 1/u0)*(u2*x0 - u2*x2 - (v2 - u2*v0/u0)*(u1*x0 - u1*x1)/(v1 - u1*v0/u0))/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - v0*(u1*x0 - u1*x1)/(u0*(v1 - u1*v0/u0)))*(-v3*x3 - (u0*v1 - u1*v0)*(-v2*x2 - (v2 - u2*v0/u0)*(-v1*x1 + u1*v0*x0/u0)/(v1 - u1*v0/u0) + u2*v0*x0/u0)*(-(1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) + 1 - u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (v3 - u3*v0/u0)*(-v1*x1 + u1*v0*x0/u0)/(v1 - u1*v0/u0) + u3*v0*x0/u0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1)/(-u0*u1*(x0 - x1)*(u0*v3 - u3*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + u0*u3*(x0 - x3)*(u0*v1 - u1*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (u1*(x0 - x1)*(u0*v2 - u2*v0) + u2*(-x0 + x2)*(u0*v1 - u1*v0))*(u0*(-u0*v1 + u1*v0) + u3*(u0*v1 - u1*v0) + (u0 - u1)*(u0*v3 - u3*v0))) - (u0*v1 - u1*v0)*(-v0*(1 - u1/u0)/(u0*(v1 - u1*v0/u0)) + 1/u0)*(-v2*x2 - (v2 - u2*v0/u0)*(-v1*x1 + u1*v0*x0/u0)/(v1 - u1*v0/u0) + u2*v0*x0/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - v0*x0/u0 - v0*(-v1*x1 + u1*v0*x0/u0)/(u0*(v1 - u1*v0/u0)))/(u0*(u0*v1 - u1*v0)*(-u3*y0 + u3*y3 + (u0*v1 - u1*v0)*(-u2*y0 + u2*y2 + (v2 - u2*v0/u0)*(u1*y0 - u1*y1)/(v1 - u1*v0/u0))*((1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) - 1 + u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + (v3 - u3*v0/u0)*(u1*y0 - u1*y1)/(v1 - u1*v0/u0))*(v3*x3 + (u0*v1 - u1*v0)*(v2*x2 - (v2 - u2*v0/u0)*(v1*x1 - u1*v0*x0/u0)/(v1 - u1*v0/u0) - u2*v0*x0/u0)*((1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) - 1 + u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (v3 - u3*v0/u0)*(v1*x1 - u1*v0*x0/u0)/(v1 - u1*v0/u0) - u3*v0*x0/u0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1)/(u0*u1*(x0 - x1)*(u0*v3 - u3*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - u0*u3*(x0 - x3)*(u0*v1 - u1*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + (u1*(x0 - x1)*(u0*v2 - u2*v0) - u2*(x0 - x2)*(u0*v1 - u1*v0))*(-u0*(u0*v1 - u1*v0) + u3*(u0*v1 - u1*v0) + (u0 - u1)*(u0*v3 - u3*v0))) - v3*y3 + (u0*v1 - u1*v0)*(-v2*y2 + (v2 - u2*v0/u0)*(v1*y1 - u1*v0*y0/u0)/(v1 - u1*v0/u0) + u2*v0*y0/u0)*((1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) - 1 + u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + (v3 - u3*v0/u0)*(v1*y1 - u1*v0*y0/u0)/(v1 - u1*v0/u0) + u3*v0*y0/u0) - y1*((v2 - u2*v0/u0)*(u0*v1 - u1*v0)*(-(1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) + 1 - u3/u0)/((v1 - u1*v0/u0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1)) - (v3 - u3*v0/u0)/(v1 - u1*v0/u0))*(-u0*(u0*v1 - u1*v0)*(-x0 - (u0*v1 - u1*v0)*(-v0*(1 - u1/u0)/(u0*(v1 - u1*v0/u0)) + 1/u0)*(u2*x0 - u2*x2 - (v2 - u2*v0/u0)*(u1*x0 - u1*x1)/(v1 - u1*v0/u0))/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - v0*(u1*x0 - u1*x1)/(u0*(v1 - u1*v0/u0)))*(-v3*x3 - (u0*v1 - u1*v0)*(-v2*x2 - (v2 - u2*v0/u0)*(-v1*x1 + u1*v0*x0/u0)/(v1 - u1*v0/u0) + u2*v0*x0/u0)*(-(1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) + 1 - u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (v3 - u3*v0/u0)*(-v1*x1 + u1*v0*x0/u0)/(v1 - u1*v0/u0) + u3*v0*x0/u0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1)/(-u0*u1*(x0 - x1)*(u0*v3 - u3*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + u0*u3*(x0 - x3)*(u0*v1 - u1*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (u1*(x0 - x1)*(u0*v2 - u2*v0) + u2*(-x0 + x2)*(u0*v1 - u1*v0))*(u0*(-u0*v1 + u1*v0) + u3*(u0*v1 - u1*v0) + (u0 - u1)*(u0*v3 - u3*v0))) - (u0*v1 - u1*v0)*(-v0*(1 - u1/u0)/(u0*(v1 - u1*v0/u0)) + 1/u0)*(-v2*x2 - (v2 - u2*v0/u0)*(-v1*x1 + u1*v0*x0/u0)/(v1 - u1*v0/u0) + u2*v0*x0/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - v0*x0/u0 - v0*(-v1*x1 + u1*v0*x0/u0)/(u0*(v1 - u1*v0/u0)))/(u0*(u0*v1 - u1*v0)*(-u3*y0 + u3*y3 + (u0*v1 - u1*v0)*(-u2*y0 + u2*y2 + (v2 - u2*v0/u0)*(u1*y0 - u1*y1)/(v1 - u1*v0/u0))*((1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) - 1 + u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + (v3 - u3*v0/u0)*(u1*y0 - u1*y1)/(v1 - u1*v0/u0))*(v3*x3 + (u0*v1 - u1*v0)*(v2*x2 - (v2 - u2*v0/u0)*(v1*x1 - u1*v0*x0/u0)/(v1 - u1*v0/u0) - u2*v0*x0/u0)*((1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) - 1 + u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (v3 - u3*v0/u0)*(v1*x1 - u1*v0*x0/u0)/(v1 - u1*v0/u0) - u3*v0*x0/u0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1)/(u0*u1*(x0 - x1)*(u0*v3 - u3*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - u0*u3*(x0 - x3)*(u0*v1 - u1*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + (u1*(x0 - x1)*(u0*v2 - u2*v0) - u2*(x0 - x2)*(u0*v1 - u1*v0))*(-u0*(u0*v1 - u1*v0) + u3*(u0*v1 - u1*v0) + (u0 - u1)*(u0*v3 - u3*v0))) - v3*y3 + (u0*v1 - u1*v0)*(-v2*y2 + (v2 - u2*v0/u0)*(v1*y1 - u1*v0*y0/u0)/(v1 - u1*v0/u0) + u2*v0*y0/u0)*((1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) - 1 + u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + (v3 - u3*v0/u0)*(v1*y1 - u1*v0*y0/u0)/(v1 - u1*v0/u0) + u3*v0*y0/u0) + y2*(u0*v1 - u1*v0)*(-(1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) + 1 - u3/u0)*(-u0*(u0*v1 - u1*v0)*(-x0 - (u0*v1 - u1*v0)*(-v0*(1 - u1/u0)/(u0*(v1 - u1*v0/u0)) + 1/u0)*(u2*x0 - u2*x2 - (v2 - u2*v0/u0)*(u1*x0 - u1*x1)/(v1 - u1*v0/u0))/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - v0*(u1*x0 - u1*x1)/(u0*(v1 - u1*v0/u0)))*(-v3*x3 - (u0*v1 - u1*v0)*(-v2*x2 - (v2 - u2*v0/u0)*(-v1*x1 + u1*v0*x0/u0)/(v1 - u1*v0/u0) + u2*v0*x0/u0)*(-(1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) + 1 - u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (v3 - u3*v0/u0)*(-v1*x1 + u1*v0*x0/u0)/(v1 - u1*v0/u0) + u3*v0*x0/u0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1)/(-u0*u1*(x0 - x1)*(u0*v3 - u3*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + u0*u3*(x0 - x3)*(u0*v1 - u1*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (u1*(x0 - x1)*(u0*v2 - u2*v0) + u2*(-x0 + x2)*(u0*v1 - u1*v0))*(u0*(-u0*v1 + u1*v0) + u3*(u0*v1 - u1*v0) + (u0 - u1)*(u0*v3 - u3*v0))) - (u0*v1 - u1*v0)*(-v0*(1 - u1/u0)/(u0*(v1 - u1*v0/u0)) + 1/u0)*(-v2*x2 - (v2 - u2*v0/u0)*(-v1*x1 + u1*v0*x0/u0)/(v1 - u1*v0/u0) + u2*v0*x0/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - v0*x0/u0 - v0*(-v1*x1 + u1*v0*x0/u0)/(u0*(v1 - u1*v0/u0)))/((u0*(u0*v1 - u1*v0)*(-u3*y0 + u3*y3 + (u0*v1 - u1*v0)*(-u2*y0 + u2*y2 + (v2 - u2*v0/u0)*(u1*y0 - u1*y1)/(v1 - u1*v0/u0))*((1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) - 1 + u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + (v3 - u3*v0/u0)*(u1*y0 - u1*y1)/(v1 - u1*v0/u0))*(v3*x3 + (u0*v1 - u1*v0)*(v2*x2 - (v2 - u2*v0/u0)*(v1*x1 - u1*v0*x0/u0)/(v1 - u1*v0/u0) - u2*v0*x0/u0)*((1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) - 1 + u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (v3 - u3*v0/u0)*(v1*x1 - u1*v0*x0/u0)/(v1 - u1*v0/u0) - u3*v0*x0/u0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1)/(u0*u1*(x0 - x1)*(u0*v3 - u3*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - u0*u3*(x0 - x3)*(u0*v1 - u1*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + (u1*(x0 - x1)*(u0*v2 - u2*v0) - u2*(x0 - x2)*(u0*v1 - u1*v0))*(-u0*(u0*v1 - u1*v0) + u3*(u0*v1 - u1*v0) + (u0 - u1)*(u0*v3 - u3*v0))) - v3*y3 + (u0*v1 - u1*v0)*(-v2*y2 + (v2 - u2*v0/u0)*(v1*y1 - u1*v0*y0/u0)/(v1 - u1*v0/u0) + u2*v0*y0/u0)*((1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) - 1 + u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + (v3 - u3*v0/u0)*(v1*y1 - u1*v0*y0/u0)/(v1 - u1*v0/u0) + u3*v0*y0/u0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1)) - y3*(-u0*(u0*v1 - u1*v0)*(-x0 - (u0*v1 - u1*v0)*(-v0*(1 - u1/u0)/(u0*(v1 - u1*v0/u0)) + 1/u0)*(u2*x0 - u2*x2 - (v2 - u2*v0/u0)*(u1*x0 - u1*x1)/(v1 - u1*v0/u0))/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - v0*(u1*x0 - u1*x1)/(u0*(v1 - u1*v0/u0)))*(-v3*x3 - (u0*v1 - u1*v0)*(-v2*x2 - (v2 - u2*v0/u0)*(-v1*x1 + u1*v0*x0/u0)/(v1 - u1*v0/u0) + u2*v0*x0/u0)*(-(1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) + 1 - u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (v3 - u3*v0/u0)*(-v1*x1 + u1*v0*x0/u0)/(v1 - u1*v0/u0) + u3*v0*x0/u0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1)/(-u0*u1*(x0 - x1)*(u0*v3 - u3*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + u0*u3*(x0 - x3)*(u0*v1 - u1*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (u1*(x0 - x1)*(u0*v2 - u2*v0) + u2*(-x0 + x2)*(u0*v1 - u1*v0))*(u0*(-u0*v1 + u1*v0) + u3*(u0*v1 - u1*v0) + (u0 - u1)*(u0*v3 - u3*v0))) - (u0*v1 - u1*v0)*(-v0*(1 - u1/u0)/(u0*(v1 - u1*v0/u0)) + 1/u0)*(-v2*x2 - (v2 - u2*v0/u0)*(-v1*x1 + u1*v0*x0/u0)/(v1 - u1*v0/u0) + u2*v0*x0/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - v0*x0/u0 - v0*(-v1*x1 + u1*v0*x0/u0)/(u0*(v1 - u1*v0/u0)))/(u0*(u0*v1 - u1*v0)*(-u3*y0 + u3*y3 + (u0*v1 - u1*v0)*(-u2*y0 + u2*y2 + (v2 - u2*v0/u0)*(u1*y0 - u1*y1)/(v1 - u1*v0/u0))*((1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) - 1 + u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + (v3 - u3*v0/u0)*(u1*y0 - u1*y1)/(v1 - u1*v0/u0))*(v3*x3 + (u0*v1 - u1*v0)*(v2*x2 - (v2 - u2*v0/u0)*(v1*x1 - u1*v0*x0/u0)/(v1 - u1*v0/u0) - u2*v0*x0/u0)*((1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) - 1 + u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (v3 - u3*v0/u0)*(v1*x1 - u1*v0*x0/u0)/(v1 - u1*v0/u0) - u3*v0*x0/u0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1)/(u0*u1*(x0 - x1)*(u0*v3 - u3*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - u0*u3*(x0 - x3)*(u0*v1 - u1*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + (u1*(x0 - x1)*(u0*v2 - u2*v0) - u2*(x0 - x2)*(u0*v1 - u1*v0))*(-u0*(u0*v1 - u1*v0) + u3*(u0*v1 - u1*v0) + (u0 - u1)*(u0*v3 - u3*v0))) - v3*y3 + (u0*v1 - u1*v0)*(-v2*y2 + (v2 - u2*v0/u0)*(v1*y1 - u1*v0*y0/u0)/(v1 - u1*v0/u0) + u2*v0*y0/u0)*((1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) - 1 + u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + (v3 - u3*v0/u0)*(v1*y1 - u1*v0*y0/u0)/(v1 - u1*v0/u0) + u3*v0*y0/u0), | |
b = x0*(-u0*(u0*v1 - u1*v0)*(-(1 - u1/u0)*(u0*v1 - u1*v0)*(u2*x0 - u2*x2 - (v2 - u2*v0/u0)*(u1*x0 - u1*x1)/(v1 - u1*v0/u0))/((v1 - u1*v0/u0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1)) + (u1*x0 - u1*x1)/(v1 - u1*v0/u0))*(-(u0*v1 - u1*v0)*(u1*(v2 - u2*v0/u0)/(u0*(v1 - u1*v0/u0)) - u2/u0)*(-(1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) + 1 - u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + u1*(v3 - u3*v0/u0)/(u0*(v1 - u1*v0/u0)) - u3/u0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1)/(-u0*u1*(x0 - x1)*(u0*v3 - u3*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + u0*u3*(x0 - x3)*(u0*v1 - u1*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (u1*(x0 - x1)*(u0*v2 - u2*v0) + u2*(-x0 + x2)*(u0*v1 - u1*v0))*(u0*(-u0*v1 + u1*v0) + u3*(u0*v1 - u1*v0) + (u0 - u1)*(u0*v3 - u3*v0))) + u0*(u0*v1 - u1*v0)*(-(u0*v1 - u1*v0)*(u1*(v2 - u2*v0/u0)/(u0*(v1 - u1*v0/u0)) - u2/u0)*(-(1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) + 1 - u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + u1*(v3 - u3*v0/u0)/(u0*(v1 - u1*v0/u0)) - u3/u0)*(-u0*(u0*v1 - u1*v0)*(-(1 - u1/u0)*(u0*v1 - u1*v0)*(u2*x0 - u2*x2 - (v2 - u2*v0/u0)*(u1*x0 - u1*x1)/(v1 - u1*v0/u0))/((v1 - u1*v0/u0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1)) + (u1*x0 - u1*x1)/(v1 - u1*v0/u0))*(-v3*x3 - (u0*v1 - u1*v0)*(-v2*x2 - (v2 - u2*v0/u0)*(-v1*x1 + u1*v0*x0/u0)/(v1 - u1*v0/u0) + u2*v0*x0/u0)*(-(1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) + 1 - u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (v3 - u3*v0/u0)*(-v1*x1 + u1*v0*x0/u0)/(v1 - u1*v0/u0) + u3*v0*x0/u0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1)/(-u0*u1*(x0 - x1)*(u0*v3 - u3*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + u0*u3*(x0 - x3)*(u0*v1 - u1*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (u1*(x0 - x1)*(u0*v2 - u2*v0) + u2*(-x0 + x2)*(u0*v1 - u1*v0))*(u0*(-u0*v1 + u1*v0) + u3*(u0*v1 - u1*v0) + (u0 - u1)*(u0*v3 - u3*v0))) - (1 - u1/u0)*(u0*v1 - u1*v0)*(-v2*x2 - (v2 - u2*v0/u0)*(-v1*x1 + u1*v0*x0/u0)/(v1 - u1*v0/u0) + u2*v0*x0/u0)/((v1 - u1*v0/u0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1)) + (-v1*x1 + u1*v0*x0/u0)/(v1 - u1*v0/u0))*(u3*y0 - u3*y3 - (u0*v1 - u1*v0)*(u2*y0 - u2*y2 - (v2 - u2*v0/u0)*(u1*y0 - u1*y1)/(v1 - u1*v0/u0))*(-(1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) + 1 - u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (v3 - u3*v0/u0)*(u1*y0 - u1*y1)/(v1 - u1*v0/u0))*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1)/((-u0*u1*(x0 - x1)*(u0*v3 - u3*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + u0*u3*(x0 - x3)*(u0*v1 - u1*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (u1*(x0 - x1)*(u0*v2 - u2*v0) + u2*(-x0 + x2)*(u0*v1 - u1*v0))*(u0*(-u0*v1 + u1*v0) + u3*(u0*v1 - u1*v0) + (u0 - u1)*(u0*v3 - u3*v0)))*(u0*(u0*v1 - u1*v0)*(-u3*y0 + u3*y3 + (u0*v1 - u1*v0)*(-u2*y0 + u2*y2 + (v2 - u2*v0/u0)*(u1*y0 - u1*y1)/(v1 - u1*v0/u0))*((1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) - 1 + u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + (v3 - u3*v0/u0)*(u1*y0 - u1*y1)/(v1 - u1*v0/u0))*(v3*x3 + (u0*v1 - u1*v0)*(v2*x2 - (v2 - u2*v0/u0)*(v1*x1 - u1*v0*x0/u0)/(v1 - u1*v0/u0) - u2*v0*x0/u0)*((1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) - 1 + u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (v3 - u3*v0/u0)*(v1*x1 - u1*v0*x0/u0)/(v1 - u1*v0/u0) - u3*v0*x0/u0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1)/(u0*u1*(x0 - x1)*(u0*v3 - u3*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - u0*u3*(x0 - x3)*(u0*v1 - u1*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + (u1*(x0 - x1)*(u0*v2 - u2*v0) - u2*(x0 - x2)*(u0*v1 - u1*v0))*(-u0*(u0*v1 - u1*v0) + u3*(u0*v1 - u1*v0) + (u0 - u1)*(u0*v3 - u3*v0))) - v3*y3 + (u0*v1 - u1*v0)*(-v2*y2 + (v2 - u2*v0/u0)*(v1*y1 - u1*v0*y0/u0)/(v1 - u1*v0/u0) + u2*v0*y0/u0)*((1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) - 1 + u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + (v3 - u3*v0/u0)*(v1*y1 - u1*v0*y0/u0)/(v1 - u1*v0/u0) + u3*v0*y0/u0)) - (1 - u1/u0)*(u0*v1 - u1*v0)*(u1*(v2 - u2*v0/u0)/(u0*(v1 - u1*v0/u0)) - u2/u0)/((v1 - u1*v0/u0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1)) - u1/(u0*(v1 - u1*v0/u0))) + x1*(-u0*(u0*v1 - u1*v0)*(-(1 - u1/u0)*(u0*v1 - u1*v0)*(u2*x0 - u2*x2 - (v2 - u2*v0/u0)*(u1*x0 - u1*x1)/(v1 - u1*v0/u0))/((v1 - u1*v0/u0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1)) + (u1*x0 - u1*x1)/(v1 - u1*v0/u0))*((v2 - u2*v0/u0)*(u0*v1 - u1*v0)*(-(1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) + 1 - u3/u0)/((v1 - u1*v0/u0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1)) - (v3 - u3*v0/u0)/(v1 - u1*v0/u0))*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1)/(-u0*u1*(x0 - x1)*(u0*v3 - u3*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + u0*u3*(x0 - x3)*(u0*v1 - u1*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (u1*(x0 - x1)*(u0*v2 - u2*v0) + u2*(-x0 + x2)*(u0*v1 - u1*v0))*(u0*(-u0*v1 + u1*v0) + u3*(u0*v1 - u1*v0) + (u0 - u1)*(u0*v3 - u3*v0))) + u0*(u0*v1 - u1*v0)*((v2 - u2*v0/u0)*(u0*v1 - u1*v0)*(-(1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) + 1 - u3/u0)/((v1 - u1*v0/u0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1)) - (v3 - u3*v0/u0)/(v1 - u1*v0/u0))*(-u0*(u0*v1 - u1*v0)*(-(1 - u1/u0)*(u0*v1 - u1*v0)*(u2*x0 - u2*x2 - (v2 - u2*v0/u0)*(u1*x0 - u1*x1)/(v1 - u1*v0/u0))/((v1 - u1*v0/u0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1)) + (u1*x0 - u1*x1)/(v1 - u1*v0/u0))*(-v3*x3 - (u0*v1 - u1*v0)*(-v2*x2 - (v2 - u2*v0/u0)*(-v1*x1 + u1*v0*x0/u0)/(v1 - u1*v0/u0) + u2*v0*x0/u0)*(-(1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) + 1 - u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (v3 - u3*v0/u0)*(-v1*x1 + u1*v0*x0/u0)/(v1 - u1*v0/u0) + u3*v0*x0/u0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1)/(-u0*u1*(x0 - x1)*(u0*v3 - u3*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + u0*u3*(x0 - x3)*(u0*v1 - u1*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (u1*(x0 - x1)*(u0*v2 - u2*v0) + u2*(-x0 + x2)*(u0*v1 - u1*v0))*(u0*(-u0*v1 + u1*v0) + u3*(u0*v1 - u1*v0) + (u0 - u1)*(u0*v3 - u3*v0))) - (1 - u1/u0)*(u0*v1 - u1*v0)*(-v2*x2 - (v2 - u2*v0/u0)*(-v1*x1 + u1*v0*x0/u0)/(v1 - u1*v0/u0) + u2*v0*x0/u0)/((v1 - u1*v0/u0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1)) + (-v1*x1 + u1*v0*x0/u0)/(v1 - u1*v0/u0))*(u3*y0 - u3*y3 - (u0*v1 - u1*v0)*(u2*y0 - u2*y2 - (v2 - u2*v0/u0)*(u1*y0 - u1*y1)/(v1 - u1*v0/u0))*(-(1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) + 1 - u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (v3 - u3*v0/u0)*(u1*y0 - u1*y1)/(v1 - u1*v0/u0))*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1)/((-u0*u1*(x0 - x1)*(u0*v3 - u3*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + u0*u3*(x0 - x3)*(u0*v1 - u1*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (u1*(x0 - x1)*(u0*v2 - u2*v0) + u2*(-x0 + x2)*(u0*v1 - u1*v0))*(u0*(-u0*v1 + u1*v0) + u3*(u0*v1 - u1*v0) + (u0 - u1)*(u0*v3 - u3*v0)))*(u0*(u0*v1 - u1*v0)*(-u3*y0 + u3*y3 + (u0*v1 - u1*v0)*(-u2*y0 + u2*y2 + (v2 - u2*v0/u0)*(u1*y0 - u1*y1)/(v1 - u1*v0/u0))*((1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) - 1 + u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + (v3 - u3*v0/u0)*(u1*y0 - u1*y1)/(v1 - u1*v0/u0))*(v3*x3 + (u0*v1 - u1*v0)*(v2*x2 - (v2 - u2*v0/u0)*(v1*x1 - u1*v0*x0/u0)/(v1 - u1*v0/u0) - u2*v0*x0/u0)*((1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) - 1 + u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (v3 - u3*v0/u0)*(v1*x1 - u1*v0*x0/u0)/(v1 - u1*v0/u0) - u3*v0*x0/u0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1)/(u0*u1*(x0 - x1)*(u0*v3 - u3*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - u0*u3*(x0 - x3)*(u0*v1 - u1*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + (u1*(x0 - x1)*(u0*v2 - u2*v0) - u2*(x0 - x2)*(u0*v1 - u1*v0))*(-u0*(u0*v1 - u1*v0) + u3*(u0*v1 - u1*v0) + (u0 - u1)*(u0*v3 - u3*v0))) - v3*y3 + (u0*v1 - u1*v0)*(-v2*y2 + (v2 - u2*v0/u0)*(v1*y1 - u1*v0*y0/u0)/(v1 - u1*v0/u0) + u2*v0*y0/u0)*((1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) - 1 + u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + (v3 - u3*v0/u0)*(v1*y1 - u1*v0*y0/u0)/(v1 - u1*v0/u0) + u3*v0*y0/u0)) + (1 - u1/u0)*(v2 - u2*v0/u0)*(u0*v1 - u1*v0)/(Math.pow(v1 - u1*v0/u0,2)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1)) + 1/(v1 - u1*v0/u0)) + x2*(u0*Math.pow(u0*v1 - u1*v0,2)*(-(1 - u1/u0)*(u0*v1 - u1*v0)*(u2*x0 - u2*x2 - (v2 - u2*v0/u0)*(u1*x0 - u1*x1)/(v1 - u1*v0/u0))/((v1 - u1*v0/u0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1)) + (u1*x0 - u1*x1)/(v1 - u1*v0/u0))*(-(1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) + 1 - u3/u0)/(-u0*u1*(x0 - x1)*(u0*v3 - u3*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + u0*u3*(x0 - x3)*(u0*v1 - u1*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (u1*(x0 - x1)*(u0*v2 - u2*v0) + u2*(-x0 + x2)*(u0*v1 - u1*v0))*(u0*(-u0*v1 + u1*v0) + u3*(u0*v1 - u1*v0) + (u0 - u1)*(u0*v3 - u3*v0))) - u0*Math.pow(u0*v1 - u1*v0,2)*(-(1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) + 1 - u3/u0)*(-u0*(u0*v1 - u1*v0)*(-(1 - u1/u0)*(u0*v1 - u1*v0)*(u2*x0 - u2*x2 - (v2 - u2*v0/u0)*(u1*x0 - u1*x1)/(v1 - u1*v0/u0))/((v1 - u1*v0/u0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1)) + (u1*x0 - u1*x1)/(v1 - u1*v0/u0))*(-v3*x3 - (u0*v1 - u1*v0)*(-v2*x2 - (v2 - u2*v0/u0)*(-v1*x1 + u1*v0*x0/u0)/(v1 - u1*v0/u0) + u2*v0*x0/u0)*(-(1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) + 1 - u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (v3 - u3*v0/u0)*(-v1*x1 + u1*v0*x0/u0)/(v1 - u1*v0/u0) + u3*v0*x0/u0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1)/(-u0*u1*(x0 - x1)*(u0*v3 - u3*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + u0*u3*(x0 - x3)*(u0*v1 - u1*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (u1*(x0 - x1)*(u0*v2 - u2*v0) + u2*(-x0 + x2)*(u0*v1 - u1*v0))*(u0*(-u0*v1 + u1*v0) + u3*(u0*v1 - u1*v0) + (u0 - u1)*(u0*v3 - u3*v0))) - (1 - u1/u0)*(u0*v1 - u1*v0)*(-v2*x2 - (v2 - u2*v0/u0)*(-v1*x1 + u1*v0*x0/u0)/(v1 - u1*v0/u0) + u2*v0*x0/u0)/((v1 - u1*v0/u0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1)) + (-v1*x1 + u1*v0*x0/u0)/(v1 - u1*v0/u0))*(u3*y0 - u3*y3 - (u0*v1 - u1*v0)*(u2*y0 - u2*y2 - (v2 - u2*v0/u0)*(u1*y0 - u1*y1)/(v1 - u1*v0/u0))*(-(1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) + 1 - u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (v3 - u3*v0/u0)*(u1*y0 - u1*y1)/(v1 - u1*v0/u0))/((-u0*u1*(x0 - x1)*(u0*v3 - u3*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + u0*u3*(x0 - x3)*(u0*v1 - u1*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (u1*(x0 - x1)*(u0*v2 - u2*v0) + u2*(-x0 + x2)*(u0*v1 - u1*v0))*(u0*(-u0*v1 + u1*v0) + u3*(u0*v1 - u1*v0) + (u0 - u1)*(u0*v3 - u3*v0)))*(u0*(u0*v1 - u1*v0)*(-u3*y0 + u3*y3 + (u0*v1 - u1*v0)*(-u2*y0 + u2*y2 + (v2 - u2*v0/u0)*(u1*y0 - u1*y1)/(v1 - u1*v0/u0))*((1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) - 1 + u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + (v3 - u3*v0/u0)*(u1*y0 - u1*y1)/(v1 - u1*v0/u0))*(v3*x3 + (u0*v1 - u1*v0)*(v2*x2 - (v2 - u2*v0/u0)*(v1*x1 - u1*v0*x0/u0)/(v1 - u1*v0/u0) - u2*v0*x0/u0)*((1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) - 1 + u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (v3 - u3*v0/u0)*(v1*x1 - u1*v0*x0/u0)/(v1 - u1*v0/u0) - u3*v0*x0/u0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1)/(u0*u1*(x0 - x1)*(u0*v3 - u3*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - u0*u3*(x0 - x3)*(u0*v1 - u1*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + (u1*(x0 - x1)*(u0*v2 - u2*v0) - u2*(x0 - x2)*(u0*v1 - u1*v0))*(-u0*(u0*v1 - u1*v0) + u3*(u0*v1 - u1*v0) + (u0 - u1)*(u0*v3 - u3*v0))) - v3*y3 + (u0*v1 - u1*v0)*(-v2*y2 + (v2 - u2*v0/u0)*(v1*y1 - u1*v0*y0/u0)/(v1 - u1*v0/u0) + u2*v0*y0/u0)*((1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) - 1 + u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + (v3 - u3*v0/u0)*(v1*y1 - u1*v0*y0/u0)/(v1 - u1*v0/u0) + u3*v0*y0/u0)) - (1 - u1/u0)*(u0*v1 - u1*v0)/((v1 - u1*v0/u0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1))) + x3*(-u0*(u0*v1 - u1*v0)*(-(1 - u1/u0)*(u0*v1 - u1*v0)*(u2*x0 - u2*x2 - (v2 - u2*v0/u0)*(u1*x0 - u1*x1)/(v1 - u1*v0/u0))/((v1 - u1*v0/u0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1)) + (u1*x0 - u1*x1)/(v1 - u1*v0/u0))*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1)/(-u0*u1*(x0 - x1)*(u0*v3 - u3*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + u0*u3*(x0 - x3)*(u0*v1 - u1*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (u1*(x0 - x1)*(u0*v2 - u2*v0) + u2*(-x0 + x2)*(u0*v1 - u1*v0))*(u0*(-u0*v1 + u1*v0) + u3*(u0*v1 - u1*v0) + (u0 - u1)*(u0*v3 - u3*v0))) + u0*(u0*v1 - u1*v0)*(-u0*(u0*v1 - u1*v0)*(-(1 - u1/u0)*(u0*v1 - u1*v0)*(u2*x0 - u2*x2 - (v2 - u2*v0/u0)*(u1*x0 - u1*x1)/(v1 - u1*v0/u0))/((v1 - u1*v0/u0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1)) + (u1*x0 - u1*x1)/(v1 - u1*v0/u0))*(-v3*x3 - (u0*v1 - u1*v0)*(-v2*x2 - (v2 - u2*v0/u0)*(-v1*x1 + u1*v0*x0/u0)/(v1 - u1*v0/u0) + u2*v0*x0/u0)*(-(1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) + 1 - u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (v3 - u3*v0/u0)*(-v1*x1 + u1*v0*x0/u0)/(v1 - u1*v0/u0) + u3*v0*x0/u0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1)/(-u0*u1*(x0 - x1)*(u0*v3 - u3*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + u0*u3*(x0 - x3)*(u0*v1 - u1*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (u1*(x0 - x1)*(u0*v2 - u2*v0) + u2*(-x0 + x2)*(u0*v1 - u1*v0))*(u0*(-u0*v1 + u1*v0) + u3*(u0*v1 - u1*v0) + (u0 - u1)*(u0*v3 - u3*v0))) - (1 - u1/u0)*(u0*v1 - u1*v0)*(-v2*x2 - (v2 - u2*v0/u0)*(-v1*x1 + u1*v0*x0/u0)/(v1 - u1*v0/u0) + u2*v0*x0/u0)/((v1 - u1*v0/u0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1)) + (-v1*x1 + u1*v0*x0/u0)/(v1 - u1*v0/u0))*(u3*y0 - u3*y3 - (u0*v1 - u1*v0)*(u2*y0 - u2*y2 - (v2 - u2*v0/u0)*(u1*y0 - u1*y1)/(v1 - u1*v0/u0))*(-(1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) + 1 - u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (v3 - u3*v0/u0)*(u1*y0 - u1*y1)/(v1 - u1*v0/u0))*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1)/((-u0*u1*(x0 - x1)*(u0*v3 - u3*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + u0*u3*(x0 - x3)*(u0*v1 - u1*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (u1*(x0 - x1)*(u0*v2 - u2*v0) + u2*(-x0 + x2)*(u0*v1 - u1*v0))*(u0*(-u0*v1 + u1*v0) + u3*(u0*v1 - u1*v0) + (u0 - u1)*(u0*v3 - u3*v0)))*(u0*(u0*v1 - u1*v0)*(-u3*y0 + u3*y3 + (u0*v1 - u1*v0)*(-u2*y0 + u2*y2 + (v2 - u2*v0/u0)*(u1*y0 - u1*y1)/(v1 - u1*v0/u0))*((1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) - 1 + u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + (v3 - u3*v0/u0)*(u1*y0 - u1*y1)/(v1 - u1*v0/u0))*(v3*x3 + (u0*v1 - u1*v0)*(v2*x2 - (v2 - u2*v0/u0)*(v1*x1 - u1*v0*x0/u0)/(v1 - u1*v0/u0) - u2*v0*x0/u0)*((1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) - 1 + u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (v3 - u3*v0/u0)*(v1*x1 - u1*v0*x0/u0)/(v1 - u1*v0/u0) - u3*v0*x0/u0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1)/(u0*u1*(x0 - x1)*(u0*v3 - u3*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - u0*u3*(x0 - x3)*(u0*v1 - u1*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + (u1*(x0 - x1)*(u0*v2 - u2*v0) - u2*(x0 - x2)*(u0*v1 - u1*v0))*(-u0*(u0*v1 - u1*v0) + u3*(u0*v1 - u1*v0) + (u0 - u1)*(u0*v3 - u3*v0))) - v3*y3 + (u0*v1 - u1*v0)*(-v2*y2 + (v2 - u2*v0/u0)*(v1*y1 - u1*v0*y0/u0)/(v1 - u1*v0/u0) + u2*v0*y0/u0)*((1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) - 1 + u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + (v3 - u3*v0/u0)*(v1*y1 - u1*v0*y0/u0)/(v1 - u1*v0/u0) + u3*v0*y0/u0))) - y0*(-(u0*v1 - u1*v0)*(u1*(v2 - u2*v0/u0)/(u0*(v1 - u1*v0/u0)) - u2/u0)*(-(1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) + 1 - u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + u1*(v3 - u3*v0/u0)/(u0*(v1 - u1*v0/u0)) - u3/u0)*(-u0*(u0*v1 - u1*v0)*(-(1 - u1/u0)*(u0*v1 - u1*v0)*(u2*x0 - u2*x2 - (v2 - u2*v0/u0)*(u1*x0 - u1*x1)/(v1 - u1*v0/u0))/((v1 - u1*v0/u0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1)) + (u1*x0 - u1*x1)/(v1 - u1*v0/u0))*(-v3*x3 - (u0*v1 - u1*v0)*(-v2*x2 - (v2 - u2*v0/u0)*(-v1*x1 + u1*v0*x0/u0)/(v1 - u1*v0/u0) + u2*v0*x0/u0)*(-(1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) + 1 - u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (v3 - u3*v0/u0)*(-v1*x1 + u1*v0*x0/u0)/(v1 - u1*v0/u0) + u3*v0*x0/u0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1)/(-u0*u1*(x0 - x1)*(u0*v3 - u3*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + u0*u3*(x0 - x3)*(u0*v1 - u1*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (u1*(x0 - x1)*(u0*v2 - u2*v0) + u2*(-x0 + x2)*(u0*v1 - u1*v0))*(u0*(-u0*v1 + u1*v0) + u3*(u0*v1 - u1*v0) + (u0 - u1)*(u0*v3 - u3*v0))) - (1 - u1/u0)*(u0*v1 - u1*v0)*(-v2*x2 - (v2 - u2*v0/u0)*(-v1*x1 + u1*v0*x0/u0)/(v1 - u1*v0/u0) + u2*v0*x0/u0)/((v1 - u1*v0/u0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1)) + (-v1*x1 + u1*v0*x0/u0)/(v1 - u1*v0/u0))/(u0*(u0*v1 - u1*v0)*(-u3*y0 + u3*y3 + (u0*v1 - u1*v0)*(-u2*y0 + u2*y2 + (v2 - u2*v0/u0)*(u1*y0 - u1*y1)/(v1 - u1*v0/u0))*((1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) - 1 + u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + (v3 - u3*v0/u0)*(u1*y0 - u1*y1)/(v1 - u1*v0/u0))*(v3*x3 + (u0*v1 - u1*v0)*(v2*x2 - (v2 - u2*v0/u0)*(v1*x1 - u1*v0*x0/u0)/(v1 - u1*v0/u0) - u2*v0*x0/u0)*((1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) - 1 + u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (v3 - u3*v0/u0)*(v1*x1 - u1*v0*x0/u0)/(v1 - u1*v0/u0) - u3*v0*x0/u0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1)/(u0*u1*(x0 - x1)*(u0*v3 - u3*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - u0*u3*(x0 - x3)*(u0*v1 - u1*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + (u1*(x0 - x1)*(u0*v2 - u2*v0) - u2*(x0 - x2)*(u0*v1 - u1*v0))*(-u0*(u0*v1 - u1*v0) + u3*(u0*v1 - u1*v0) + (u0 - u1)*(u0*v3 - u3*v0))) - v3*y3 + (u0*v1 - u1*v0)*(-v2*y2 + (v2 - u2*v0/u0)*(v1*y1 - u1*v0*y0/u0)/(v1 - u1*v0/u0) + u2*v0*y0/u0)*((1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) - 1 + u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + (v3 - u3*v0/u0)*(v1*y1 - u1*v0*y0/u0)/(v1 - u1*v0/u0) + u3*v0*y0/u0) - y1*((v2 - u2*v0/u0)*(u0*v1 - u1*v0)*(-(1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) + 1 - u3/u0)/((v1 - u1*v0/u0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1)) - (v3 - u3*v0/u0)/(v1 - u1*v0/u0))*(-u0*(u0*v1 - u1*v0)*(-(1 - u1/u0)*(u0*v1 - u1*v0)*(u2*x0 - u2*x2 - (v2 - u2*v0/u0)*(u1*x0 - u1*x1)/(v1 - u1*v0/u0))/((v1 - u1*v0/u0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1)) + (u1*x0 - u1*x1)/(v1 - u1*v0/u0))*(-v3*x3 - (u0*v1 - u1*v0)*(-v2*x2 - (v2 - u2*v0/u0)*(-v1*x1 + u1*v0*x0/u0)/(v1 - u1*v0/u0) + u2*v0*x0/u0)*(-(1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) + 1 - u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (v3 - u3*v0/u0)*(-v1*x1 + u1*v0*x0/u0)/(v1 - u1*v0/u0) + u3*v0*x0/u0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1)/(-u0*u1*(x0 - x1)*(u0*v3 - u3*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + u0*u3*(x0 - x3)*(u0*v1 - u1*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (u1*(x0 - x1)*(u0*v2 - u2*v0) + u2*(-x0 + x2)*(u0*v1 - u1*v0))*(u0*(-u0*v1 + u1*v0) + u3*(u0*v1 - u1*v0) + (u0 - u1)*(u0*v3 - u3*v0))) - (1 - u1/u0)*(u0*v1 - u1*v0)*(-v2*x2 - (v2 - u2*v0/u0)*(-v1*x1 + u1*v0*x0/u0)/(v1 - u1*v0/u0) + u2*v0*x0/u0)/((v1 - u1*v0/u0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1)) + (-v1*x1 + u1*v0*x0/u0)/(v1 - u1*v0/u0))/(u0*(u0*v1 - u1*v0)*(-u3*y0 + u3*y3 + (u0*v1 - u1*v0)*(-u2*y0 + u2*y2 + (v2 - u2*v0/u0)*(u1*y0 - u1*y1)/(v1 - u1*v0/u0))*((1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) - 1 + u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + (v3 - u3*v0/u0)*(u1*y0 - u1*y1)/(v1 - u1*v0/u0))*(v3*x3 + (u0*v1 - u1*v0)*(v2*x2 - (v2 - u2*v0/u0)*(v1*x1 - u1*v0*x0/u0)/(v1 - u1*v0/u0) - u2*v0*x0/u0)*((1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) - 1 + u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (v3 - u3*v0/u0)*(v1*x1 - u1*v0*x0/u0)/(v1 - u1*v0/u0) - u3*v0*x0/u0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1)/(u0*u1*(x0 - x1)*(u0*v3 - u3*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - u0*u3*(x0 - x3)*(u0*v1 - u1*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + (u1*(x0 - x1)*(u0*v2 - u2*v0) - u2*(x0 - x2)*(u0*v1 - u1*v0))*(-u0*(u0*v1 - u1*v0) + u3*(u0*v1 - u1*v0) + (u0 - u1)*(u0*v3 - u3*v0))) - v3*y3 + (u0*v1 - u1*v0)*(-v2*y2 + (v2 - u2*v0/u0)*(v1*y1 - u1*v0*y0/u0)/(v1 - u1*v0/u0) + u2*v0*y0/u0)*((1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) - 1 + u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + (v3 - u3*v0/u0)*(v1*y1 - u1*v0*y0/u0)/(v1 - u1*v0/u0) + u3*v0*y0/u0) + y2*(u0*v1 - u1*v0)*(-(1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) + 1 - u3/u0)*(-u0*(u0*v1 - u1*v0)*(-(1 - u1/u0)*(u0*v1 - u1*v0)*(u2*x0 - u2*x2 - (v2 - u2*v0/u0)*(u1*x0 - u1*x1)/(v1 - u1*v0/u0))/((v1 - u1*v0/u0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1)) + (u1*x0 - u1*x1)/(v1 - u1*v0/u0))*(-v3*x3 - (u0*v1 - u1*v0)*(-v2*x2 - (v2 - u2*v0/u0)*(-v1*x1 + u1*v0*x0/u0)/(v1 - u1*v0/u0) + u2*v0*x0/u0)*(-(1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) + 1 - u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (v3 - u3*v0/u0)*(-v1*x1 + u1*v0*x0/u0)/(v1 - u1*v0/u0) + u3*v0*x0/u0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1)/(-u0*u1*(x0 - x1)*(u0*v3 - u3*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + u0*u3*(x0 - x3)*(u0*v1 - u1*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (u1*(x0 - x1)*(u0*v2 - u2*v0) + u2*(-x0 + x2)*(u0*v1 - u1*v0))*(u0*(-u0*v1 + u1*v0) + u3*(u0*v1 - u1*v0) + (u0 - u1)*(u0*v3 - u3*v0))) - (1 - u1/u0)*(u0*v1 - u1*v0)*(-v2*x2 - (v2 - u2*v0/u0)*(-v1*x1 + u1*v0*x0/u0)/(v1 - u1*v0/u0) + u2*v0*x0/u0)/((v1 - u1*v0/u0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1)) + (-v1*x1 + u1*v0*x0/u0)/(v1 - u1*v0/u0))/((u0*(u0*v1 - u1*v0)*(-u3*y0 + u3*y3 + (u0*v1 - u1*v0)*(-u2*y0 + u2*y2 + (v2 - u2*v0/u0)*(u1*y0 - u1*y1)/(v1 - u1*v0/u0))*((1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) - 1 + u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + (v3 - u3*v0/u0)*(u1*y0 - u1*y1)/(v1 - u1*v0/u0))*(v3*x3 + (u0*v1 - u1*v0)*(v2*x2 - (v2 - u2*v0/u0)*(v1*x1 - u1*v0*x0/u0)/(v1 - u1*v0/u0) - u2*v0*x0/u0)*((1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) - 1 + u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (v3 - u3*v0/u0)*(v1*x1 - u1*v0*x0/u0)/(v1 - u1*v0/u0) - u3*v0*x0/u0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1)/(u0*u1*(x0 - x1)*(u0*v3 - u3*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - u0*u3*(x0 - x3)*(u0*v1 - u1*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + (u1*(x0 - x1)*(u0*v2 - u2*v0) - u2*(x0 - x2)*(u0*v1 - u1*v0))*(-u0*(u0*v1 - u1*v0) + u3*(u0*v1 - u1*v0) + (u0 - u1)*(u0*v3 - u3*v0))) - v3*y3 + (u0*v1 - u1*v0)*(-v2*y2 + (v2 - u2*v0/u0)*(v1*y1 - u1*v0*y0/u0)/(v1 - u1*v0/u0) + u2*v0*y0/u0)*((1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) - 1 + u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + (v3 - u3*v0/u0)*(v1*y1 - u1*v0*y0/u0)/(v1 - u1*v0/u0) + u3*v0*y0/u0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1)) - y3*(-u0*(u0*v1 - u1*v0)*(-(1 - u1/u0)*(u0*v1 - u1*v0)*(u2*x0 - u2*x2 - (v2 - u2*v0/u0)*(u1*x0 - u1*x1)/(v1 - u1*v0/u0))/((v1 - u1*v0/u0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1)) + (u1*x0 - u1*x1)/(v1 - u1*v0/u0))*(-v3*x3 - (u0*v1 - u1*v0)*(-v2*x2 - (v2 - u2*v0/u0)*(-v1*x1 + u1*v0*x0/u0)/(v1 - u1*v0/u0) + u2*v0*x0/u0)*(-(1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) + 1 - u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (v3 - u3*v0/u0)*(-v1*x1 + u1*v0*x0/u0)/(v1 - u1*v0/u0) + u3*v0*x0/u0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1)/(-u0*u1*(x0 - x1)*(u0*v3 - u3*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + u0*u3*(x0 - x3)*(u0*v1 - u1*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (u1*(x0 - x1)*(u0*v2 - u2*v0) + u2*(-x0 + x2)*(u0*v1 - u1*v0))*(u0*(-u0*v1 + u1*v0) + u3*(u0*v1 - u1*v0) + (u0 - u1)*(u0*v3 - u3*v0))) - (1 - u1/u0)*(u0*v1 - u1*v0)*(-v2*x2 - (v2 - u2*v0/u0)*(-v1*x1 + u1*v0*x0/u0)/(v1 - u1*v0/u0) + u2*v0*x0/u0)/((v1 - u1*v0/u0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1)) + (-v1*x1 + u1*v0*x0/u0)/(v1 - u1*v0/u0))/(u0*(u0*v1 - u1*v0)*(-u3*y0 + u3*y3 + (u0*v1 - u1*v0)*(-u2*y0 + u2*y2 + (v2 - u2*v0/u0)*(u1*y0 - u1*y1)/(v1 - u1*v0/u0))*((1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) - 1 + u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + (v3 - u3*v0/u0)*(u1*y0 - u1*y1)/(v1 - u1*v0/u0))*(v3*x3 + (u0*v1 - u1*v0)*(v2*x2 - (v2 - u2*v0/u0)*(v1*x1 - u1*v0*x0/u0)/(v1 - u1*v0/u0) - u2*v0*x0/u0)*((1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) - 1 + u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (v3 - u3*v0/u0)*(v1*x1 - u1*v0*x0/u0)/(v1 - u1*v0/u0) - u3*v0*x0/u0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1)/(u0*u1*(x0 - x1)*(u0*v3 - u3*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - u0*u3*(x0 - x3)*(u0*v1 - u1*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + (u1*(x0 - x1)*(u0*v2 - u2*v0) - u2*(x0 - x2)*(u0*v1 - u1*v0))*(-u0*(u0*v1 - u1*v0) + u3*(u0*v1 - u1*v0) + (u0 - u1)*(u0*v3 - u3*v0))) - v3*y3 + (u0*v1 - u1*v0)*(-v2*y2 + (v2 - u2*v0/u0)*(v1*y1 - u1*v0*y0/u0)/(v1 - u1*v0/u0) + u2*v0*y0/u0)*((1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) - 1 + u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + (v3 - u3*v0/u0)*(v1*y1 - u1*v0*y0/u0)/(v1 - u1*v0/u0) + u3*v0*y0/u0), | |
c = x0*(-u0*Math.pow(u0*v1 - u1*v0,2)*(u2*x0 - u2*x2 - (v2 - u2*v0/u0)*(u1*x0 - u1*x1)/(v1 - u1*v0/u0))*(-(u0*v1 - u1*v0)*(u1*(v2 - u2*v0/u0)/(u0*(v1 - u1*v0/u0)) - u2/u0)*(-(1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) + 1 - u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + u1*(v3 - u3*v0/u0)/(u0*(v1 - u1*v0/u0)) - u3/u0)/(-u0*u1*(x0 - x1)*(u0*v3 - u3*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + u0*u3*(x0 - x3)*(u0*v1 - u1*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (u1*(x0 - x1)*(u0*v2 - u2*v0) + u2*(-x0 + x2)*(u0*v1 - u1*v0))*(u0*(-u0*v1 + u1*v0) + u3*(u0*v1 - u1*v0) + (u0 - u1)*(u0*v3 - u3*v0))) + u0*(u0*v1 - u1*v0)*(-u0*Math.pow(u0*v1 - u1*v0,2)*(u2*x0 - u2*x2 - (v2 - u2*v0/u0)*(u1*x0 - u1*x1)/(v1 - u1*v0/u0))*(-v3*x3 - (u0*v1 - u1*v0)*(-v2*x2 - (v2 - u2*v0/u0)*(-v1*x1 + u1*v0*x0/u0)/(v1 - u1*v0/u0) + u2*v0*x0/u0)*(-(1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) + 1 - u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (v3 - u3*v0/u0)*(-v1*x1 + u1*v0*x0/u0)/(v1 - u1*v0/u0) + u3*v0*x0/u0)/(-u0*u1*(x0 - x1)*(u0*v3 - u3*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + u0*u3*(x0 - x3)*(u0*v1 - u1*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (u1*(x0 - x1)*(u0*v2 - u2*v0) + u2*(-x0 + x2)*(u0*v1 - u1*v0))*(u0*(-u0*v1 + u1*v0) + u3*(u0*v1 - u1*v0) + (u0 - u1)*(u0*v3 - u3*v0))) + (u0*v1 - u1*v0)*(-v2*x2 - (v2 - u2*v0/u0)*(-v1*x1 + u1*v0*x0/u0)/(v1 - u1*v0/u0) + u2*v0*x0/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1))*(-(u0*v1 - u1*v0)*(u1*(v2 - u2*v0/u0)/(u0*(v1 - u1*v0/u0)) - u2/u0)*(-(1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) + 1 - u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + u1*(v3 - u3*v0/u0)/(u0*(v1 - u1*v0/u0)) - u3/u0)*(u3*y0 - u3*y3 - (u0*v1 - u1*v0)*(u2*y0 - u2*y2 - (v2 - u2*v0/u0)*(u1*y0 - u1*y1)/(v1 - u1*v0/u0))*(-(1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) + 1 - u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (v3 - u3*v0/u0)*(u1*y0 - u1*y1)/(v1 - u1*v0/u0))*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1)/((-u0*u1*(x0 - x1)*(u0*v3 - u3*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + u0*u3*(x0 - x3)*(u0*v1 - u1*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (u1*(x0 - x1)*(u0*v2 - u2*v0) + u2*(-x0 + x2)*(u0*v1 - u1*v0))*(u0*(-u0*v1 + u1*v0) + u3*(u0*v1 - u1*v0) + (u0 - u1)*(u0*v3 - u3*v0)))*(u0*(u0*v1 - u1*v0)*(-u3*y0 + u3*y3 + (u0*v1 - u1*v0)*(-u2*y0 + u2*y2 + (v2 - u2*v0/u0)*(u1*y0 - u1*y1)/(v1 - u1*v0/u0))*((1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) - 1 + u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + (v3 - u3*v0/u0)*(u1*y0 - u1*y1)/(v1 - u1*v0/u0))*(v3*x3 + (u0*v1 - u1*v0)*(v2*x2 - (v2 - u2*v0/u0)*(v1*x1 - u1*v0*x0/u0)/(v1 - u1*v0/u0) - u2*v0*x0/u0)*((1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) - 1 + u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (v3 - u3*v0/u0)*(v1*x1 - u1*v0*x0/u0)/(v1 - u1*v0/u0) - u3*v0*x0/u0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1)/(u0*u1*(x0 - x1)*(u0*v3 - u3*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - u0*u3*(x0 - x3)*(u0*v1 - u1*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + (u1*(x0 - x1)*(u0*v2 - u2*v0) - u2*(x0 - x2)*(u0*v1 - u1*v0))*(-u0*(u0*v1 - u1*v0) + u3*(u0*v1 - u1*v0) + (u0 - u1)*(u0*v3 - u3*v0))) - v3*y3 + (u0*v1 - u1*v0)*(-v2*y2 + (v2 - u2*v0/u0)*(v1*y1 - u1*v0*y0/u0)/(v1 - u1*v0/u0) + u2*v0*y0/u0)*((1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) - 1 + u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + (v3 - u3*v0/u0)*(v1*y1 - u1*v0*y0/u0)/(v1 - u1*v0/u0) + u3*v0*y0/u0)) + (u0*v1 - u1*v0)*(u1*(v2 - u2*v0/u0)/(u0*(v1 - u1*v0/u0)) - u2/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1)) + x1*(-u0*Math.pow(u0*v1 - u1*v0,2)*((v2 - u2*v0/u0)*(u0*v1 - u1*v0)*(-(1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) + 1 - u3/u0)/((v1 - u1*v0/u0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1)) - (v3 - u3*v0/u0)/(v1 - u1*v0/u0))*(u2*x0 - u2*x2 - (v2 - u2*v0/u0)*(u1*x0 - u1*x1)/(v1 - u1*v0/u0))/(-u0*u1*(x0 - x1)*(u0*v3 - u3*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + u0*u3*(x0 - x3)*(u0*v1 - u1*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (u1*(x0 - x1)*(u0*v2 - u2*v0) + u2*(-x0 + x2)*(u0*v1 - u1*v0))*(u0*(-u0*v1 + u1*v0) + u3*(u0*v1 - u1*v0) + (u0 - u1)*(u0*v3 - u3*v0))) + u0*(u0*v1 - u1*v0)*(-u0*Math.pow(u0*v1 - u1*v0,2)*(u2*x0 - u2*x2 - (v2 - u2*v0/u0)*(u1*x0 - u1*x1)/(v1 - u1*v0/u0))*(-v3*x3 - (u0*v1 - u1*v0)*(-v2*x2 - (v2 - u2*v0/u0)*(-v1*x1 + u1*v0*x0/u0)/(v1 - u1*v0/u0) + u2*v0*x0/u0)*(-(1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) + 1 - u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (v3 - u3*v0/u0)*(-v1*x1 + u1*v0*x0/u0)/(v1 - u1*v0/u0) + u3*v0*x0/u0)/(-u0*u1*(x0 - x1)*(u0*v3 - u3*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + u0*u3*(x0 - x3)*(u0*v1 - u1*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (u1*(x0 - x1)*(u0*v2 - u2*v0) + u2*(-x0 + x2)*(u0*v1 - u1*v0))*(u0*(-u0*v1 + u1*v0) + u3*(u0*v1 - u1*v0) + (u0 - u1)*(u0*v3 - u3*v0))) + (u0*v1 - u1*v0)*(-v2*x2 - (v2 - u2*v0/u0)*(-v1*x1 + u1*v0*x0/u0)/(v1 - u1*v0/u0) + u2*v0*x0/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1))*((v2 - u2*v0/u0)*(u0*v1 - u1*v0)*(-(1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) + 1 - u3/u0)/((v1 - u1*v0/u0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1)) - (v3 - u3*v0/u0)/(v1 - u1*v0/u0))*(u3*y0 - u3*y3 - (u0*v1 - u1*v0)*(u2*y0 - u2*y2 - (v2 - u2*v0/u0)*(u1*y0 - u1*y1)/(v1 - u1*v0/u0))*(-(1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) + 1 - u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (v3 - u3*v0/u0)*(u1*y0 - u1*y1)/(v1 - u1*v0/u0))*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1)/((-u0*u1*(x0 - x1)*(u0*v3 - u3*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + u0*u3*(x0 - x3)*(u0*v1 - u1*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (u1*(x0 - x1)*(u0*v2 - u2*v0) + u2*(-x0 + x2)*(u0*v1 - u1*v0))*(u0*(-u0*v1 + u1*v0) + u3*(u0*v1 - u1*v0) + (u0 - u1)*(u0*v3 - u3*v0)))*(u0*(u0*v1 - u1*v0)*(-u3*y0 + u3*y3 + (u0*v1 - u1*v0)*(-u2*y0 + u2*y2 + (v2 - u2*v0/u0)*(u1*y0 - u1*y1)/(v1 - u1*v0/u0))*((1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) - 1 + u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + (v3 - u3*v0/u0)*(u1*y0 - u1*y1)/(v1 - u1*v0/u0))*(v3*x3 + (u0*v1 - u1*v0)*(v2*x2 - (v2 - u2*v0/u0)*(v1*x1 - u1*v0*x0/u0)/(v1 - u1*v0/u0) - u2*v0*x0/u0)*((1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) - 1 + u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (v3 - u3*v0/u0)*(v1*x1 - u1*v0*x0/u0)/(v1 - u1*v0/u0) - u3*v0*x0/u0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1)/(u0*u1*(x0 - x1)*(u0*v3 - u3*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - u0*u3*(x0 - x3)*(u0*v1 - u1*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + (u1*(x0 - x1)*(u0*v2 - u2*v0) - u2*(x0 - x2)*(u0*v1 - u1*v0))*(-u0*(u0*v1 - u1*v0) + u3*(u0*v1 - u1*v0) + (u0 - u1)*(u0*v3 - u3*v0))) - v3*y3 + (u0*v1 - u1*v0)*(-v2*y2 + (v2 - u2*v0/u0)*(v1*y1 - u1*v0*y0/u0)/(v1 - u1*v0/u0) + u2*v0*y0/u0)*((1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) - 1 + u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + (v3 - u3*v0/u0)*(v1*y1 - u1*v0*y0/u0)/(v1 - u1*v0/u0) + u3*v0*y0/u0)) - (v2 - u2*v0/u0)*(u0*v1 - u1*v0)/((v1 - u1*v0/u0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1))) + x2*(u0*Math.pow(u0*v1 - u1*v0,3)*(u2*x0 - u2*x2 - (v2 - u2*v0/u0)*(u1*x0 - u1*x1)/(v1 - u1*v0/u0))*(-(1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) + 1 - u3/u0)/((-u0*u1*(x0 - x1)*(u0*v3 - u3*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + u0*u3*(x0 - x3)*(u0*v1 - u1*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (u1*(x0 - x1)*(u0*v2 - u2*v0) + u2*(-x0 + x2)*(u0*v1 - u1*v0))*(u0*(-u0*v1 + u1*v0) + u3*(u0*v1 - u1*v0) + (u0 - u1)*(u0*v3 - u3*v0)))*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1)) - u0*Math.pow(u0*v1 - u1*v0,2)*(-u0*Math.pow(u0*v1 - u1*v0,2)*(u2*x0 - u2*x2 - (v2 - u2*v0/u0)*(u1*x0 - u1*x1)/(v1 - u1*v0/u0))*(-v3*x3 - (u0*v1 - u1*v0)*(-v2*x2 - (v2 - u2*v0/u0)*(-v1*x1 + u1*v0*x0/u0)/(v1 - u1*v0/u0) + u2*v0*x0/u0)*(-(1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) + 1 - u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (v3 - u3*v0/u0)*(-v1*x1 + u1*v0*x0/u0)/(v1 - u1*v0/u0) + u3*v0*x0/u0)/(-u0*u1*(x0 - x1)*(u0*v3 - u3*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + u0*u3*(x0 - x3)*(u0*v1 - u1*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (u1*(x0 - x1)*(u0*v2 - u2*v0) + u2*(-x0 + x2)*(u0*v1 - u1*v0))*(u0*(-u0*v1 + u1*v0) + u3*(u0*v1 - u1*v0) + (u0 - u1)*(u0*v3 - u3*v0))) + (u0*v1 - u1*v0)*(-v2*x2 - (v2 - u2*v0/u0)*(-v1*x1 + u1*v0*x0/u0)/(v1 - u1*v0/u0) + u2*v0*x0/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1))*(-(1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) + 1 - u3/u0)*(u3*y0 - u3*y3 - (u0*v1 - u1*v0)*(u2*y0 - u2*y2 - (v2 - u2*v0/u0)*(u1*y0 - u1*y1)/(v1 - u1*v0/u0))*(-(1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) + 1 - u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (v3 - u3*v0/u0)*(u1*y0 - u1*y1)/(v1 - u1*v0/u0))/((-u0*u1*(x0 - x1)*(u0*v3 - u3*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + u0*u3*(x0 - x3)*(u0*v1 - u1*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (u1*(x0 - x1)*(u0*v2 - u2*v0) + u2*(-x0 + x2)*(u0*v1 - u1*v0))*(u0*(-u0*v1 + u1*v0) + u3*(u0*v1 - u1*v0) + (u0 - u1)*(u0*v3 - u3*v0)))*(u0*(u0*v1 - u1*v0)*(-u3*y0 + u3*y3 + (u0*v1 - u1*v0)*(-u2*y0 + u2*y2 + (v2 - u2*v0/u0)*(u1*y0 - u1*y1)/(v1 - u1*v0/u0))*((1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) - 1 + u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + (v3 - u3*v0/u0)*(u1*y0 - u1*y1)/(v1 - u1*v0/u0))*(v3*x3 + (u0*v1 - u1*v0)*(v2*x2 - (v2 - u2*v0/u0)*(v1*x1 - u1*v0*x0/u0)/(v1 - u1*v0/u0) - u2*v0*x0/u0)*((1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) - 1 + u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (v3 - u3*v0/u0)*(v1*x1 - u1*v0*x0/u0)/(v1 - u1*v0/u0) - u3*v0*x0/u0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1)/(u0*u1*(x0 - x1)*(u0*v3 - u3*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - u0*u3*(x0 - x3)*(u0*v1 - u1*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + (u1*(x0 - x1)*(u0*v2 - u2*v0) - u2*(x0 - x2)*(u0*v1 - u1*v0))*(-u0*(u0*v1 - u1*v0) + u3*(u0*v1 - u1*v0) + (u0 - u1)*(u0*v3 - u3*v0))) - v3*y3 + (u0*v1 - u1*v0)*(-v2*y2 + (v2 - u2*v0/u0)*(v1*y1 - u1*v0*y0/u0)/(v1 - u1*v0/u0) + u2*v0*y0/u0)*((1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) - 1 + u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + (v3 - u3*v0/u0)*(v1*y1 - u1*v0*y0/u0)/(v1 - u1*v0/u0) + u3*v0*y0/u0)) + (u0*v1 - u1*v0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1)) + x3*(-u0*Math.pow(u0*v1 - u1*v0,2)*(u2*x0 - u2*x2 - (v2 - u2*v0/u0)*(u1*x0 - u1*x1)/(v1 - u1*v0/u0))/(-u0*u1*(x0 - x1)*(u0*v3 - u3*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + u0*u3*(x0 - x3)*(u0*v1 - u1*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (u1*(x0 - x1)*(u0*v2 - u2*v0) + u2*(-x0 + x2)*(u0*v1 - u1*v0))*(u0*(-u0*v1 + u1*v0) + u3*(u0*v1 - u1*v0) + (u0 - u1)*(u0*v3 - u3*v0))) + u0*(u0*v1 - u1*v0)*(-u0*Math.pow(u0*v1 - u1*v0,2)*(u2*x0 - u2*x2 - (v2 - u2*v0/u0)*(u1*x0 - u1*x1)/(v1 - u1*v0/u0))*(-v3*x3 - (u0*v1 - u1*v0)*(-v2*x2 - (v2 - u2*v0/u0)*(-v1*x1 + u1*v0*x0/u0)/(v1 - u1*v0/u0) + u2*v0*x0/u0)*(-(1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) + 1 - u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (v3 - u3*v0/u0)*(-v1*x1 + u1*v0*x0/u0)/(v1 - u1*v0/u0) + u3*v0*x0/u0)/(-u0*u1*(x0 - x1)*(u0*v3 - u3*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + u0*u3*(x0 - x3)*(u0*v1 - u1*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (u1*(x0 - x1)*(u0*v2 - u2*v0) + u2*(-x0 + x2)*(u0*v1 - u1*v0))*(u0*(-u0*v1 + u1*v0) + u3*(u0*v1 - u1*v0) + (u0 - u1)*(u0*v3 - u3*v0))) + (u0*v1 - u1*v0)*(-v2*x2 - (v2 - u2*v0/u0)*(-v1*x1 + u1*v0*x0/u0)/(v1 - u1*v0/u0) + u2*v0*x0/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1))*(u3*y0 - u3*y3 - (u0*v1 - u1*v0)*(u2*y0 - u2*y2 - (v2 - u2*v0/u0)*(u1*y0 - u1*y1)/(v1 - u1*v0/u0))*(-(1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) + 1 - u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (v3 - u3*v0/u0)*(u1*y0 - u1*y1)/(v1 - u1*v0/u0))*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1)/((-u0*u1*(x0 - x1)*(u0*v3 - u3*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + u0*u3*(x0 - x3)*(u0*v1 - u1*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (u1*(x0 - x1)*(u0*v2 - u2*v0) + u2*(-x0 + x2)*(u0*v1 - u1*v0))*(u0*(-u0*v1 + u1*v0) + u3*(u0*v1 - u1*v0) + (u0 - u1)*(u0*v3 - u3*v0)))*(u0*(u0*v1 - u1*v0)*(-u3*y0 + u3*y3 + (u0*v1 - u1*v0)*(-u2*y0 + u2*y2 + (v2 - u2*v0/u0)*(u1*y0 - u1*y1)/(v1 - u1*v0/u0))*((1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) - 1 + u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + (v3 - u3*v0/u0)*(u1*y0 - u1*y1)/(v1 - u1*v0/u0))*(v3*x3 + (u0*v1 - u1*v0)*(v2*x2 - (v2 - u2*v0/u0)*(v1*x1 - u1*v0*x0/u0)/(v1 - u1*v0/u0) - u2*v0*x0/u0)*((1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) - 1 + u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (v3 - u3*v0/u0)*(v1*x1 - u1*v0*x0/u0)/(v1 - u1*v0/u0) - u3*v0*x0/u0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1)/(u0*u1*(x0 - x1)*(u0*v3 - u3*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - u0*u3*(x0 - x3)*(u0*v1 - u1*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + (u1*(x0 - x1)*(u0*v2 - u2*v0) - u2*(x0 - x2)*(u0*v1 - u1*v0))*(-u0*(u0*v1 - u1*v0) + u3*(u0*v1 - u1*v0) + (u0 - u1)*(u0*v3 - u3*v0))) - v3*y3 + (u0*v1 - u1*v0)*(-v2*y2 + (v2 - u2*v0/u0)*(v1*y1 - u1*v0*y0/u0)/(v1 - u1*v0/u0) + u2*v0*y0/u0)*((1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) - 1 + u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + (v3 - u3*v0/u0)*(v1*y1 - u1*v0*y0/u0)/(v1 - u1*v0/u0) + u3*v0*y0/u0))) - y0*(-u0*Math.pow(u0*v1 - u1*v0,2)*(u2*x0 - u2*x2 - (v2 - u2*v0/u0)*(u1*x0 - u1*x1)/(v1 - u1*v0/u0))*(-v3*x3 - (u0*v1 - u1*v0)*(-v2*x2 - (v2 - u2*v0/u0)*(-v1*x1 + u1*v0*x0/u0)/(v1 - u1*v0/u0) + u2*v0*x0/u0)*(-(1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) + 1 - u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (v3 - u3*v0/u0)*(-v1*x1 + u1*v0*x0/u0)/(v1 - u1*v0/u0) + u3*v0*x0/u0)/(-u0*u1*(x0 - x1)*(u0*v3 - u3*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + u0*u3*(x0 - x3)*(u0*v1 - u1*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (u1*(x0 - x1)*(u0*v2 - u2*v0) + u2*(-x0 + x2)*(u0*v1 - u1*v0))*(u0*(-u0*v1 + u1*v0) + u3*(u0*v1 - u1*v0) + (u0 - u1)*(u0*v3 - u3*v0))) + (u0*v1 - u1*v0)*(-v2*x2 - (v2 - u2*v0/u0)*(-v1*x1 + u1*v0*x0/u0)/(v1 - u1*v0/u0) + u2*v0*x0/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1))*(-(u0*v1 - u1*v0)*(u1*(v2 - u2*v0/u0)/(u0*(v1 - u1*v0/u0)) - u2/u0)*(-(1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) + 1 - u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + u1*(v3 - u3*v0/u0)/(u0*(v1 - u1*v0/u0)) - u3/u0)/(u0*(u0*v1 - u1*v0)*(-u3*y0 + u3*y3 + (u0*v1 - u1*v0)*(-u2*y0 + u2*y2 + (v2 - u2*v0/u0)*(u1*y0 - u1*y1)/(v1 - u1*v0/u0))*((1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) - 1 + u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + (v3 - u3*v0/u0)*(u1*y0 - u1*y1)/(v1 - u1*v0/u0))*(v3*x3 + (u0*v1 - u1*v0)*(v2*x2 - (v2 - u2*v0/u0)*(v1*x1 - u1*v0*x0/u0)/(v1 - u1*v0/u0) - u2*v0*x0/u0)*((1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) - 1 + u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (v3 - u3*v0/u0)*(v1*x1 - u1*v0*x0/u0)/(v1 - u1*v0/u0) - u3*v0*x0/u0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1)/(u0*u1*(x0 - x1)*(u0*v3 - u3*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - u0*u3*(x0 - x3)*(u0*v1 - u1*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + (u1*(x0 - x1)*(u0*v2 - u2*v0) - u2*(x0 - x2)*(u0*v1 - u1*v0))*(-u0*(u0*v1 - u1*v0) + u3*(u0*v1 - u1*v0) + (u0 - u1)*(u0*v3 - u3*v0))) - v3*y3 + (u0*v1 - u1*v0)*(-v2*y2 + (v2 - u2*v0/u0)*(v1*y1 - u1*v0*y0/u0)/(v1 - u1*v0/u0) + u2*v0*y0/u0)*((1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) - 1 + u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + (v3 - u3*v0/u0)*(v1*y1 - u1*v0*y0/u0)/(v1 - u1*v0/u0) + u3*v0*y0/u0) - y1*(-u0*Math.pow(u0*v1 - u1*v0,2)*(u2*x0 - u2*x2 - (v2 - u2*v0/u0)*(u1*x0 - u1*x1)/(v1 - u1*v0/u0))*(-v3*x3 - (u0*v1 - u1*v0)*(-v2*x2 - (v2 - u2*v0/u0)*(-v1*x1 + u1*v0*x0/u0)/(v1 - u1*v0/u0) + u2*v0*x0/u0)*(-(1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) + 1 - u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (v3 - u3*v0/u0)*(-v1*x1 + u1*v0*x0/u0)/(v1 - u1*v0/u0) + u3*v0*x0/u0)/(-u0*u1*(x0 - x1)*(u0*v3 - u3*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + u0*u3*(x0 - x3)*(u0*v1 - u1*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (u1*(x0 - x1)*(u0*v2 - u2*v0) + u2*(-x0 + x2)*(u0*v1 - u1*v0))*(u0*(-u0*v1 + u1*v0) + u3*(u0*v1 - u1*v0) + (u0 - u1)*(u0*v3 - u3*v0))) + (u0*v1 - u1*v0)*(-v2*x2 - (v2 - u2*v0/u0)*(-v1*x1 + u1*v0*x0/u0)/(v1 - u1*v0/u0) + u2*v0*x0/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1))*((v2 - u2*v0/u0)*(u0*v1 - u1*v0)*(-(1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) + 1 - u3/u0)/((v1 - u1*v0/u0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1)) - (v3 - u3*v0/u0)/(v1 - u1*v0/u0))/(u0*(u0*v1 - u1*v0)*(-u3*y0 + u3*y3 + (u0*v1 - u1*v0)*(-u2*y0 + u2*y2 + (v2 - u2*v0/u0)*(u1*y0 - u1*y1)/(v1 - u1*v0/u0))*((1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) - 1 + u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + (v3 - u3*v0/u0)*(u1*y0 - u1*y1)/(v1 - u1*v0/u0))*(v3*x3 + (u0*v1 - u1*v0)*(v2*x2 - (v2 - u2*v0/u0)*(v1*x1 - u1*v0*x0/u0)/(v1 - u1*v0/u0) - u2*v0*x0/u0)*((1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) - 1 + u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (v3 - u3*v0/u0)*(v1*x1 - u1*v0*x0/u0)/(v1 - u1*v0/u0) - u3*v0*x0/u0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1)/(u0*u1*(x0 - x1)*(u0*v3 - u3*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - u0*u3*(x0 - x3)*(u0*v1 - u1*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + (u1*(x0 - x1)*(u0*v2 - u2*v0) - u2*(x0 - x2)*(u0*v1 - u1*v0))*(-u0*(u0*v1 - u1*v0) + u3*(u0*v1 - u1*v0) + (u0 - u1)*(u0*v3 - u3*v0))) - v3*y3 + (u0*v1 - u1*v0)*(-v2*y2 + (v2 - u2*v0/u0)*(v1*y1 - u1*v0*y0/u0)/(v1 - u1*v0/u0) + u2*v0*y0/u0)*((1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) - 1 + u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + (v3 - u3*v0/u0)*(v1*y1 - u1*v0*y0/u0)/(v1 - u1*v0/u0) + u3*v0*y0/u0) + y2*(u0*v1 - u1*v0)*(-u0*Math.pow(u0*v1 - u1*v0,2)*(u2*x0 - u2*x2 - (v2 - u2*v0/u0)*(u1*x0 - u1*x1)/(v1 - u1*v0/u0))*(-v3*x3 - (u0*v1 - u1*v0)*(-v2*x2 - (v2 - u2*v0/u0)*(-v1*x1 + u1*v0*x0/u0)/(v1 - u1*v0/u0) + u2*v0*x0/u0)*(-(1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) + 1 - u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (v3 - u3*v0/u0)*(-v1*x1 + u1*v0*x0/u0)/(v1 - u1*v0/u0) + u3*v0*x0/u0)/(-u0*u1*(x0 - x1)*(u0*v3 - u3*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + u0*u3*(x0 - x3)*(u0*v1 - u1*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (u1*(x0 - x1)*(u0*v2 - u2*v0) + u2*(-x0 + x2)*(u0*v1 - u1*v0))*(u0*(-u0*v1 + u1*v0) + u3*(u0*v1 - u1*v0) + (u0 - u1)*(u0*v3 - u3*v0))) + (u0*v1 - u1*v0)*(-v2*x2 - (v2 - u2*v0/u0)*(-v1*x1 + u1*v0*x0/u0)/(v1 - u1*v0/u0) + u2*v0*x0/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1))*(-(1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) + 1 - u3/u0)/((u0*(u0*v1 - u1*v0)*(-u3*y0 + u3*y3 + (u0*v1 - u1*v0)*(-u2*y0 + u2*y2 + (v2 - u2*v0/u0)*(u1*y0 - u1*y1)/(v1 - u1*v0/u0))*((1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) - 1 + u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + (v3 - u3*v0/u0)*(u1*y0 - u1*y1)/(v1 - u1*v0/u0))*(v3*x3 + (u0*v1 - u1*v0)*(v2*x2 - (v2 - u2*v0/u0)*(v1*x1 - u1*v0*x0/u0)/(v1 - u1*v0/u0) - u2*v0*x0/u0)*((1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) - 1 + u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (v3 - u3*v0/u0)*(v1*x1 - u1*v0*x0/u0)/(v1 - u1*v0/u0) - u3*v0*x0/u0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1)/(u0*u1*(x0 - x1)*(u0*v3 - u3*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - u0*u3*(x0 - x3)*(u0*v1 - u1*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + (u1*(x0 - x1)*(u0*v2 - u2*v0) - u2*(x0 - x2)*(u0*v1 - u1*v0))*(-u0*(u0*v1 - u1*v0) + u3*(u0*v1 - u1*v0) + (u0 - u1)*(u0*v3 - u3*v0))) - v3*y3 + (u0*v1 - u1*v0)*(-v2*y2 + (v2 - u2*v0/u0)*(v1*y1 - u1*v0*y0/u0)/(v1 - u1*v0/u0) + u2*v0*y0/u0)*((1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) - 1 + u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + (v3 - u3*v0/u0)*(v1*y1 - u1*v0*y0/u0)/(v1 - u1*v0/u0) + u3*v0*y0/u0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1)) - y3*(-u0*Math.pow(u0*v1 - u1*v0,2)*(u2*x0 - u2*x2 - (v2 - u2*v0/u0)*(u1*x0 - u1*x1)/(v1 - u1*v0/u0))*(-v3*x3 - (u0*v1 - u1*v0)*(-v2*x2 - (v2 - u2*v0/u0)*(-v1*x1 + u1*v0*x0/u0)/(v1 - u1*v0/u0) + u2*v0*x0/u0)*(-(1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) + 1 - u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (v3 - u3*v0/u0)*(-v1*x1 + u1*v0*x0/u0)/(v1 - u1*v0/u0) + u3*v0*x0/u0)/(-u0*u1*(x0 - x1)*(u0*v3 - u3*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + u0*u3*(x0 - x3)*(u0*v1 - u1*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (u1*(x0 - x1)*(u0*v2 - u2*v0) + u2*(-x0 + x2)*(u0*v1 - u1*v0))*(u0*(-u0*v1 + u1*v0) + u3*(u0*v1 - u1*v0) + (u0 - u1)*(u0*v3 - u3*v0))) + (u0*v1 - u1*v0)*(-v2*x2 - (v2 - u2*v0/u0)*(-v1*x1 + u1*v0*x0/u0)/(v1 - u1*v0/u0) + u2*v0*x0/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1))/(u0*(u0*v1 - u1*v0)*(-u3*y0 + u3*y3 + (u0*v1 - u1*v0)*(-u2*y0 + u2*y2 + (v2 - u2*v0/u0)*(u1*y0 - u1*y1)/(v1 - u1*v0/u0))*((1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) - 1 + u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + (v3 - u3*v0/u0)*(u1*y0 - u1*y1)/(v1 - u1*v0/u0))*(v3*x3 + (u0*v1 - u1*v0)*(v2*x2 - (v2 - u2*v0/u0)*(v1*x1 - u1*v0*x0/u0)/(v1 - u1*v0/u0) - u2*v0*x0/u0)*((1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) - 1 + u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (v3 - u3*v0/u0)*(v1*x1 - u1*v0*x0/u0)/(v1 - u1*v0/u0) - u3*v0*x0/u0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1)/(u0*u1*(x0 - x1)*(u0*v3 - u3*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - u0*u3*(x0 - x3)*(u0*v1 - u1*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + (u1*(x0 - x1)*(u0*v2 - u2*v0) - u2*(x0 - x2)*(u0*v1 - u1*v0))*(-u0*(u0*v1 - u1*v0) + u3*(u0*v1 - u1*v0) + (u0 - u1)*(u0*v3 - u3*v0))) - v3*y3 + (u0*v1 - u1*v0)*(-v2*y2 + (v2 - u2*v0/u0)*(v1*y1 - u1*v0*y0/u0)/(v1 - u1*v0/u0) + u2*v0*y0/u0)*((1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) - 1 + u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + (v3 - u3*v0/u0)*(v1*y1 - u1*v0*y0/u0)/(v1 - u1*v0/u0) + u3*v0*y0/u0), | |
d = x0*(-u0*(u0*v1 - u1*v0)*(-y0 - (u0*v1 - u1*v0)*(-v0*(1 - u1/u0)/(u0*(v1 - u1*v0/u0)) + 1/u0)*(u2*y0 - u2*y2 - (v2 - u2*v0/u0)*(u1*y0 - u1*y1)/(v1 - u1*v0/u0))/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - v0*(u1*y0 - u1*y1)/(u0*(v1 - u1*v0/u0)))*(-(u0*v1 - u1*v0)*(u1*(v2 - u2*v0/u0)/(u0*(v1 - u1*v0/u0)) - u2/u0)*(-(1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) + 1 - u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + u1*(v3 - u3*v0/u0)/(u0*(v1 - u1*v0/u0)) - u3/u0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1)/(-u0*u1*(x0 - x1)*(u0*v3 - u3*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + u0*u3*(x0 - x3)*(u0*v1 - u1*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (u1*(x0 - x1)*(u0*v2 - u2*v0) + u2*(-x0 + x2)*(u0*v1 - u1*v0))*(u0*(-u0*v1 + u1*v0) + u3*(u0*v1 - u1*v0) + (u0 - u1)*(u0*v3 - u3*v0))) + u0*(u0*v1 - u1*v0)*(-(u0*v1 - u1*v0)*(u1*(v2 - u2*v0/u0)/(u0*(v1 - u1*v0/u0)) - u2/u0)*(-(1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) + 1 - u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + u1*(v3 - u3*v0/u0)/(u0*(v1 - u1*v0/u0)) - u3/u0)*(u3*y0 - u3*y3 - (u0*v1 - u1*v0)*(u2*y0 - u2*y2 - (v2 - u2*v0/u0)*(u1*y0 - u1*y1)/(v1 - u1*v0/u0))*(-(1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) + 1 - u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (v3 - u3*v0/u0)*(u1*y0 - u1*y1)/(v1 - u1*v0/u0))*(-u0*(u0*v1 - u1*v0)*(-y0 - (u0*v1 - u1*v0)*(-v0*(1 - u1/u0)/(u0*(v1 - u1*v0/u0)) + 1/u0)*(u2*y0 - u2*y2 - (v2 - u2*v0/u0)*(u1*y0 - u1*y1)/(v1 - u1*v0/u0))/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - v0*(u1*y0 - u1*y1)/(u0*(v1 - u1*v0/u0)))*(-v3*x3 - (u0*v1 - u1*v0)*(-v2*x2 - (v2 - u2*v0/u0)*(-v1*x1 + u1*v0*x0/u0)/(v1 - u1*v0/u0) + u2*v0*x0/u0)*(-(1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) + 1 - u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (v3 - u3*v0/u0)*(-v1*x1 + u1*v0*x0/u0)/(v1 - u1*v0/u0) + u3*v0*x0/u0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1)/(-u0*u1*(x0 - x1)*(u0*v3 - u3*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + u0*u3*(x0 - x3)*(u0*v1 - u1*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (u1*(x0 - x1)*(u0*v2 - u2*v0) + u2*(-x0 + x2)*(u0*v1 - u1*v0))*(u0*(-u0*v1 + u1*v0) + u3*(u0*v1 - u1*v0) + (u0 - u1)*(u0*v3 - u3*v0))) - (u0*v1 - u1*v0)*(-v0*(1 - u1/u0)/(u0*(v1 - u1*v0/u0)) + 1/u0)*(-v2*y2 - (v2 - u2*v0/u0)*(-v1*y1 + u1*v0*y0/u0)/(v1 - u1*v0/u0) + u2*v0*y0/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - v0*y0/u0 - v0*(-v1*y1 + u1*v0*y0/u0)/(u0*(v1 - u1*v0/u0)))*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1)/((-u0*u1*(x0 - x1)*(u0*v3 - u3*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + u0*u3*(x0 - x3)*(u0*v1 - u1*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (u1*(x0 - x1)*(u0*v2 - u2*v0) + u2*(-x0 + x2)*(u0*v1 - u1*v0))*(u0*(-u0*v1 + u1*v0) + u3*(u0*v1 - u1*v0) + (u0 - u1)*(u0*v3 - u3*v0)))*(u0*(u0*v1 - u1*v0)*(-u3*y0 + u3*y3 + (u0*v1 - u1*v0)*(-u2*y0 + u2*y2 + (v2 - u2*v0/u0)*(u1*y0 - u1*y1)/(v1 - u1*v0/u0))*((1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) - 1 + u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + (v3 - u3*v0/u0)*(u1*y0 - u1*y1)/(v1 - u1*v0/u0))*(v3*x3 + (u0*v1 - u1*v0)*(v2*x2 - (v2 - u2*v0/u0)*(v1*x1 - u1*v0*x0/u0)/(v1 - u1*v0/u0) - u2*v0*x0/u0)*((1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) - 1 + u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (v3 - u3*v0/u0)*(v1*x1 - u1*v0*x0/u0)/(v1 - u1*v0/u0) - u3*v0*x0/u0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1)/(u0*u1*(x0 - x1)*(u0*v3 - u3*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - u0*u3*(x0 - x3)*(u0*v1 - u1*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + (u1*(x0 - x1)*(u0*v2 - u2*v0) - u2*(x0 - x2)*(u0*v1 - u1*v0))*(-u0*(u0*v1 - u1*v0) + u3*(u0*v1 - u1*v0) + (u0 - u1)*(u0*v3 - u3*v0))) - v3*y3 + (u0*v1 - u1*v0)*(-v2*y2 + (v2 - u2*v0/u0)*(v1*y1 - u1*v0*y0/u0)/(v1 - u1*v0/u0) + u2*v0*y0/u0)*((1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) - 1 + u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + (v3 - u3*v0/u0)*(v1*y1 - u1*v0*y0/u0)/(v1 - u1*v0/u0) + u3*v0*y0/u0))) + x1*(-u0*(u0*v1 - u1*v0)*((v2 - u2*v0/u0)*(u0*v1 - u1*v0)*(-(1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) + 1 - u3/u0)/((v1 - u1*v0/u0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1)) - (v3 - u3*v0/u0)/(v1 - u1*v0/u0))*(-y0 - (u0*v1 - u1*v0)*(-v0*(1 - u1/u0)/(u0*(v1 - u1*v0/u0)) + 1/u0)*(u2*y0 - u2*y2 - (v2 - u2*v0/u0)*(u1*y0 - u1*y1)/(v1 - u1*v0/u0))/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - v0*(u1*y0 - u1*y1)/(u0*(v1 - u1*v0/u0)))*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1)/(-u0*u1*(x0 - x1)*(u0*v3 - u3*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + u0*u3*(x0 - x3)*(u0*v1 - u1*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (u1*(x0 - x1)*(u0*v2 - u2*v0) + u2*(-x0 + x2)*(u0*v1 - u1*v0))*(u0*(-u0*v1 + u1*v0) + u3*(u0*v1 - u1*v0) + (u0 - u1)*(u0*v3 - u3*v0))) + u0*(u0*v1 - u1*v0)*((v2 - u2*v0/u0)*(u0*v1 - u1*v0)*(-(1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) + 1 - u3/u0)/((v1 - u1*v0/u0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1)) - (v3 - u3*v0/u0)/(v1 - u1*v0/u0))*(u3*y0 - u3*y3 - (u0*v1 - u1*v0)*(u2*y0 - u2*y2 - (v2 - u2*v0/u0)*(u1*y0 - u1*y1)/(v1 - u1*v0/u0))*(-(1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) + 1 - u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (v3 - u3*v0/u0)*(u1*y0 - u1*y1)/(v1 - u1*v0/u0))*(-u0*(u0*v1 - u1*v0)*(-y0 - (u0*v1 - u1*v0)*(-v0*(1 - u1/u0)/(u0*(v1 - u1*v0/u0)) + 1/u0)*(u2*y0 - u2*y2 - (v2 - u2*v0/u0)*(u1*y0 - u1*y1)/(v1 - u1*v0/u0))/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - v0*(u1*y0 - u1*y1)/(u0*(v1 - u1*v0/u0)))*(-v3*x3 - (u0*v1 - u1*v0)*(-v2*x2 - (v2 - u2*v0/u0)*(-v1*x1 + u1*v0*x0/u0)/(v1 - u1*v0/u0) + u2*v0*x0/u0)*(-(1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) + 1 - u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (v3 - u3*v0/u0)*(-v1*x1 + u1*v0*x0/u0)/(v1 - u1*v0/u0) + u3*v0*x0/u0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1)/(-u0*u1*(x0 - x1)*(u0*v3 - u3*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + u0*u3*(x0 - x3)*(u0*v1 - u1*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (u1*(x0 - x1)*(u0*v2 - u2*v0) + u2*(-x0 + x2)*(u0*v1 - u1*v0))*(u0*(-u0*v1 + u1*v0) + u3*(u0*v1 - u1*v0) + (u0 - u1)*(u0*v3 - u3*v0))) - (u0*v1 - u1*v0)*(-v0*(1 - u1/u0)/(u0*(v1 - u1*v0/u0)) + 1/u0)*(-v2*y2 - (v2 - u2*v0/u0)*(-v1*y1 + u1*v0*y0/u0)/(v1 - u1*v0/u0) + u2*v0*y0/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - v0*y0/u0 - v0*(-v1*y1 + u1*v0*y0/u0)/(u0*(v1 - u1*v0/u0)))*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1)/((-u0*u1*(x0 - x1)*(u0*v3 - u3*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + u0*u3*(x0 - x3)*(u0*v1 - u1*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (u1*(x0 - x1)*(u0*v2 - u2*v0) + u2*(-x0 + x2)*(u0*v1 - u1*v0))*(u0*(-u0*v1 + u1*v0) + u3*(u0*v1 - u1*v0) + (u0 - u1)*(u0*v3 - u3*v0)))*(u0*(u0*v1 - u1*v0)*(-u3*y0 + u3*y3 + (u0*v1 - u1*v0)*(-u2*y0 + u2*y2 + (v2 - u2*v0/u0)*(u1*y0 - u1*y1)/(v1 - u1*v0/u0))*((1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) - 1 + u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + (v3 - u3*v0/u0)*(u1*y0 - u1*y1)/(v1 - u1*v0/u0))*(v3*x3 + (u0*v1 - u1*v0)*(v2*x2 - (v2 - u2*v0/u0)*(v1*x1 - u1*v0*x0/u0)/(v1 - u1*v0/u0) - u2*v0*x0/u0)*((1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) - 1 + u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (v3 - u3*v0/u0)*(v1*x1 - u1*v0*x0/u0)/(v1 - u1*v0/u0) - u3*v0*x0/u0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1)/(u0*u1*(x0 - x1)*(u0*v3 - u3*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - u0*u3*(x0 - x3)*(u0*v1 - u1*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + (u1*(x0 - x1)*(u0*v2 - u2*v0) - u2*(x0 - x2)*(u0*v1 - u1*v0))*(-u0*(u0*v1 - u1*v0) + u3*(u0*v1 - u1*v0) + (u0 - u1)*(u0*v3 - u3*v0))) - v3*y3 + (u0*v1 - u1*v0)*(-v2*y2 + (v2 - u2*v0/u0)*(v1*y1 - u1*v0*y0/u0)/(v1 - u1*v0/u0) + u2*v0*y0/u0)*((1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) - 1 + u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + (v3 - u3*v0/u0)*(v1*y1 - u1*v0*y0/u0)/(v1 - u1*v0/u0) + u3*v0*y0/u0))) + x2*(u0*Math.pow(u0*v1 - u1*v0,2)*(-y0 - (u0*v1 - u1*v0)*(-v0*(1 - u1/u0)/(u0*(v1 - u1*v0/u0)) + 1/u0)*(u2*y0 - u2*y2 - (v2 - u2*v0/u0)*(u1*y0 - u1*y1)/(v1 - u1*v0/u0))/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - v0*(u1*y0 - u1*y1)/(u0*(v1 - u1*v0/u0)))*(-(1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) + 1 - u3/u0)/(-u0*u1*(x0 - x1)*(u0*v3 - u3*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + u0*u3*(x0 - x3)*(u0*v1 - u1*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (u1*(x0 - x1)*(u0*v2 - u2*v0) + u2*(-x0 + x2)*(u0*v1 - u1*v0))*(u0*(-u0*v1 + u1*v0) + u3*(u0*v1 - u1*v0) + (u0 - u1)*(u0*v3 - u3*v0))) - u0*Math.pow(u0*v1 - u1*v0,2)*(-(1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) + 1 - u3/u0)*(u3*y0 - u3*y3 - (u0*v1 - u1*v0)*(u2*y0 - u2*y2 - (v2 - u2*v0/u0)*(u1*y0 - u1*y1)/(v1 - u1*v0/u0))*(-(1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) + 1 - u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (v3 - u3*v0/u0)*(u1*y0 - u1*y1)/(v1 - u1*v0/u0))*(-u0*(u0*v1 - u1*v0)*(-y0 - (u0*v1 - u1*v0)*(-v0*(1 - u1/u0)/(u0*(v1 - u1*v0/u0)) + 1/u0)*(u2*y0 - u2*y2 - (v2 - u2*v0/u0)*(u1*y0 - u1*y1)/(v1 - u1*v0/u0))/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - v0*(u1*y0 - u1*y1)/(u0*(v1 - u1*v0/u0)))*(-v3*x3 - (u0*v1 - u1*v0)*(-v2*x2 - (v2 - u2*v0/u0)*(-v1*x1 + u1*v0*x0/u0)/(v1 - u1*v0/u0) + u2*v0*x0/u0)*(-(1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) + 1 - u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (v3 - u3*v0/u0)*(-v1*x1 + u1*v0*x0/u0)/(v1 - u1*v0/u0) + u3*v0*x0/u0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1)/(-u0*u1*(x0 - x1)*(u0*v3 - u3*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + u0*u3*(x0 - x3)*(u0*v1 - u1*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (u1*(x0 - x1)*(u0*v2 - u2*v0) + u2*(-x0 + x2)*(u0*v1 - u1*v0))*(u0*(-u0*v1 + u1*v0) + u3*(u0*v1 - u1*v0) + (u0 - u1)*(u0*v3 - u3*v0))) - (u0*v1 - u1*v0)*(-v0*(1 - u1/u0)/(u0*(v1 - u1*v0/u0)) + 1/u0)*(-v2*y2 - (v2 - u2*v0/u0)*(-v1*y1 + u1*v0*y0/u0)/(v1 - u1*v0/u0) + u2*v0*y0/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - v0*y0/u0 - v0*(-v1*y1 + u1*v0*y0/u0)/(u0*(v1 - u1*v0/u0)))/((-u0*u1*(x0 - x1)*(u0*v3 - u3*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + u0*u3*(x0 - x3)*(u0*v1 - u1*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (u1*(x0 - x1)*(u0*v2 - u2*v0) + u2*(-x0 + x2)*(u0*v1 - u1*v0))*(u0*(-u0*v1 + u1*v0) + u3*(u0*v1 - u1*v0) + (u0 - u1)*(u0*v3 - u3*v0)))*(u0*(u0*v1 - u1*v0)*(-u3*y0 + u3*y3 + (u0*v1 - u1*v0)*(-u2*y0 + u2*y2 + (v2 - u2*v0/u0)*(u1*y0 - u1*y1)/(v1 - u1*v0/u0))*((1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) - 1 + u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + (v3 - u3*v0/u0)*(u1*y0 - u1*y1)/(v1 - u1*v0/u0))*(v3*x3 + (u0*v1 - u1*v0)*(v2*x2 - (v2 - u2*v0/u0)*(v1*x1 - u1*v0*x0/u0)/(v1 - u1*v0/u0) - u2*v0*x0/u0)*((1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) - 1 + u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (v3 - u3*v0/u0)*(v1*x1 - u1*v0*x0/u0)/(v1 - u1*v0/u0) - u3*v0*x0/u0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1)/(u0*u1*(x0 - x1)*(u0*v3 - u3*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - u0*u3*(x0 - x3)*(u0*v1 - u1*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + (u1*(x0 - x1)*(u0*v2 - u2*v0) - u2*(x0 - x2)*(u0*v1 - u1*v0))*(-u0*(u0*v1 - u1*v0) + u3*(u0*v1 - u1*v0) + (u0 - u1)*(u0*v3 - u3*v0))) - v3*y3 + (u0*v1 - u1*v0)*(-v2*y2 + (v2 - u2*v0/u0)*(v1*y1 - u1*v0*y0/u0)/(v1 - u1*v0/u0) + u2*v0*y0/u0)*((1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) - 1 + u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + (v3 - u3*v0/u0)*(v1*y1 - u1*v0*y0/u0)/(v1 - u1*v0/u0) + u3*v0*y0/u0))) + x3*(-u0*(u0*v1 - u1*v0)*(-y0 - (u0*v1 - u1*v0)*(-v0*(1 - u1/u0)/(u0*(v1 - u1*v0/u0)) + 1/u0)*(u2*y0 - u2*y2 - (v2 - u2*v0/u0)*(u1*y0 - u1*y1)/(v1 - u1*v0/u0))/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - v0*(u1*y0 - u1*y1)/(u0*(v1 - u1*v0/u0)))*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1)/(-u0*u1*(x0 - x1)*(u0*v3 - u3*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + u0*u3*(x0 - x3)*(u0*v1 - u1*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (u1*(x0 - x1)*(u0*v2 - u2*v0) + u2*(-x0 + x2)*(u0*v1 - u1*v0))*(u0*(-u0*v1 + u1*v0) + u3*(u0*v1 - u1*v0) + (u0 - u1)*(u0*v3 - u3*v0))) + u0*(u0*v1 - u1*v0)*(u3*y0 - u3*y3 - (u0*v1 - u1*v0)*(u2*y0 - u2*y2 - (v2 - u2*v0/u0)*(u1*y0 - u1*y1)/(v1 - u1*v0/u0))*(-(1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) + 1 - u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (v3 - u3*v0/u0)*(u1*y0 - u1*y1)/(v1 - u1*v0/u0))*(-u0*(u0*v1 - u1*v0)*(-y0 - (u0*v1 - u1*v0)*(-v0*(1 - u1/u0)/(u0*(v1 - u1*v0/u0)) + 1/u0)*(u2*y0 - u2*y2 - (v2 - u2*v0/u0)*(u1*y0 - u1*y1)/(v1 - u1*v0/u0))/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - v0*(u1*y0 - u1*y1)/(u0*(v1 - u1*v0/u0)))*(-v3*x3 - (u0*v1 - u1*v0)*(-v2*x2 - (v2 - u2*v0/u0)*(-v1*x1 + u1*v0*x0/u0)/(v1 - u1*v0/u0) + u2*v0*x0/u0)*(-(1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) + 1 - u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (v3 - u3*v0/u0)*(-v1*x1 + u1*v0*x0/u0)/(v1 - u1*v0/u0) + u3*v0*x0/u0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1)/(-u0*u1*(x0 - x1)*(u0*v3 - u3*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + u0*u3*(x0 - x3)*(u0*v1 - u1*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (u1*(x0 - x1)*(u0*v2 - u2*v0) + u2*(-x0 + x2)*(u0*v1 - u1*v0))*(u0*(-u0*v1 + u1*v0) + u3*(u0*v1 - u1*v0) + (u0 - u1)*(u0*v3 - u3*v0))) - (u0*v1 - u1*v0)*(-v0*(1 - u1/u0)/(u0*(v1 - u1*v0/u0)) + 1/u0)*(-v2*y2 - (v2 - u2*v0/u0)*(-v1*y1 + u1*v0*y0/u0)/(v1 - u1*v0/u0) + u2*v0*y0/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - v0*y0/u0 - v0*(-v1*y1 + u1*v0*y0/u0)/(u0*(v1 - u1*v0/u0)))*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1)/((-u0*u1*(x0 - x1)*(u0*v3 - u3*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + u0*u3*(x0 - x3)*(u0*v1 - u1*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (u1*(x0 - x1)*(u0*v2 - u2*v0) + u2*(-x0 + x2)*(u0*v1 - u1*v0))*(u0*(-u0*v1 + u1*v0) + u3*(u0*v1 - u1*v0) + (u0 - u1)*(u0*v3 - u3*v0)))*(u0*(u0*v1 - u1*v0)*(-u3*y0 + u3*y3 + (u0*v1 - u1*v0)*(-u2*y0 + u2*y2 + (v2 - u2*v0/u0)*(u1*y0 - u1*y1)/(v1 - u1*v0/u0))*((1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) - 1 + u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + (v3 - u3*v0/u0)*(u1*y0 - u1*y1)/(v1 - u1*v0/u0))*(v3*x3 + (u0*v1 - u1*v0)*(v2*x2 - (v2 - u2*v0/u0)*(v1*x1 - u1*v0*x0/u0)/(v1 - u1*v0/u0) - u2*v0*x0/u0)*((1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) - 1 + u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (v3 - u3*v0/u0)*(v1*x1 - u1*v0*x0/u0)/(v1 - u1*v0/u0) - u3*v0*x0/u0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1)/(u0*u1*(x0 - x1)*(u0*v3 - u3*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - u0*u3*(x0 - x3)*(u0*v1 - u1*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + (u1*(x0 - x1)*(u0*v2 - u2*v0) - u2*(x0 - x2)*(u0*v1 - u1*v0))*(-u0*(u0*v1 - u1*v0) + u3*(u0*v1 - u1*v0) + (u0 - u1)*(u0*v3 - u3*v0))) - v3*y3 + (u0*v1 - u1*v0)*(-v2*y2 + (v2 - u2*v0/u0)*(v1*y1 - u1*v0*y0/u0)/(v1 - u1*v0/u0) + u2*v0*y0/u0)*((1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) - 1 + u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + (v3 - u3*v0/u0)*(v1*y1 - u1*v0*y0/u0)/(v1 - u1*v0/u0) + u3*v0*y0/u0))) + y0*(-(u0*v1 - u1*v0)*(u1*(v2 - u2*v0/u0)/(u0*(v1 - u1*v0/u0)) - u2/u0)*(-v0*(1 - u1/u0)/(u0*(v1 - u1*v0/u0)) + 1/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (-(u0*v1 - u1*v0)*(u1*(v2 - u2*v0/u0)/(u0*(v1 - u1*v0/u0)) - u2/u0)*(-(1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) + 1 - u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + u1*(v3 - u3*v0/u0)/(u0*(v1 - u1*v0/u0)) - u3/u0)*(-u0*(u0*v1 - u1*v0)*(-y0 - (u0*v1 - u1*v0)*(-v0*(1 - u1/u0)/(u0*(v1 - u1*v0/u0)) + 1/u0)*(u2*y0 - u2*y2 - (v2 - u2*v0/u0)*(u1*y0 - u1*y1)/(v1 - u1*v0/u0))/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - v0*(u1*y0 - u1*y1)/(u0*(v1 - u1*v0/u0)))*(-v3*x3 - (u0*v1 - u1*v0)*(-v2*x2 - (v2 - u2*v0/u0)*(-v1*x1 + u1*v0*x0/u0)/(v1 - u1*v0/u0) + u2*v0*x0/u0)*(-(1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) + 1 - u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (v3 - u3*v0/u0)*(-v1*x1 + u1*v0*x0/u0)/(v1 - u1*v0/u0) + u3*v0*x0/u0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1)/(-u0*u1*(x0 - x1)*(u0*v3 - u3*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + u0*u3*(x0 - x3)*(u0*v1 - u1*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (u1*(x0 - x1)*(u0*v2 - u2*v0) + u2*(-x0 + x2)*(u0*v1 - u1*v0))*(u0*(-u0*v1 + u1*v0) + u3*(u0*v1 - u1*v0) + (u0 - u1)*(u0*v3 - u3*v0))) - (u0*v1 - u1*v0)*(-v0*(1 - u1/u0)/(u0*(v1 - u1*v0/u0)) + 1/u0)*(-v2*y2 - (v2 - u2*v0/u0)*(-v1*y1 + u1*v0*y0/u0)/(v1 - u1*v0/u0) + u2*v0*y0/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - v0*y0/u0 - v0*(-v1*y1 + u1*v0*y0/u0)/(u0*(v1 - u1*v0/u0)))/(u0*(u0*v1 - u1*v0)*(-u3*y0 + u3*y3 + (u0*v1 - u1*v0)*(-u2*y0 + u2*y2 + (v2 - u2*v0/u0)*(u1*y0 - u1*y1)/(v1 - u1*v0/u0))*((1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) - 1 + u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + (v3 - u3*v0/u0)*(u1*y0 - u1*y1)/(v1 - u1*v0/u0))*(v3*x3 + (u0*v1 - u1*v0)*(v2*x2 - (v2 - u2*v0/u0)*(v1*x1 - u1*v0*x0/u0)/(v1 - u1*v0/u0) - u2*v0*x0/u0)*((1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) - 1 + u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (v3 - u3*v0/u0)*(v1*x1 - u1*v0*x0/u0)/(v1 - u1*v0/u0) - u3*v0*x0/u0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1)/(u0*u1*(x0 - x1)*(u0*v3 - u3*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - u0*u3*(x0 - x3)*(u0*v1 - u1*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + (u1*(x0 - x1)*(u0*v2 - u2*v0) - u2*(x0 - x2)*(u0*v1 - u1*v0))*(-u0*(u0*v1 - u1*v0) + u3*(u0*v1 - u1*v0) + (u0 - u1)*(u0*v3 - u3*v0))) - v3*y3 + (u0*v1 - u1*v0)*(-v2*y2 + (v2 - u2*v0/u0)*(v1*y1 - u1*v0*y0/u0)/(v1 - u1*v0/u0) + u2*v0*y0/u0)*((1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) - 1 + u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + (v3 - u3*v0/u0)*(v1*y1 - u1*v0*y0/u0)/(v1 - u1*v0/u0) + u3*v0*y0/u0) + 1/u0 + u1*v0/(Math.pow(u0,2)*(v1 - u1*v0/u0))) + y1*(-((v2 - u2*v0/u0)*(u0*v1 - u1*v0)*(-(1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) + 1 - u3/u0)/((v1 - u1*v0/u0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1)) - (v3 - u3*v0/u0)/(v1 - u1*v0/u0))*(-u0*(u0*v1 - u1*v0)*(-y0 - (u0*v1 - u1*v0)*(-v0*(1 - u1/u0)/(u0*(v1 - u1*v0/u0)) + 1/u0)*(u2*y0 - u2*y2 - (v2 - u2*v0/u0)*(u1*y0 - u1*y1)/(v1 - u1*v0/u0))/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - v0*(u1*y0 - u1*y1)/(u0*(v1 - u1*v0/u0)))*(-v3*x3 - (u0*v1 - u1*v0)*(-v2*x2 - (v2 - u2*v0/u0)*(-v1*x1 + u1*v0*x0/u0)/(v1 - u1*v0/u0) + u2*v0*x0/u0)*(-(1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) + 1 - u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (v3 - u3*v0/u0)*(-v1*x1 + u1*v0*x0/u0)/(v1 - u1*v0/u0) + u3*v0*x0/u0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1)/(-u0*u1*(x0 - x1)*(u0*v3 - u3*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + u0*u3*(x0 - x3)*(u0*v1 - u1*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (u1*(x0 - x1)*(u0*v2 - u2*v0) + u2*(-x0 + x2)*(u0*v1 - u1*v0))*(u0*(-u0*v1 + u1*v0) + u3*(u0*v1 - u1*v0) + (u0 - u1)*(u0*v3 - u3*v0))) - (u0*v1 - u1*v0)*(-v0*(1 - u1/u0)/(u0*(v1 - u1*v0/u0)) + 1/u0)*(-v2*y2 - (v2 - u2*v0/u0)*(-v1*y1 + u1*v0*y0/u0)/(v1 - u1*v0/u0) + u2*v0*y0/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - v0*y0/u0 - v0*(-v1*y1 + u1*v0*y0/u0)/(u0*(v1 - u1*v0/u0)))/(u0*(u0*v1 - u1*v0)*(-u3*y0 + u3*y3 + (u0*v1 - u1*v0)*(-u2*y0 + u2*y2 + (v2 - u2*v0/u0)*(u1*y0 - u1*y1)/(v1 - u1*v0/u0))*((1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) - 1 + u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + (v3 - u3*v0/u0)*(u1*y0 - u1*y1)/(v1 - u1*v0/u0))*(v3*x3 + (u0*v1 - u1*v0)*(v2*x2 - (v2 - u2*v0/u0)*(v1*x1 - u1*v0*x0/u0)/(v1 - u1*v0/u0) - u2*v0*x0/u0)*((1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) - 1 + u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (v3 - u3*v0/u0)*(v1*x1 - u1*v0*x0/u0)/(v1 - u1*v0/u0) - u3*v0*x0/u0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1)/(u0*u1*(x0 - x1)*(u0*v3 - u3*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - u0*u3*(x0 - x3)*(u0*v1 - u1*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + (u1*(x0 - x1)*(u0*v2 - u2*v0) - u2*(x0 - x2)*(u0*v1 - u1*v0))*(-u0*(u0*v1 - u1*v0) + u3*(u0*v1 - u1*v0) + (u0 - u1)*(u0*v3 - u3*v0))) - v3*y3 + (u0*v1 - u1*v0)*(-v2*y2 + (v2 - u2*v0/u0)*(v1*y1 - u1*v0*y0/u0)/(v1 - u1*v0/u0) + u2*v0*y0/u0)*((1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) - 1 + u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + (v3 - u3*v0/u0)*(v1*y1 - u1*v0*y0/u0)/(v1 - u1*v0/u0) + u3*v0*y0/u0) + (v2 - u2*v0/u0)*(u0*v1 - u1*v0)*(-v0*(1 - u1/u0)/(u0*(v1 - u1*v0/u0)) + 1/u0)/((v1 - u1*v0/u0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1)) - v0/(u0*(v1 - u1*v0/u0))) + y2*(-(u0*v1 - u1*v0)*(-v0*(1 - u1/u0)/(u0*(v1 - u1*v0/u0)) + 1/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + (u0*v1 - u1*v0)*(-(1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) + 1 - u3/u0)*(-u0*(u0*v1 - u1*v0)*(-y0 - (u0*v1 - u1*v0)*(-v0*(1 - u1/u0)/(u0*(v1 - u1*v0/u0)) + 1/u0)*(u2*y0 - u2*y2 - (v2 - u2*v0/u0)*(u1*y0 - u1*y1)/(v1 - u1*v0/u0))/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - v0*(u1*y0 - u1*y1)/(u0*(v1 - u1*v0/u0)))*(-v3*x3 - (u0*v1 - u1*v0)*(-v2*x2 - (v2 - u2*v0/u0)*(-v1*x1 + u1*v0*x0/u0)/(v1 - u1*v0/u0) + u2*v0*x0/u0)*(-(1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) + 1 - u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (v3 - u3*v0/u0)*(-v1*x1 + u1*v0*x0/u0)/(v1 - u1*v0/u0) + u3*v0*x0/u0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1)/(-u0*u1*(x0 - x1)*(u0*v3 - u3*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + u0*u3*(x0 - x3)*(u0*v1 - u1*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (u1*(x0 - x1)*(u0*v2 - u2*v0) + u2*(-x0 + x2)*(u0*v1 - u1*v0))*(u0*(-u0*v1 + u1*v0) + u3*(u0*v1 - u1*v0) + (u0 - u1)*(u0*v3 - u3*v0))) - (u0*v1 - u1*v0)*(-v0*(1 - u1/u0)/(u0*(v1 - u1*v0/u0)) + 1/u0)*(-v2*y2 - (v2 - u2*v0/u0)*(-v1*y1 + u1*v0*y0/u0)/(v1 - u1*v0/u0) + u2*v0*y0/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - v0*y0/u0 - v0*(-v1*y1 + u1*v0*y0/u0)/(u0*(v1 - u1*v0/u0)))/((u0*(u0*v1 - u1*v0)*(-u3*y0 + u3*y3 + (u0*v1 - u1*v0)*(-u2*y0 + u2*y2 + (v2 - u2*v0/u0)*(u1*y0 - u1*y1)/(v1 - u1*v0/u0))*((1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) - 1 + u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + (v3 - u3*v0/u0)*(u1*y0 - u1*y1)/(v1 - u1*v0/u0))*(v3*x3 + (u0*v1 - u1*v0)*(v2*x2 - (v2 - u2*v0/u0)*(v1*x1 - u1*v0*x0/u0)/(v1 - u1*v0/u0) - u2*v0*x0/u0)*((1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) - 1 + u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (v3 - u3*v0/u0)*(v1*x1 - u1*v0*x0/u0)/(v1 - u1*v0/u0) - u3*v0*x0/u0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1)/(u0*u1*(x0 - x1)*(u0*v3 - u3*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - u0*u3*(x0 - x3)*(u0*v1 - u1*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + (u1*(x0 - x1)*(u0*v2 - u2*v0) - u2*(x0 - x2)*(u0*v1 - u1*v0))*(-u0*(u0*v1 - u1*v0) + u3*(u0*v1 - u1*v0) + (u0 - u1)*(u0*v3 - u3*v0))) - v3*y3 + (u0*v1 - u1*v0)*(-v2*y2 + (v2 - u2*v0/u0)*(v1*y1 - u1*v0*y0/u0)/(v1 - u1*v0/u0) + u2*v0*y0/u0)*((1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) - 1 + u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + (v3 - u3*v0/u0)*(v1*y1 - u1*v0*y0/u0)/(v1 - u1*v0/u0) + u3*v0*y0/u0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1))) - y3*(-u0*(u0*v1 - u1*v0)*(-y0 - (u0*v1 - u1*v0)*(-v0*(1 - u1/u0)/(u0*(v1 - u1*v0/u0)) + 1/u0)*(u2*y0 - u2*y2 - (v2 - u2*v0/u0)*(u1*y0 - u1*y1)/(v1 - u1*v0/u0))/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - v0*(u1*y0 - u1*y1)/(u0*(v1 - u1*v0/u0)))*(-v3*x3 - (u0*v1 - u1*v0)*(-v2*x2 - (v2 - u2*v0/u0)*(-v1*x1 + u1*v0*x0/u0)/(v1 - u1*v0/u0) + u2*v0*x0/u0)*(-(1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) + 1 - u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (v3 - u3*v0/u0)*(-v1*x1 + u1*v0*x0/u0)/(v1 - u1*v0/u0) + u3*v0*x0/u0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1)/(-u0*u1*(x0 - x1)*(u0*v3 - u3*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + u0*u3*(x0 - x3)*(u0*v1 - u1*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (u1*(x0 - x1)*(u0*v2 - u2*v0) + u2*(-x0 + x2)*(u0*v1 - u1*v0))*(u0*(-u0*v1 + u1*v0) + u3*(u0*v1 - u1*v0) + (u0 - u1)*(u0*v3 - u3*v0))) - (u0*v1 - u1*v0)*(-v0*(1 - u1/u0)/(u0*(v1 - u1*v0/u0)) + 1/u0)*(-v2*y2 - (v2 - u2*v0/u0)*(-v1*y1 + u1*v0*y0/u0)/(v1 - u1*v0/u0) + u2*v0*y0/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - v0*y0/u0 - v0*(-v1*y1 + u1*v0*y0/u0)/(u0*(v1 - u1*v0/u0)))/(u0*(u0*v1 - u1*v0)*(-u3*y0 + u3*y3 + (u0*v1 - u1*v0)*(-u2*y0 + u2*y2 + (v2 - u2*v0/u0)*(u1*y0 - u1*y1)/(v1 - u1*v0/u0))*((1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) - 1 + u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + (v3 - u3*v0/u0)*(u1*y0 - u1*y1)/(v1 - u1*v0/u0))*(v3*x3 + (u0*v1 - u1*v0)*(v2*x2 - (v2 - u2*v0/u0)*(v1*x1 - u1*v0*x0/u0)/(v1 - u1*v0/u0) - u2*v0*x0/u0)*((1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) - 1 + u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (v3 - u3*v0/u0)*(v1*x1 - u1*v0*x0/u0)/(v1 - u1*v0/u0) - u3*v0*x0/u0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1)/(u0*u1*(x0 - x1)*(u0*v3 - u3*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - u0*u3*(x0 - x3)*(u0*v1 - u1*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + (u1*(x0 - x1)*(u0*v2 - u2*v0) - u2*(x0 - x2)*(u0*v1 - u1*v0))*(-u0*(u0*v1 - u1*v0) + u3*(u0*v1 - u1*v0) + (u0 - u1)*(u0*v3 - u3*v0))) - v3*y3 + (u0*v1 - u1*v0)*(-v2*y2 + (v2 - u2*v0/u0)*(v1*y1 - u1*v0*y0/u0)/(v1 - u1*v0/u0) + u2*v0*y0/u0)*((1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) - 1 + u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + (v3 - u3*v0/u0)*(v1*y1 - u1*v0*y0/u0)/(v1 - u1*v0/u0) + u3*v0*y0/u0), | |
e = x0*(-u0*(u0*v1 - u1*v0)*(-(1 - u1/u0)*(u0*v1 - u1*v0)*(u2*y0 - u2*y2 - (v2 - u2*v0/u0)*(u1*y0 - u1*y1)/(v1 - u1*v0/u0))/((v1 - u1*v0/u0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1)) + (u1*y0 - u1*y1)/(v1 - u1*v0/u0))*(-(u0*v1 - u1*v0)*(u1*(v2 - u2*v0/u0)/(u0*(v1 - u1*v0/u0)) - u2/u0)*(-(1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) + 1 - u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + u1*(v3 - u3*v0/u0)/(u0*(v1 - u1*v0/u0)) - u3/u0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1)/(-u0*u1*(x0 - x1)*(u0*v3 - u3*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + u0*u3*(x0 - x3)*(u0*v1 - u1*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (u1*(x0 - x1)*(u0*v2 - u2*v0) + u2*(-x0 + x2)*(u0*v1 - u1*v0))*(u0*(-u0*v1 + u1*v0) + u3*(u0*v1 - u1*v0) + (u0 - u1)*(u0*v3 - u3*v0))) + u0*(u0*v1 - u1*v0)*(-(u0*v1 - u1*v0)*(u1*(v2 - u2*v0/u0)/(u0*(v1 - u1*v0/u0)) - u2/u0)*(-(1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) + 1 - u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + u1*(v3 - u3*v0/u0)/(u0*(v1 - u1*v0/u0)) - u3/u0)*(-u0*(u0*v1 - u1*v0)*(-(1 - u1/u0)*(u0*v1 - u1*v0)*(u2*y0 - u2*y2 - (v2 - u2*v0/u0)*(u1*y0 - u1*y1)/(v1 - u1*v0/u0))/((v1 - u1*v0/u0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1)) + (u1*y0 - u1*y1)/(v1 - u1*v0/u0))*(-v3*x3 - (u0*v1 - u1*v0)*(-v2*x2 - (v2 - u2*v0/u0)*(-v1*x1 + u1*v0*x0/u0)/(v1 - u1*v0/u0) + u2*v0*x0/u0)*(-(1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) + 1 - u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (v3 - u3*v0/u0)*(-v1*x1 + u1*v0*x0/u0)/(v1 - u1*v0/u0) + u3*v0*x0/u0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1)/(-u0*u1*(x0 - x1)*(u0*v3 - u3*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + u0*u3*(x0 - x3)*(u0*v1 - u1*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (u1*(x0 - x1)*(u0*v2 - u2*v0) + u2*(-x0 + x2)*(u0*v1 - u1*v0))*(u0*(-u0*v1 + u1*v0) + u3*(u0*v1 - u1*v0) + (u0 - u1)*(u0*v3 - u3*v0))) - (1 - u1/u0)*(u0*v1 - u1*v0)*(-v2*y2 - (v2 - u2*v0/u0)*(-v1*y1 + u1*v0*y0/u0)/(v1 - u1*v0/u0) + u2*v0*y0/u0)/((v1 - u1*v0/u0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1)) + (-v1*y1 + u1*v0*y0/u0)/(v1 - u1*v0/u0))*(u3*y0 - u3*y3 - (u0*v1 - u1*v0)*(u2*y0 - u2*y2 - (v2 - u2*v0/u0)*(u1*y0 - u1*y1)/(v1 - u1*v0/u0))*(-(1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) + 1 - u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (v3 - u3*v0/u0)*(u1*y0 - u1*y1)/(v1 - u1*v0/u0))*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1)/((-u0*u1*(x0 - x1)*(u0*v3 - u3*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + u0*u3*(x0 - x3)*(u0*v1 - u1*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (u1*(x0 - x1)*(u0*v2 - u2*v0) + u2*(-x0 + x2)*(u0*v1 - u1*v0))*(u0*(-u0*v1 + u1*v0) + u3*(u0*v1 - u1*v0) + (u0 - u1)*(u0*v3 - u3*v0)))*(u0*(u0*v1 - u1*v0)*(-u3*y0 + u3*y3 + (u0*v1 - u1*v0)*(-u2*y0 + u2*y2 + (v2 - u2*v0/u0)*(u1*y0 - u1*y1)/(v1 - u1*v0/u0))*((1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) - 1 + u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + (v3 - u3*v0/u0)*(u1*y0 - u1*y1)/(v1 - u1*v0/u0))*(v3*x3 + (u0*v1 - u1*v0)*(v2*x2 - (v2 - u2*v0/u0)*(v1*x1 - u1*v0*x0/u0)/(v1 - u1*v0/u0) - u2*v0*x0/u0)*((1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) - 1 + u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (v3 - u3*v0/u0)*(v1*x1 - u1*v0*x0/u0)/(v1 - u1*v0/u0) - u3*v0*x0/u0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1)/(u0*u1*(x0 - x1)*(u0*v3 - u3*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - u0*u3*(x0 - x3)*(u0*v1 - u1*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + (u1*(x0 - x1)*(u0*v2 - u2*v0) - u2*(x0 - x2)*(u0*v1 - u1*v0))*(-u0*(u0*v1 - u1*v0) + u3*(u0*v1 - u1*v0) + (u0 - u1)*(u0*v3 - u3*v0))) - v3*y3 + (u0*v1 - u1*v0)*(-v2*y2 + (v2 - u2*v0/u0)*(v1*y1 - u1*v0*y0/u0)/(v1 - u1*v0/u0) + u2*v0*y0/u0)*((1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) - 1 + u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + (v3 - u3*v0/u0)*(v1*y1 - u1*v0*y0/u0)/(v1 - u1*v0/u0) + u3*v0*y0/u0))) + x1*(-u0*(u0*v1 - u1*v0)*(-(1 - u1/u0)*(u0*v1 - u1*v0)*(u2*y0 - u2*y2 - (v2 - u2*v0/u0)*(u1*y0 - u1*y1)/(v1 - u1*v0/u0))/((v1 - u1*v0/u0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1)) + (u1*y0 - u1*y1)/(v1 - u1*v0/u0))*((v2 - u2*v0/u0)*(u0*v1 - u1*v0)*(-(1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) + 1 - u3/u0)/((v1 - u1*v0/u0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1)) - (v3 - u3*v0/u0)/(v1 - u1*v0/u0))*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1)/(-u0*u1*(x0 - x1)*(u0*v3 - u3*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + u0*u3*(x0 - x3)*(u0*v1 - u1*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (u1*(x0 - x1)*(u0*v2 - u2*v0) + u2*(-x0 + x2)*(u0*v1 - u1*v0))*(u0*(-u0*v1 + u1*v0) + u3*(u0*v1 - u1*v0) + (u0 - u1)*(u0*v3 - u3*v0))) + u0*(u0*v1 - u1*v0)*((v2 - u2*v0/u0)*(u0*v1 - u1*v0)*(-(1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) + 1 - u3/u0)/((v1 - u1*v0/u0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1)) - (v3 - u3*v0/u0)/(v1 - u1*v0/u0))*(-u0*(u0*v1 - u1*v0)*(-(1 - u1/u0)*(u0*v1 - u1*v0)*(u2*y0 - u2*y2 - (v2 - u2*v0/u0)*(u1*y0 - u1*y1)/(v1 - u1*v0/u0))/((v1 - u1*v0/u0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1)) + (u1*y0 - u1*y1)/(v1 - u1*v0/u0))*(-v3*x3 - (u0*v1 - u1*v0)*(-v2*x2 - (v2 - u2*v0/u0)*(-v1*x1 + u1*v0*x0/u0)/(v1 - u1*v0/u0) + u2*v0*x0/u0)*(-(1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) + 1 - u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (v3 - u3*v0/u0)*(-v1*x1 + u1*v0*x0/u0)/(v1 - u1*v0/u0) + u3*v0*x0/u0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1)/(-u0*u1*(x0 - x1)*(u0*v3 - u3*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + u0*u3*(x0 - x3)*(u0*v1 - u1*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (u1*(x0 - x1)*(u0*v2 - u2*v0) + u2*(-x0 + x2)*(u0*v1 - u1*v0))*(u0*(-u0*v1 + u1*v0) + u3*(u0*v1 - u1*v0) + (u0 - u1)*(u0*v3 - u3*v0))) - (1 - u1/u0)*(u0*v1 - u1*v0)*(-v2*y2 - (v2 - u2*v0/u0)*(-v1*y1 + u1*v0*y0/u0)/(v1 - u1*v0/u0) + u2*v0*y0/u0)/((v1 - u1*v0/u0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1)) + (-v1*y1 + u1*v0*y0/u0)/(v1 - u1*v0/u0))*(u3*y0 - u3*y3 - (u0*v1 - u1*v0)*(u2*y0 - u2*y2 - (v2 - u2*v0/u0)*(u1*y0 - u1*y1)/(v1 - u1*v0/u0))*(-(1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) + 1 - u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (v3 - u3*v0/u0)*(u1*y0 - u1*y1)/(v1 - u1*v0/u0))*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1)/((-u0*u1*(x0 - x1)*(u0*v3 - u3*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + u0*u3*(x0 - x3)*(u0*v1 - u1*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (u1*(x0 - x1)*(u0*v2 - u2*v0) + u2*(-x0 + x2)*(u0*v1 - u1*v0))*(u0*(-u0*v1 + u1*v0) + u3*(u0*v1 - u1*v0) + (u0 - u1)*(u0*v3 - u3*v0)))*(u0*(u0*v1 - u1*v0)*(-u3*y0 + u3*y3 + (u0*v1 - u1*v0)*(-u2*y0 + u2*y2 + (v2 - u2*v0/u0)*(u1*y0 - u1*y1)/(v1 - u1*v0/u0))*((1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) - 1 + u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + (v3 - u3*v0/u0)*(u1*y0 - u1*y1)/(v1 - u1*v0/u0))*(v3*x3 + (u0*v1 - u1*v0)*(v2*x2 - (v2 - u2*v0/u0)*(v1*x1 - u1*v0*x0/u0)/(v1 - u1*v0/u0) - u2*v0*x0/u0)*((1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) - 1 + u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (v3 - u3*v0/u0)*(v1*x1 - u1*v0*x0/u0)/(v1 - u1*v0/u0) - u3*v0*x0/u0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1)/(u0*u1*(x0 - x1)*(u0*v3 - u3*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - u0*u3*(x0 - x3)*(u0*v1 - u1*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + (u1*(x0 - x1)*(u0*v2 - u2*v0) - u2*(x0 - x2)*(u0*v1 - u1*v0))*(-u0*(u0*v1 - u1*v0) + u3*(u0*v1 - u1*v0) + (u0 - u1)*(u0*v3 - u3*v0))) - v3*y3 + (u0*v1 - u1*v0)*(-v2*y2 + (v2 - u2*v0/u0)*(v1*y1 - u1*v0*y0/u0)/(v1 - u1*v0/u0) + u2*v0*y0/u0)*((1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) - 1 + u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + (v3 - u3*v0/u0)*(v1*y1 - u1*v0*y0/u0)/(v1 - u1*v0/u0) + u3*v0*y0/u0))) + x2*(u0*Math.pow(u0*v1 - u1*v0,2)*(-(1 - u1/u0)*(u0*v1 - u1*v0)*(u2*y0 - u2*y2 - (v2 - u2*v0/u0)*(u1*y0 - u1*y1)/(v1 - u1*v0/u0))/((v1 - u1*v0/u0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1)) + (u1*y0 - u1*y1)/(v1 - u1*v0/u0))*(-(1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) + 1 - u3/u0)/(-u0*u1*(x0 - x1)*(u0*v3 - u3*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + u0*u3*(x0 - x3)*(u0*v1 - u1*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (u1*(x0 - x1)*(u0*v2 - u2*v0) + u2*(-x0 + x2)*(u0*v1 - u1*v0))*(u0*(-u0*v1 + u1*v0) + u3*(u0*v1 - u1*v0) + (u0 - u1)*(u0*v3 - u3*v0))) - u0*Math.pow(u0*v1 - u1*v0,2)*(-(1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) + 1 - u3/u0)*(-u0*(u0*v1 - u1*v0)*(-(1 - u1/u0)*(u0*v1 - u1*v0)*(u2*y0 - u2*y2 - (v2 - u2*v0/u0)*(u1*y0 - u1*y1)/(v1 - u1*v0/u0))/((v1 - u1*v0/u0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1)) + (u1*y0 - u1*y1)/(v1 - u1*v0/u0))*(-v3*x3 - (u0*v1 - u1*v0)*(-v2*x2 - (v2 - u2*v0/u0)*(-v1*x1 + u1*v0*x0/u0)/(v1 - u1*v0/u0) + u2*v0*x0/u0)*(-(1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) + 1 - u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (v3 - u3*v0/u0)*(-v1*x1 + u1*v0*x0/u0)/(v1 - u1*v0/u0) + u3*v0*x0/u0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1)/(-u0*u1*(x0 - x1)*(u0*v3 - u3*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + u0*u3*(x0 - x3)*(u0*v1 - u1*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (u1*(x0 - x1)*(u0*v2 - u2*v0) + u2*(-x0 + x2)*(u0*v1 - u1*v0))*(u0*(-u0*v1 + u1*v0) + u3*(u0*v1 - u1*v0) + (u0 - u1)*(u0*v3 - u3*v0))) - (1 - u1/u0)*(u0*v1 - u1*v0)*(-v2*y2 - (v2 - u2*v0/u0)*(-v1*y1 + u1*v0*y0/u0)/(v1 - u1*v0/u0) + u2*v0*y0/u0)/((v1 - u1*v0/u0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1)) + (-v1*y1 + u1*v0*y0/u0)/(v1 - u1*v0/u0))*(u3*y0 - u3*y3 - (u0*v1 - u1*v0)*(u2*y0 - u2*y2 - (v2 - u2*v0/u0)*(u1*y0 - u1*y1)/(v1 - u1*v0/u0))*(-(1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) + 1 - u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (v3 - u3*v0/u0)*(u1*y0 - u1*y1)/(v1 - u1*v0/u0))/((-u0*u1*(x0 - x1)*(u0*v3 - u3*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + u0*u3*(x0 - x3)*(u0*v1 - u1*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (u1*(x0 - x1)*(u0*v2 - u2*v0) + u2*(-x0 + x2)*(u0*v1 - u1*v0))*(u0*(-u0*v1 + u1*v0) + u3*(u0*v1 - u1*v0) + (u0 - u1)*(u0*v3 - u3*v0)))*(u0*(u0*v1 - u1*v0)*(-u3*y0 + u3*y3 + (u0*v1 - u1*v0)*(-u2*y0 + u2*y2 + (v2 - u2*v0/u0)*(u1*y0 - u1*y1)/(v1 - u1*v0/u0))*((1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) - 1 + u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + (v3 - u3*v0/u0)*(u1*y0 - u1*y1)/(v1 - u1*v0/u0))*(v3*x3 + (u0*v1 - u1*v0)*(v2*x2 - (v2 - u2*v0/u0)*(v1*x1 - u1*v0*x0/u0)/(v1 - u1*v0/u0) - u2*v0*x0/u0)*((1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) - 1 + u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (v3 - u3*v0/u0)*(v1*x1 - u1*v0*x0/u0)/(v1 - u1*v0/u0) - u3*v0*x0/u0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1)/(u0*u1*(x0 - x1)*(u0*v3 - u3*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - u0*u3*(x0 - x3)*(u0*v1 - u1*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + (u1*(x0 - x1)*(u0*v2 - u2*v0) - u2*(x0 - x2)*(u0*v1 - u1*v0))*(-u0*(u0*v1 - u1*v0) + u3*(u0*v1 - u1*v0) + (u0 - u1)*(u0*v3 - u3*v0))) - v3*y3 + (u0*v1 - u1*v0)*(-v2*y2 + (v2 - u2*v0/u0)*(v1*y1 - u1*v0*y0/u0)/(v1 - u1*v0/u0) + u2*v0*y0/u0)*((1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) - 1 + u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + (v3 - u3*v0/u0)*(v1*y1 - u1*v0*y0/u0)/(v1 - u1*v0/u0) + u3*v0*y0/u0))) + x3*(-u0*(u0*v1 - u1*v0)*(-(1 - u1/u0)*(u0*v1 - u1*v0)*(u2*y0 - u2*y2 - (v2 - u2*v0/u0)*(u1*y0 - u1*y1)/(v1 - u1*v0/u0))/((v1 - u1*v0/u0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1)) + (u1*y0 - u1*y1)/(v1 - u1*v0/u0))*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1)/(-u0*u1*(x0 - x1)*(u0*v3 - u3*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + u0*u3*(x0 - x3)*(u0*v1 - u1*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (u1*(x0 - x1)*(u0*v2 - u2*v0) + u2*(-x0 + x2)*(u0*v1 - u1*v0))*(u0*(-u0*v1 + u1*v0) + u3*(u0*v1 - u1*v0) + (u0 - u1)*(u0*v3 - u3*v0))) + u0*(u0*v1 - u1*v0)*(-u0*(u0*v1 - u1*v0)*(-(1 - u1/u0)*(u0*v1 - u1*v0)*(u2*y0 - u2*y2 - (v2 - u2*v0/u0)*(u1*y0 - u1*y1)/(v1 - u1*v0/u0))/((v1 - u1*v0/u0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1)) + (u1*y0 - u1*y1)/(v1 - u1*v0/u0))*(-v3*x3 - (u0*v1 - u1*v0)*(-v2*x2 - (v2 - u2*v0/u0)*(-v1*x1 + u1*v0*x0/u0)/(v1 - u1*v0/u0) + u2*v0*x0/u0)*(-(1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) + 1 - u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (v3 - u3*v0/u0)*(-v1*x1 + u1*v0*x0/u0)/(v1 - u1*v0/u0) + u3*v0*x0/u0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1)/(-u0*u1*(x0 - x1)*(u0*v3 - u3*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + u0*u3*(x0 - x3)*(u0*v1 - u1*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (u1*(x0 - x1)*(u0*v2 - u2*v0) + u2*(-x0 + x2)*(u0*v1 - u1*v0))*(u0*(-u0*v1 + u1*v0) + u3*(u0*v1 - u1*v0) + (u0 - u1)*(u0*v3 - u3*v0))) - (1 - u1/u0)*(u0*v1 - u1*v0)*(-v2*y2 - (v2 - u2*v0/u0)*(-v1*y1 + u1*v0*y0/u0)/(v1 - u1*v0/u0) + u2*v0*y0/u0)/((v1 - u1*v0/u0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1)) + (-v1*y1 + u1*v0*y0/u0)/(v1 - u1*v0/u0))*(u3*y0 - u3*y3 - (u0*v1 - u1*v0)*(u2*y0 - u2*y2 - (v2 - u2*v0/u0)*(u1*y0 - u1*y1)/(v1 - u1*v0/u0))*(-(1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) + 1 - u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (v3 - u3*v0/u0)*(u1*y0 - u1*y1)/(v1 - u1*v0/u0))*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1)/((-u0*u1*(x0 - x1)*(u0*v3 - u3*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + u0*u3*(x0 - x3)*(u0*v1 - u1*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (u1*(x0 - x1)*(u0*v2 - u2*v0) + u2*(-x0 + x2)*(u0*v1 - u1*v0))*(u0*(-u0*v1 + u1*v0) + u3*(u0*v1 - u1*v0) + (u0 - u1)*(u0*v3 - u3*v0)))*(u0*(u0*v1 - u1*v0)*(-u3*y0 + u3*y3 + (u0*v1 - u1*v0)*(-u2*y0 + u2*y2 + (v2 - u2*v0/u0)*(u1*y0 - u1*y1)/(v1 - u1*v0/u0))*((1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) - 1 + u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + (v3 - u3*v0/u0)*(u1*y0 - u1*y1)/(v1 - u1*v0/u0))*(v3*x3 + (u0*v1 - u1*v0)*(v2*x2 - (v2 - u2*v0/u0)*(v1*x1 - u1*v0*x0/u0)/(v1 - u1*v0/u0) - u2*v0*x0/u0)*((1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) - 1 + u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (v3 - u3*v0/u0)*(v1*x1 - u1*v0*x0/u0)/(v1 - u1*v0/u0) - u3*v0*x0/u0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1)/(u0*u1*(x0 - x1)*(u0*v3 - u3*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - u0*u3*(x0 - x3)*(u0*v1 - u1*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + (u1*(x0 - x1)*(u0*v2 - u2*v0) - u2*(x0 - x2)*(u0*v1 - u1*v0))*(-u0*(u0*v1 - u1*v0) + u3*(u0*v1 - u1*v0) + (u0 - u1)*(u0*v3 - u3*v0))) - v3*y3 + (u0*v1 - u1*v0)*(-v2*y2 + (v2 - u2*v0/u0)*(v1*y1 - u1*v0*y0/u0)/(v1 - u1*v0/u0) + u2*v0*y0/u0)*((1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) - 1 + u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + (v3 - u3*v0/u0)*(v1*y1 - u1*v0*y0/u0)/(v1 - u1*v0/u0) + u3*v0*y0/u0))) + y0*(-(1 - u1/u0)*(u0*v1 - u1*v0)*(u1*(v2 - u2*v0/u0)/(u0*(v1 - u1*v0/u0)) - u2/u0)/((v1 - u1*v0/u0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1)) - (-(u0*v1 - u1*v0)*(u1*(v2 - u2*v0/u0)/(u0*(v1 - u1*v0/u0)) - u2/u0)*(-(1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) + 1 - u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + u1*(v3 - u3*v0/u0)/(u0*(v1 - u1*v0/u0)) - u3/u0)*(-u0*(u0*v1 - u1*v0)*(-(1 - u1/u0)*(u0*v1 - u1*v0)*(u2*y0 - u2*y2 - (v2 - u2*v0/u0)*(u1*y0 - u1*y1)/(v1 - u1*v0/u0))/((v1 - u1*v0/u0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1)) + (u1*y0 - u1*y1)/(v1 - u1*v0/u0))*(-v3*x3 - (u0*v1 - u1*v0)*(-v2*x2 - (v2 - u2*v0/u0)*(-v1*x1 + u1*v0*x0/u0)/(v1 - u1*v0/u0) + u2*v0*x0/u0)*(-(1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) + 1 - u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (v3 - u3*v0/u0)*(-v1*x1 + u1*v0*x0/u0)/(v1 - u1*v0/u0) + u3*v0*x0/u0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1)/(-u0*u1*(x0 - x1)*(u0*v3 - u3*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + u0*u3*(x0 - x3)*(u0*v1 - u1*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (u1*(x0 - x1)*(u0*v2 - u2*v0) + u2*(-x0 + x2)*(u0*v1 - u1*v0))*(u0*(-u0*v1 + u1*v0) + u3*(u0*v1 - u1*v0) + (u0 - u1)*(u0*v3 - u3*v0))) - (1 - u1/u0)*(u0*v1 - u1*v0)*(-v2*y2 - (v2 - u2*v0/u0)*(-v1*y1 + u1*v0*y0/u0)/(v1 - u1*v0/u0) + u2*v0*y0/u0)/((v1 - u1*v0/u0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1)) + (-v1*y1 + u1*v0*y0/u0)/(v1 - u1*v0/u0))/(u0*(u0*v1 - u1*v0)*(-u3*y0 + u3*y3 + (u0*v1 - u1*v0)*(-u2*y0 + u2*y2 + (v2 - u2*v0/u0)*(u1*y0 - u1*y1)/(v1 - u1*v0/u0))*((1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) - 1 + u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + (v3 - u3*v0/u0)*(u1*y0 - u1*y1)/(v1 - u1*v0/u0))*(v3*x3 + (u0*v1 - u1*v0)*(v2*x2 - (v2 - u2*v0/u0)*(v1*x1 - u1*v0*x0/u0)/(v1 - u1*v0/u0) - u2*v0*x0/u0)*((1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) - 1 + u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (v3 - u3*v0/u0)*(v1*x1 - u1*v0*x0/u0)/(v1 - u1*v0/u0) - u3*v0*x0/u0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1)/(u0*u1*(x0 - x1)*(u0*v3 - u3*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - u0*u3*(x0 - x3)*(u0*v1 - u1*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + (u1*(x0 - x1)*(u0*v2 - u2*v0) - u2*(x0 - x2)*(u0*v1 - u1*v0))*(-u0*(u0*v1 - u1*v0) + u3*(u0*v1 - u1*v0) + (u0 - u1)*(u0*v3 - u3*v0))) - v3*y3 + (u0*v1 - u1*v0)*(-v2*y2 + (v2 - u2*v0/u0)*(v1*y1 - u1*v0*y0/u0)/(v1 - u1*v0/u0) + u2*v0*y0/u0)*((1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) - 1 + u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + (v3 - u3*v0/u0)*(v1*y1 - u1*v0*y0/u0)/(v1 - u1*v0/u0) + u3*v0*y0/u0) - u1/(u0*(v1 - u1*v0/u0))) + y1*((1 - u1/u0)*(v2 - u2*v0/u0)*(u0*v1 - u1*v0)/(Math.pow(v1 - u1*v0/u0,2)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1)) - ((v2 - u2*v0/u0)*(u0*v1 - u1*v0)*(-(1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) + 1 - u3/u0)/((v1 - u1*v0/u0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1)) - (v3 - u3*v0/u0)/(v1 - u1*v0/u0))*(-u0*(u0*v1 - u1*v0)*(-(1 - u1/u0)*(u0*v1 - u1*v0)*(u2*y0 - u2*y2 - (v2 - u2*v0/u0)*(u1*y0 - u1*y1)/(v1 - u1*v0/u0))/((v1 - u1*v0/u0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1)) + (u1*y0 - u1*y1)/(v1 - u1*v0/u0))*(-v3*x3 - (u0*v1 - u1*v0)*(-v2*x2 - (v2 - u2*v0/u0)*(-v1*x1 + u1*v0*x0/u0)/(v1 - u1*v0/u0) + u2*v0*x0/u0)*(-(1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) + 1 - u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (v3 - u3*v0/u0)*(-v1*x1 + u1*v0*x0/u0)/(v1 - u1*v0/u0) + u3*v0*x0/u0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1)/(-u0*u1*(x0 - x1)*(u0*v3 - u3*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + u0*u3*(x0 - x3)*(u0*v1 - u1*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (u1*(x0 - x1)*(u0*v2 - u2*v0) + u2*(-x0 + x2)*(u0*v1 - u1*v0))*(u0*(-u0*v1 + u1*v0) + u3*(u0*v1 - u1*v0) + (u0 - u1)*(u0*v3 - u3*v0))) - (1 - u1/u0)*(u0*v1 - u1*v0)*(-v2*y2 - (v2 - u2*v0/u0)*(-v1*y1 + u1*v0*y0/u0)/(v1 - u1*v0/u0) + u2*v0*y0/u0)/((v1 - u1*v0/u0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1)) + (-v1*y1 + u1*v0*y0/u0)/(v1 - u1*v0/u0))/(u0*(u0*v1 - u1*v0)*(-u3*y0 + u3*y3 + (u0*v1 - u1*v0)*(-u2*y0 + u2*y2 + (v2 - u2*v0/u0)*(u1*y0 - u1*y1)/(v1 - u1*v0/u0))*((1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) - 1 + u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + (v3 - u3*v0/u0)*(u1*y0 - u1*y1)/(v1 - u1*v0/u0))*(v3*x3 + (u0*v1 - u1*v0)*(v2*x2 - (v2 - u2*v0/u0)*(v1*x1 - u1*v0*x0/u0)/(v1 - u1*v0/u0) - u2*v0*x0/u0)*((1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) - 1 + u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (v3 - u3*v0/u0)*(v1*x1 - u1*v0*x0/u0)/(v1 - u1*v0/u0) - u3*v0*x0/u0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1)/(u0*u1*(x0 - x1)*(u0*v3 - u3*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - u0*u3*(x0 - x3)*(u0*v1 - u1*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + (u1*(x0 - x1)*(u0*v2 - u2*v0) - u2*(x0 - x2)*(u0*v1 - u1*v0))*(-u0*(u0*v1 - u1*v0) + u3*(u0*v1 - u1*v0) + (u0 - u1)*(u0*v3 - u3*v0))) - v3*y3 + (u0*v1 - u1*v0)*(-v2*y2 + (v2 - u2*v0/u0)*(v1*y1 - u1*v0*y0/u0)/(v1 - u1*v0/u0) + u2*v0*y0/u0)*((1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) - 1 + u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + (v3 - u3*v0/u0)*(v1*y1 - u1*v0*y0/u0)/(v1 - u1*v0/u0) + u3*v0*y0/u0) + 1/(v1 - u1*v0/u0)) + y2*(-(1 - u1/u0)*(u0*v1 - u1*v0)/((v1 - u1*v0/u0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1)) + (u0*v1 - u1*v0)*(-(1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) + 1 - u3/u0)*(-u0*(u0*v1 - u1*v0)*(-(1 - u1/u0)*(u0*v1 - u1*v0)*(u2*y0 - u2*y2 - (v2 - u2*v0/u0)*(u1*y0 - u1*y1)/(v1 - u1*v0/u0))/((v1 - u1*v0/u0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1)) + (u1*y0 - u1*y1)/(v1 - u1*v0/u0))*(-v3*x3 - (u0*v1 - u1*v0)*(-v2*x2 - (v2 - u2*v0/u0)*(-v1*x1 + u1*v0*x0/u0)/(v1 - u1*v0/u0) + u2*v0*x0/u0)*(-(1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) + 1 - u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (v3 - u3*v0/u0)*(-v1*x1 + u1*v0*x0/u0)/(v1 - u1*v0/u0) + u3*v0*x0/u0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1)/(-u0*u1*(x0 - x1)*(u0*v3 - u3*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + u0*u3*(x0 - x3)*(u0*v1 - u1*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (u1*(x0 - x1)*(u0*v2 - u2*v0) + u2*(-x0 + x2)*(u0*v1 - u1*v0))*(u0*(-u0*v1 + u1*v0) + u3*(u0*v1 - u1*v0) + (u0 - u1)*(u0*v3 - u3*v0))) - (1 - u1/u0)*(u0*v1 - u1*v0)*(-v2*y2 - (v2 - u2*v0/u0)*(-v1*y1 + u1*v0*y0/u0)/(v1 - u1*v0/u0) + u2*v0*y0/u0)/((v1 - u1*v0/u0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1)) + (-v1*y1 + u1*v0*y0/u0)/(v1 - u1*v0/u0))/((u0*(u0*v1 - u1*v0)*(-u3*y0 + u3*y3 + (u0*v1 - u1*v0)*(-u2*y0 + u2*y2 + (v2 - u2*v0/u0)*(u1*y0 - u1*y1)/(v1 - u1*v0/u0))*((1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) - 1 + u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + (v3 - u3*v0/u0)*(u1*y0 - u1*y1)/(v1 - u1*v0/u0))*(v3*x3 + (u0*v1 - u1*v0)*(v2*x2 - (v2 - u2*v0/u0)*(v1*x1 - u1*v0*x0/u0)/(v1 - u1*v0/u0) - u2*v0*x0/u0)*((1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) - 1 + u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (v3 - u3*v0/u0)*(v1*x1 - u1*v0*x0/u0)/(v1 - u1*v0/u0) - u3*v0*x0/u0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1)/(u0*u1*(x0 - x1)*(u0*v3 - u3*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - u0*u3*(x0 - x3)*(u0*v1 - u1*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + (u1*(x0 - x1)*(u0*v2 - u2*v0) - u2*(x0 - x2)*(u0*v1 - u1*v0))*(-u0*(u0*v1 - u1*v0) + u3*(u0*v1 - u1*v0) + (u0 - u1)*(u0*v3 - u3*v0))) - v3*y3 + (u0*v1 - u1*v0)*(-v2*y2 + (v2 - u2*v0/u0)*(v1*y1 - u1*v0*y0/u0)/(v1 - u1*v0/u0) + u2*v0*y0/u0)*((1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) - 1 + u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + (v3 - u3*v0/u0)*(v1*y1 - u1*v0*y0/u0)/(v1 - u1*v0/u0) + u3*v0*y0/u0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1))) - y3*(-u0*(u0*v1 - u1*v0)*(-(1 - u1/u0)*(u0*v1 - u1*v0)*(u2*y0 - u2*y2 - (v2 - u2*v0/u0)*(u1*y0 - u1*y1)/(v1 - u1*v0/u0))/((v1 - u1*v0/u0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1)) + (u1*y0 - u1*y1)/(v1 - u1*v0/u0))*(-v3*x3 - (u0*v1 - u1*v0)*(-v2*x2 - (v2 - u2*v0/u0)*(-v1*x1 + u1*v0*x0/u0)/(v1 - u1*v0/u0) + u2*v0*x0/u0)*(-(1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) + 1 - u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (v3 - u3*v0/u0)*(-v1*x1 + u1*v0*x0/u0)/(v1 - u1*v0/u0) + u3*v0*x0/u0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1)/(-u0*u1*(x0 - x1)*(u0*v3 - u3*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + u0*u3*(x0 - x3)*(u0*v1 - u1*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (u1*(x0 - x1)*(u0*v2 - u2*v0) + u2*(-x0 + x2)*(u0*v1 - u1*v0))*(u0*(-u0*v1 + u1*v0) + u3*(u0*v1 - u1*v0) + (u0 - u1)*(u0*v3 - u3*v0))) - (1 - u1/u0)*(u0*v1 - u1*v0)*(-v2*y2 - (v2 - u2*v0/u0)*(-v1*y1 + u1*v0*y0/u0)/(v1 - u1*v0/u0) + u2*v0*y0/u0)/((v1 - u1*v0/u0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1)) + (-v1*y1 + u1*v0*y0/u0)/(v1 - u1*v0/u0))/(u0*(u0*v1 - u1*v0)*(-u3*y0 + u3*y3 + (u0*v1 - u1*v0)*(-u2*y0 + u2*y2 + (v2 - u2*v0/u0)*(u1*y0 - u1*y1)/(v1 - u1*v0/u0))*((1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) - 1 + u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + (v3 - u3*v0/u0)*(u1*y0 - u1*y1)/(v1 - u1*v0/u0))*(v3*x3 + (u0*v1 - u1*v0)*(v2*x2 - (v2 - u2*v0/u0)*(v1*x1 - u1*v0*x0/u0)/(v1 - u1*v0/u0) - u2*v0*x0/u0)*((1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) - 1 + u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (v3 - u3*v0/u0)*(v1*x1 - u1*v0*x0/u0)/(v1 - u1*v0/u0) - u3*v0*x0/u0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1)/(u0*u1*(x0 - x1)*(u0*v3 - u3*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - u0*u3*(x0 - x3)*(u0*v1 - u1*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + (u1*(x0 - x1)*(u0*v2 - u2*v0) - u2*(x0 - x2)*(u0*v1 - u1*v0))*(-u0*(u0*v1 - u1*v0) + u3*(u0*v1 - u1*v0) + (u0 - u1)*(u0*v3 - u3*v0))) - v3*y3 + (u0*v1 - u1*v0)*(-v2*y2 + (v2 - u2*v0/u0)*(v1*y1 - u1*v0*y0/u0)/(v1 - u1*v0/u0) + u2*v0*y0/u0)*((1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) - 1 + u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + (v3 - u3*v0/u0)*(v1*y1 - u1*v0*y0/u0)/(v1 - u1*v0/u0) + u3*v0*y0/u0), | |
f = x0*(-u0*Math.pow(u0*v1 - u1*v0,2)*(u2*y0 - u2*y2 - (v2 - u2*v0/u0)*(u1*y0 - u1*y1)/(v1 - u1*v0/u0))*(-(u0*v1 - u1*v0)*(u1*(v2 - u2*v0/u0)/(u0*(v1 - u1*v0/u0)) - u2/u0)*(-(1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) + 1 - u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + u1*(v3 - u3*v0/u0)/(u0*(v1 - u1*v0/u0)) - u3/u0)/(-u0*u1*(x0 - x1)*(u0*v3 - u3*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + u0*u3*(x0 - x3)*(u0*v1 - u1*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (u1*(x0 - x1)*(u0*v2 - u2*v0) + u2*(-x0 + x2)*(u0*v1 - u1*v0))*(u0*(-u0*v1 + u1*v0) + u3*(u0*v1 - u1*v0) + (u0 - u1)*(u0*v3 - u3*v0))) + u0*(u0*v1 - u1*v0)*(-u0*Math.pow(u0*v1 - u1*v0,2)*(u2*y0 - u2*y2 - (v2 - u2*v0/u0)*(u1*y0 - u1*y1)/(v1 - u1*v0/u0))*(-v3*x3 - (u0*v1 - u1*v0)*(-v2*x2 - (v2 - u2*v0/u0)*(-v1*x1 + u1*v0*x0/u0)/(v1 - u1*v0/u0) + u2*v0*x0/u0)*(-(1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) + 1 - u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (v3 - u3*v0/u0)*(-v1*x1 + u1*v0*x0/u0)/(v1 - u1*v0/u0) + u3*v0*x0/u0)/(-u0*u1*(x0 - x1)*(u0*v3 - u3*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + u0*u3*(x0 - x3)*(u0*v1 - u1*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (u1*(x0 - x1)*(u0*v2 - u2*v0) + u2*(-x0 + x2)*(u0*v1 - u1*v0))*(u0*(-u0*v1 + u1*v0) + u3*(u0*v1 - u1*v0) + (u0 - u1)*(u0*v3 - u3*v0))) + (u0*v1 - u1*v0)*(-v2*y2 - (v2 - u2*v0/u0)*(-v1*y1 + u1*v0*y0/u0)/(v1 - u1*v0/u0) + u2*v0*y0/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1))*(-(u0*v1 - u1*v0)*(u1*(v2 - u2*v0/u0)/(u0*(v1 - u1*v0/u0)) - u2/u0)*(-(1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) + 1 - u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + u1*(v3 - u3*v0/u0)/(u0*(v1 - u1*v0/u0)) - u3/u0)*(u3*y0 - u3*y3 - (u0*v1 - u1*v0)*(u2*y0 - u2*y2 - (v2 - u2*v0/u0)*(u1*y0 - u1*y1)/(v1 - u1*v0/u0))*(-(1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) + 1 - u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (v3 - u3*v0/u0)*(u1*y0 - u1*y1)/(v1 - u1*v0/u0))*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1)/((-u0*u1*(x0 - x1)*(u0*v3 - u3*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + u0*u3*(x0 - x3)*(u0*v1 - u1*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (u1*(x0 - x1)*(u0*v2 - u2*v0) + u2*(-x0 + x2)*(u0*v1 - u1*v0))*(u0*(-u0*v1 + u1*v0) + u3*(u0*v1 - u1*v0) + (u0 - u1)*(u0*v3 - u3*v0)))*(u0*(u0*v1 - u1*v0)*(-u3*y0 + u3*y3 + (u0*v1 - u1*v0)*(-u2*y0 + u2*y2 + (v2 - u2*v0/u0)*(u1*y0 - u1*y1)/(v1 - u1*v0/u0))*((1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) - 1 + u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + (v3 - u3*v0/u0)*(u1*y0 - u1*y1)/(v1 - u1*v0/u0))*(v3*x3 + (u0*v1 - u1*v0)*(v2*x2 - (v2 - u2*v0/u0)*(v1*x1 - u1*v0*x0/u0)/(v1 - u1*v0/u0) - u2*v0*x0/u0)*((1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) - 1 + u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (v3 - u3*v0/u0)*(v1*x1 - u1*v0*x0/u0)/(v1 - u1*v0/u0) - u3*v0*x0/u0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1)/(u0*u1*(x0 - x1)*(u0*v3 - u3*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - u0*u3*(x0 - x3)*(u0*v1 - u1*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + (u1*(x0 - x1)*(u0*v2 - u2*v0) - u2*(x0 - x2)*(u0*v1 - u1*v0))*(-u0*(u0*v1 - u1*v0) + u3*(u0*v1 - u1*v0) + (u0 - u1)*(u0*v3 - u3*v0))) - v3*y3 + (u0*v1 - u1*v0)*(-v2*y2 + (v2 - u2*v0/u0)*(v1*y1 - u1*v0*y0/u0)/(v1 - u1*v0/u0) + u2*v0*y0/u0)*((1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) - 1 + u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + (v3 - u3*v0/u0)*(v1*y1 - u1*v0*y0/u0)/(v1 - u1*v0/u0) + u3*v0*y0/u0))) + x1*(-u0*Math.pow(u0*v1 - u1*v0,2)*((v2 - u2*v0/u0)*(u0*v1 - u1*v0)*(-(1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) + 1 - u3/u0)/((v1 - u1*v0/u0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1)) - (v3 - u3*v0/u0)/(v1 - u1*v0/u0))*(u2*y0 - u2*y2 - (v2 - u2*v0/u0)*(u1*y0 - u1*y1)/(v1 - u1*v0/u0))/(-u0*u1*(x0 - x1)*(u0*v3 - u3*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + u0*u3*(x0 - x3)*(u0*v1 - u1*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (u1*(x0 - x1)*(u0*v2 - u2*v0) + u2*(-x0 + x2)*(u0*v1 - u1*v0))*(u0*(-u0*v1 + u1*v0) + u3*(u0*v1 - u1*v0) + (u0 - u1)*(u0*v3 - u3*v0))) + u0*(u0*v1 - u1*v0)*(-u0*Math.pow(u0*v1 - u1*v0,2)*(u2*y0 - u2*y2 - (v2 - u2*v0/u0)*(u1*y0 - u1*y1)/(v1 - u1*v0/u0))*(-v3*x3 - (u0*v1 - u1*v0)*(-v2*x2 - (v2 - u2*v0/u0)*(-v1*x1 + u1*v0*x0/u0)/(v1 - u1*v0/u0) + u2*v0*x0/u0)*(-(1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) + 1 - u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (v3 - u3*v0/u0)*(-v1*x1 + u1*v0*x0/u0)/(v1 - u1*v0/u0) + u3*v0*x0/u0)/(-u0*u1*(x0 - x1)*(u0*v3 - u3*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + u0*u3*(x0 - x3)*(u0*v1 - u1*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (u1*(x0 - x1)*(u0*v2 - u2*v0) + u2*(-x0 + x2)*(u0*v1 - u1*v0))*(u0*(-u0*v1 + u1*v0) + u3*(u0*v1 - u1*v0) + (u0 - u1)*(u0*v3 - u3*v0))) + (u0*v1 - u1*v0)*(-v2*y2 - (v2 - u2*v0/u0)*(-v1*y1 + u1*v0*y0/u0)/(v1 - u1*v0/u0) + u2*v0*y0/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1))*((v2 - u2*v0/u0)*(u0*v1 - u1*v0)*(-(1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) + 1 - u3/u0)/((v1 - u1*v0/u0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1)) - (v3 - u3*v0/u0)/(v1 - u1*v0/u0))*(u3*y0 - u3*y3 - (u0*v1 - u1*v0)*(u2*y0 - u2*y2 - (v2 - u2*v0/u0)*(u1*y0 - u1*y1)/(v1 - u1*v0/u0))*(-(1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) + 1 - u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (v3 - u3*v0/u0)*(u1*y0 - u1*y1)/(v1 - u1*v0/u0))*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1)/((-u0*u1*(x0 - x1)*(u0*v3 - u3*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + u0*u3*(x0 - x3)*(u0*v1 - u1*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (u1*(x0 - x1)*(u0*v2 - u2*v0) + u2*(-x0 + x2)*(u0*v1 - u1*v0))*(u0*(-u0*v1 + u1*v0) + u3*(u0*v1 - u1*v0) + (u0 - u1)*(u0*v3 - u3*v0)))*(u0*(u0*v1 - u1*v0)*(-u3*y0 + u3*y3 + (u0*v1 - u1*v0)*(-u2*y0 + u2*y2 + (v2 - u2*v0/u0)*(u1*y0 - u1*y1)/(v1 - u1*v0/u0))*((1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) - 1 + u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + (v3 - u3*v0/u0)*(u1*y0 - u1*y1)/(v1 - u1*v0/u0))*(v3*x3 + (u0*v1 - u1*v0)*(v2*x2 - (v2 - u2*v0/u0)*(v1*x1 - u1*v0*x0/u0)/(v1 - u1*v0/u0) - u2*v0*x0/u0)*((1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) - 1 + u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (v3 - u3*v0/u0)*(v1*x1 - u1*v0*x0/u0)/(v1 - u1*v0/u0) - u3*v0*x0/u0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1)/(u0*u1*(x0 - x1)*(u0*v3 - u3*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - u0*u3*(x0 - x3)*(u0*v1 - u1*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + (u1*(x0 - x1)*(u0*v2 - u2*v0) - u2*(x0 - x2)*(u0*v1 - u1*v0))*(-u0*(u0*v1 - u1*v0) + u3*(u0*v1 - u1*v0) + (u0 - u1)*(u0*v3 - u3*v0))) - v3*y3 + (u0*v1 - u1*v0)*(-v2*y2 + (v2 - u2*v0/u0)*(v1*y1 - u1*v0*y0/u0)/(v1 - u1*v0/u0) + u2*v0*y0/u0)*((1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) - 1 + u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + (v3 - u3*v0/u0)*(v1*y1 - u1*v0*y0/u0)/(v1 - u1*v0/u0) + u3*v0*y0/u0))) + x2*(u0*Math.pow(u0*v1 - u1*v0,3)*(u2*y0 - u2*y2 - (v2 - u2*v0/u0)*(u1*y0 - u1*y1)/(v1 - u1*v0/u0))*(-(1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) + 1 - u3/u0)/((-u0*u1*(x0 - x1)*(u0*v3 - u3*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + u0*u3*(x0 - x3)*(u0*v1 - u1*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (u1*(x0 - x1)*(u0*v2 - u2*v0) + u2*(-x0 + x2)*(u0*v1 - u1*v0))*(u0*(-u0*v1 + u1*v0) + u3*(u0*v1 - u1*v0) + (u0 - u1)*(u0*v3 - u3*v0)))*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1)) - u0*Math.pow(u0*v1 - u1*v0,2)*(-u0*Math.pow(u0*v1 - u1*v0,2)*(u2*y0 - u2*y2 - (v2 - u2*v0/u0)*(u1*y0 - u1*y1)/(v1 - u1*v0/u0))*(-v3*x3 - (u0*v1 - u1*v0)*(-v2*x2 - (v2 - u2*v0/u0)*(-v1*x1 + u1*v0*x0/u0)/(v1 - u1*v0/u0) + u2*v0*x0/u0)*(-(1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) + 1 - u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (v3 - u3*v0/u0)*(-v1*x1 + u1*v0*x0/u0)/(v1 - u1*v0/u0) + u3*v0*x0/u0)/(-u0*u1*(x0 - x1)*(u0*v3 - u3*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + u0*u3*(x0 - x3)*(u0*v1 - u1*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (u1*(x0 - x1)*(u0*v2 - u2*v0) + u2*(-x0 + x2)*(u0*v1 - u1*v0))*(u0*(-u0*v1 + u1*v0) + u3*(u0*v1 - u1*v0) + (u0 - u1)*(u0*v3 - u3*v0))) + (u0*v1 - u1*v0)*(-v2*y2 - (v2 - u2*v0/u0)*(-v1*y1 + u1*v0*y0/u0)/(v1 - u1*v0/u0) + u2*v0*y0/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1))*(-(1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) + 1 - u3/u0)*(u3*y0 - u3*y3 - (u0*v1 - u1*v0)*(u2*y0 - u2*y2 - (v2 - u2*v0/u0)*(u1*y0 - u1*y1)/(v1 - u1*v0/u0))*(-(1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) + 1 - u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (v3 - u3*v0/u0)*(u1*y0 - u1*y1)/(v1 - u1*v0/u0))/((-u0*u1*(x0 - x1)*(u0*v3 - u3*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + u0*u3*(x0 - x3)*(u0*v1 - u1*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (u1*(x0 - x1)*(u0*v2 - u2*v0) + u2*(-x0 + x2)*(u0*v1 - u1*v0))*(u0*(-u0*v1 + u1*v0) + u3*(u0*v1 - u1*v0) + (u0 - u1)*(u0*v3 - u3*v0)))*(u0*(u0*v1 - u1*v0)*(-u3*y0 + u3*y3 + (u0*v1 - u1*v0)*(-u2*y0 + u2*y2 + (v2 - u2*v0/u0)*(u1*y0 - u1*y1)/(v1 - u1*v0/u0))*((1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) - 1 + u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + (v3 - u3*v0/u0)*(u1*y0 - u1*y1)/(v1 - u1*v0/u0))*(v3*x3 + (u0*v1 - u1*v0)*(v2*x2 - (v2 - u2*v0/u0)*(v1*x1 - u1*v0*x0/u0)/(v1 - u1*v0/u0) - u2*v0*x0/u0)*((1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) - 1 + u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (v3 - u3*v0/u0)*(v1*x1 - u1*v0*x0/u0)/(v1 - u1*v0/u0) - u3*v0*x0/u0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1)/(u0*u1*(x0 - x1)*(u0*v3 - u3*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - u0*u3*(x0 - x3)*(u0*v1 - u1*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + (u1*(x0 - x1)*(u0*v2 - u2*v0) - u2*(x0 - x2)*(u0*v1 - u1*v0))*(-u0*(u0*v1 - u1*v0) + u3*(u0*v1 - u1*v0) + (u0 - u1)*(u0*v3 - u3*v0))) - v3*y3 + (u0*v1 - u1*v0)*(-v2*y2 + (v2 - u2*v0/u0)*(v1*y1 - u1*v0*y0/u0)/(v1 - u1*v0/u0) + u2*v0*y0/u0)*((1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) - 1 + u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + (v3 - u3*v0/u0)*(v1*y1 - u1*v0*y0/u0)/(v1 - u1*v0/u0) + u3*v0*y0/u0))) + x3*(-u0*Math.pow(u0*v1 - u1*v0,2)*(u2*y0 - u2*y2 - (v2 - u2*v0/u0)*(u1*y0 - u1*y1)/(v1 - u1*v0/u0))/(-u0*u1*(x0 - x1)*(u0*v3 - u3*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + u0*u3*(x0 - x3)*(u0*v1 - u1*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (u1*(x0 - x1)*(u0*v2 - u2*v0) + u2*(-x0 + x2)*(u0*v1 - u1*v0))*(u0*(-u0*v1 + u1*v0) + u3*(u0*v1 - u1*v0) + (u0 - u1)*(u0*v3 - u3*v0))) + u0*(u0*v1 - u1*v0)*(-u0*Math.pow(u0*v1 - u1*v0,2)*(u2*y0 - u2*y2 - (v2 - u2*v0/u0)*(u1*y0 - u1*y1)/(v1 - u1*v0/u0))*(-v3*x3 - (u0*v1 - u1*v0)*(-v2*x2 - (v2 - u2*v0/u0)*(-v1*x1 + u1*v0*x0/u0)/(v1 - u1*v0/u0) + u2*v0*x0/u0)*(-(1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) + 1 - u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (v3 - u3*v0/u0)*(-v1*x1 + u1*v0*x0/u0)/(v1 - u1*v0/u0) + u3*v0*x0/u0)/(-u0*u1*(x0 - x1)*(u0*v3 - u3*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + u0*u3*(x0 - x3)*(u0*v1 - u1*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (u1*(x0 - x1)*(u0*v2 - u2*v0) + u2*(-x0 + x2)*(u0*v1 - u1*v0))*(u0*(-u0*v1 + u1*v0) + u3*(u0*v1 - u1*v0) + (u0 - u1)*(u0*v3 - u3*v0))) + (u0*v1 - u1*v0)*(-v2*y2 - (v2 - u2*v0/u0)*(-v1*y1 + u1*v0*y0/u0)/(v1 - u1*v0/u0) + u2*v0*y0/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1))*(u3*y0 - u3*y3 - (u0*v1 - u1*v0)*(u2*y0 - u2*y2 - (v2 - u2*v0/u0)*(u1*y0 - u1*y1)/(v1 - u1*v0/u0))*(-(1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) + 1 - u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (v3 - u3*v0/u0)*(u1*y0 - u1*y1)/(v1 - u1*v0/u0))*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1)/((-u0*u1*(x0 - x1)*(u0*v3 - u3*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + u0*u3*(x0 - x3)*(u0*v1 - u1*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (u1*(x0 - x1)*(u0*v2 - u2*v0) + u2*(-x0 + x2)*(u0*v1 - u1*v0))*(u0*(-u0*v1 + u1*v0) + u3*(u0*v1 - u1*v0) + (u0 - u1)*(u0*v3 - u3*v0)))*(u0*(u0*v1 - u1*v0)*(-u3*y0 + u3*y3 + (u0*v1 - u1*v0)*(-u2*y0 + u2*y2 + (v2 - u2*v0/u0)*(u1*y0 - u1*y1)/(v1 - u1*v0/u0))*((1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) - 1 + u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + (v3 - u3*v0/u0)*(u1*y0 - u1*y1)/(v1 - u1*v0/u0))*(v3*x3 + (u0*v1 - u1*v0)*(v2*x2 - (v2 - u2*v0/u0)*(v1*x1 - u1*v0*x0/u0)/(v1 - u1*v0/u0) - u2*v0*x0/u0)*((1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) - 1 + u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (v3 - u3*v0/u0)*(v1*x1 - u1*v0*x0/u0)/(v1 - u1*v0/u0) - u3*v0*x0/u0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1)/(u0*u1*(x0 - x1)*(u0*v3 - u3*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - u0*u3*(x0 - x3)*(u0*v1 - u1*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + (u1*(x0 - x1)*(u0*v2 - u2*v0) - u2*(x0 - x2)*(u0*v1 - u1*v0))*(-u0*(u0*v1 - u1*v0) + u3*(u0*v1 - u1*v0) + (u0 - u1)*(u0*v3 - u3*v0))) - v3*y3 + (u0*v1 - u1*v0)*(-v2*y2 + (v2 - u2*v0/u0)*(v1*y1 - u1*v0*y0/u0)/(v1 - u1*v0/u0) + u2*v0*y0/u0)*((1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) - 1 + u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + (v3 - u3*v0/u0)*(v1*y1 - u1*v0*y0/u0)/(v1 - u1*v0/u0) + u3*v0*y0/u0))) + y0*((u0*v1 - u1*v0)*(u1*(v2 - u2*v0/u0)/(u0*(v1 - u1*v0/u0)) - u2/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (-u0*Math.pow(u0*v1 - u1*v0,2)*(u2*y0 - u2*y2 - (v2 - u2*v0/u0)*(u1*y0 - u1*y1)/(v1 - u1*v0/u0))*(-v3*x3 - (u0*v1 - u1*v0)*(-v2*x2 - (v2 - u2*v0/u0)*(-v1*x1 + u1*v0*x0/u0)/(v1 - u1*v0/u0) + u2*v0*x0/u0)*(-(1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) + 1 - u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (v3 - u3*v0/u0)*(-v1*x1 + u1*v0*x0/u0)/(v1 - u1*v0/u0) + u3*v0*x0/u0)/(-u0*u1*(x0 - x1)*(u0*v3 - u3*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + u0*u3*(x0 - x3)*(u0*v1 - u1*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (u1*(x0 - x1)*(u0*v2 - u2*v0) + u2*(-x0 + x2)*(u0*v1 - u1*v0))*(u0*(-u0*v1 + u1*v0) + u3*(u0*v1 - u1*v0) + (u0 - u1)*(u0*v3 - u3*v0))) + (u0*v1 - u1*v0)*(-v2*y2 - (v2 - u2*v0/u0)*(-v1*y1 + u1*v0*y0/u0)/(v1 - u1*v0/u0) + u2*v0*y0/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1))*(-(u0*v1 - u1*v0)*(u1*(v2 - u2*v0/u0)/(u0*(v1 - u1*v0/u0)) - u2/u0)*(-(1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) + 1 - u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + u1*(v3 - u3*v0/u0)/(u0*(v1 - u1*v0/u0)) - u3/u0)/(u0*(u0*v1 - u1*v0)*(-u3*y0 + u3*y3 + (u0*v1 - u1*v0)*(-u2*y0 + u2*y2 + (v2 - u2*v0/u0)*(u1*y0 - u1*y1)/(v1 - u1*v0/u0))*((1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) - 1 + u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + (v3 - u3*v0/u0)*(u1*y0 - u1*y1)/(v1 - u1*v0/u0))*(v3*x3 + (u0*v1 - u1*v0)*(v2*x2 - (v2 - u2*v0/u0)*(v1*x1 - u1*v0*x0/u0)/(v1 - u1*v0/u0) - u2*v0*x0/u0)*((1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) - 1 + u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (v3 - u3*v0/u0)*(v1*x1 - u1*v0*x0/u0)/(v1 - u1*v0/u0) - u3*v0*x0/u0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1)/(u0*u1*(x0 - x1)*(u0*v3 - u3*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - u0*u3*(x0 - x3)*(u0*v1 - u1*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + (u1*(x0 - x1)*(u0*v2 - u2*v0) - u2*(x0 - x2)*(u0*v1 - u1*v0))*(-u0*(u0*v1 - u1*v0) + u3*(u0*v1 - u1*v0) + (u0 - u1)*(u0*v3 - u3*v0))) - v3*y3 + (u0*v1 - u1*v0)*(-v2*y2 + (v2 - u2*v0/u0)*(v1*y1 - u1*v0*y0/u0)/(v1 - u1*v0/u0) + u2*v0*y0/u0)*((1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) - 1 + u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + (v3 - u3*v0/u0)*(v1*y1 - u1*v0*y0/u0)/(v1 - u1*v0/u0) + u3*v0*y0/u0)) + y1*(-(-u0*Math.pow(u0*v1 - u1*v0,2)*(u2*y0 - u2*y2 - (v2 - u2*v0/u0)*(u1*y0 - u1*y1)/(v1 - u1*v0/u0))*(-v3*x3 - (u0*v1 - u1*v0)*(-v2*x2 - (v2 - u2*v0/u0)*(-v1*x1 + u1*v0*x0/u0)/(v1 - u1*v0/u0) + u2*v0*x0/u0)*(-(1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) + 1 - u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (v3 - u3*v0/u0)*(-v1*x1 + u1*v0*x0/u0)/(v1 - u1*v0/u0) + u3*v0*x0/u0)/(-u0*u1*(x0 - x1)*(u0*v3 - u3*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + u0*u3*(x0 - x3)*(u0*v1 - u1*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (u1*(x0 - x1)*(u0*v2 - u2*v0) + u2*(-x0 + x2)*(u0*v1 - u1*v0))*(u0*(-u0*v1 + u1*v0) + u3*(u0*v1 - u1*v0) + (u0 - u1)*(u0*v3 - u3*v0))) + (u0*v1 - u1*v0)*(-v2*y2 - (v2 - u2*v0/u0)*(-v1*y1 + u1*v0*y0/u0)/(v1 - u1*v0/u0) + u2*v0*y0/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1))*((v2 - u2*v0/u0)*(u0*v1 - u1*v0)*(-(1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) + 1 - u3/u0)/((v1 - u1*v0/u0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1)) - (v3 - u3*v0/u0)/(v1 - u1*v0/u0))/(u0*(u0*v1 - u1*v0)*(-u3*y0 + u3*y3 + (u0*v1 - u1*v0)*(-u2*y0 + u2*y2 + (v2 - u2*v0/u0)*(u1*y0 - u1*y1)/(v1 - u1*v0/u0))*((1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) - 1 + u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + (v3 - u3*v0/u0)*(u1*y0 - u1*y1)/(v1 - u1*v0/u0))*(v3*x3 + (u0*v1 - u1*v0)*(v2*x2 - (v2 - u2*v0/u0)*(v1*x1 - u1*v0*x0/u0)/(v1 - u1*v0/u0) - u2*v0*x0/u0)*((1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) - 1 + u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (v3 - u3*v0/u0)*(v1*x1 - u1*v0*x0/u0)/(v1 - u1*v0/u0) - u3*v0*x0/u0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1)/(u0*u1*(x0 - x1)*(u0*v3 - u3*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - u0*u3*(x0 - x3)*(u0*v1 - u1*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + (u1*(x0 - x1)*(u0*v2 - u2*v0) - u2*(x0 - x2)*(u0*v1 - u1*v0))*(-u0*(u0*v1 - u1*v0) + u3*(u0*v1 - u1*v0) + (u0 - u1)*(u0*v3 - u3*v0))) - v3*y3 + (u0*v1 - u1*v0)*(-v2*y2 + (v2 - u2*v0/u0)*(v1*y1 - u1*v0*y0/u0)/(v1 - u1*v0/u0) + u2*v0*y0/u0)*((1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) - 1 + u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + (v3 - u3*v0/u0)*(v1*y1 - u1*v0*y0/u0)/(v1 - u1*v0/u0) + u3*v0*y0/u0) - (v2 - u2*v0/u0)*(u0*v1 - u1*v0)/((v1 - u1*v0/u0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1))) + y2*((u0*v1 - u1*v0)*(-u0*Math.pow(u0*v1 - u1*v0,2)*(u2*y0 - u2*y2 - (v2 - u2*v0/u0)*(u1*y0 - u1*y1)/(v1 - u1*v0/u0))*(-v3*x3 - (u0*v1 - u1*v0)*(-v2*x2 - (v2 - u2*v0/u0)*(-v1*x1 + u1*v0*x0/u0)/(v1 - u1*v0/u0) + u2*v0*x0/u0)*(-(1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) + 1 - u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (v3 - u3*v0/u0)*(-v1*x1 + u1*v0*x0/u0)/(v1 - u1*v0/u0) + u3*v0*x0/u0)/(-u0*u1*(x0 - x1)*(u0*v3 - u3*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + u0*u3*(x0 - x3)*(u0*v1 - u1*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (u1*(x0 - x1)*(u0*v2 - u2*v0) + u2*(-x0 + x2)*(u0*v1 - u1*v0))*(u0*(-u0*v1 + u1*v0) + u3*(u0*v1 - u1*v0) + (u0 - u1)*(u0*v3 - u3*v0))) + (u0*v1 - u1*v0)*(-v2*y2 - (v2 - u2*v0/u0)*(-v1*y1 + u1*v0*y0/u0)/(v1 - u1*v0/u0) + u2*v0*y0/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1))*(-(1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) + 1 - u3/u0)/((u0*(u0*v1 - u1*v0)*(-u3*y0 + u3*y3 + (u0*v1 - u1*v0)*(-u2*y0 + u2*y2 + (v2 - u2*v0/u0)*(u1*y0 - u1*y1)/(v1 - u1*v0/u0))*((1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) - 1 + u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + (v3 - u3*v0/u0)*(u1*y0 - u1*y1)/(v1 - u1*v0/u0))*(v3*x3 + (u0*v1 - u1*v0)*(v2*x2 - (v2 - u2*v0/u0)*(v1*x1 - u1*v0*x0/u0)/(v1 - u1*v0/u0) - u2*v0*x0/u0)*((1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) - 1 + u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (v3 - u3*v0/u0)*(v1*x1 - u1*v0*x0/u0)/(v1 - u1*v0/u0) - u3*v0*x0/u0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1)/(u0*u1*(x0 - x1)*(u0*v3 - u3*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - u0*u3*(x0 - x3)*(u0*v1 - u1*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + (u1*(x0 - x1)*(u0*v2 - u2*v0) - u2*(x0 - x2)*(u0*v1 - u1*v0))*(-u0*(u0*v1 - u1*v0) + u3*(u0*v1 - u1*v0) + (u0 - u1)*(u0*v3 - u3*v0))) - v3*y3 + (u0*v1 - u1*v0)*(-v2*y2 + (v2 - u2*v0/u0)*(v1*y1 - u1*v0*y0/u0)/(v1 - u1*v0/u0) + u2*v0*y0/u0)*((1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) - 1 + u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + (v3 - u3*v0/u0)*(v1*y1 - u1*v0*y0/u0)/(v1 - u1*v0/u0) + u3*v0*y0/u0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1)) + (u0*v1 - u1*v0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1)) - y3*(-u0*Math.pow(u0*v1 - u1*v0,2)*(u2*y0 - u2*y2 - (v2 - u2*v0/u0)*(u1*y0 - u1*y1)/(v1 - u1*v0/u0))*(-v3*x3 - (u0*v1 - u1*v0)*(-v2*x2 - (v2 - u2*v0/u0)*(-v1*x1 + u1*v0*x0/u0)/(v1 - u1*v0/u0) + u2*v0*x0/u0)*(-(1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) + 1 - u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (v3 - u3*v0/u0)*(-v1*x1 + u1*v0*x0/u0)/(v1 - u1*v0/u0) + u3*v0*x0/u0)/(-u0*u1*(x0 - x1)*(u0*v3 - u3*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + u0*u3*(x0 - x3)*(u0*v1 - u1*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (u1*(x0 - x1)*(u0*v2 - u2*v0) + u2*(-x0 + x2)*(u0*v1 - u1*v0))*(u0*(-u0*v1 + u1*v0) + u3*(u0*v1 - u1*v0) + (u0 - u1)*(u0*v3 - u3*v0))) + (u0*v1 - u1*v0)*(-v2*y2 - (v2 - u2*v0/u0)*(-v1*y1 + u1*v0*y0/u0)/(v1 - u1*v0/u0) + u2*v0*y0/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1))/(u0*(u0*v1 - u1*v0)*(-u3*y0 + u3*y3 + (u0*v1 - u1*v0)*(-u2*y0 + u2*y2 + (v2 - u2*v0/u0)*(u1*y0 - u1*y1)/(v1 - u1*v0/u0))*((1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) - 1 + u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + (v3 - u3*v0/u0)*(u1*y0 - u1*y1)/(v1 - u1*v0/u0))*(v3*x3 + (u0*v1 - u1*v0)*(v2*x2 - (v2 - u2*v0/u0)*(v1*x1 - u1*v0*x0/u0)/(v1 - u1*v0/u0) - u2*v0*x0/u0)*((1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) - 1 + u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (v3 - u3*v0/u0)*(v1*x1 - u1*v0*x0/u0)/(v1 - u1*v0/u0) - u3*v0*x0/u0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1)/(u0*u1*(x0 - x1)*(u0*v3 - u3*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - u0*u3*(x0 - x3)*(u0*v1 - u1*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + (u1*(x0 - x1)*(u0*v2 - u2*v0) - u2*(x0 - x2)*(u0*v1 - u1*v0))*(-u0*(u0*v1 - u1*v0) + u3*(u0*v1 - u1*v0) + (u0 - u1)*(u0*v3 - u3*v0))) - v3*y3 + (u0*v1 - u1*v0)*(-v2*y2 + (v2 - u2*v0/u0)*(v1*y1 - u1*v0*y0/u0)/(v1 - u1*v0/u0) + u2*v0*y0/u0)*((1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) - 1 + u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + (v3 - u3*v0/u0)*(v1*y1 - u1*v0*y0/u0)/(v1 - u1*v0/u0) + u3*v0*y0/u0), | |
g = -u0*y0*(u0*v1 - u1*v0)*(-(u0*v1 - u1*v0)*(u1*(v2 - u2*v0/u0)/(u0*(v1 - u1*v0/u0)) - u2/u0)*(-(1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) + 1 - u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + u1*(v3 - u3*v0/u0)/(u0*(v1 - u1*v0/u0)) - u3/u0)*(-v3*x3 - (u0*v1 - u1*v0)*(-v2*x2 - (v2 - u2*v0/u0)*(-v1*x1 + u1*v0*x0/u0)/(v1 - u1*v0/u0) + u2*v0*x0/u0)*(-(1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) + 1 - u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (v3 - u3*v0/u0)*(-v1*x1 + u1*v0*x0/u0)/(v1 - u1*v0/u0) + u3*v0*x0/u0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1)/((-u0*u1*(x0 - x1)*(u0*v3 - u3*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + u0*u3*(x0 - x3)*(u0*v1 - u1*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (u1*(x0 - x1)*(u0*v2 - u2*v0) + u2*(-x0 + x2)*(u0*v1 - u1*v0))*(u0*(-u0*v1 + u1*v0) + u3*(u0*v1 - u1*v0) + (u0 - u1)*(u0*v3 - u3*v0)))*(u0*(u0*v1 - u1*v0)*(-u3*y0 + u3*y3 + (u0*v1 - u1*v0)*(-u2*y0 + u2*y2 + (v2 - u2*v0/u0)*(u1*y0 - u1*y1)/(v1 - u1*v0/u0))*((1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) - 1 + u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + (v3 - u3*v0/u0)*(u1*y0 - u1*y1)/(v1 - u1*v0/u0))*(v3*x3 + (u0*v1 - u1*v0)*(v2*x2 - (v2 - u2*v0/u0)*(v1*x1 - u1*v0*x0/u0)/(v1 - u1*v0/u0) - u2*v0*x0/u0)*((1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) - 1 + u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (v3 - u3*v0/u0)*(v1*x1 - u1*v0*x0/u0)/(v1 - u1*v0/u0) - u3*v0*x0/u0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1)/(u0*u1*(x0 - x1)*(u0*v3 - u3*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - u0*u3*(x0 - x3)*(u0*v1 - u1*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + (u1*(x0 - x1)*(u0*v2 - u2*v0) - u2*(x0 - x2)*(u0*v1 - u1*v0))*(-u0*(u0*v1 - u1*v0) + u3*(u0*v1 - u1*v0) + (u0 - u1)*(u0*v3 - u3*v0))) - v3*y3 + (u0*v1 - u1*v0)*(-v2*y2 + (v2 - u2*v0/u0)*(v1*y1 - u1*v0*y0/u0)/(v1 - u1*v0/u0) + u2*v0*y0/u0)*((1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) - 1 + u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + (v3 - u3*v0/u0)*(v1*y1 - u1*v0*y0/u0)/(v1 - u1*v0/u0) + u3*v0*y0/u0)) - u0*y1*(u0*v1 - u1*v0)*((v2 - u2*v0/u0)*(u0*v1 - u1*v0)*(-(1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) + 1 - u3/u0)/((v1 - u1*v0/u0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1)) - (v3 - u3*v0/u0)/(v1 - u1*v0/u0))*(-v3*x3 - (u0*v1 - u1*v0)*(-v2*x2 - (v2 - u2*v0/u0)*(-v1*x1 + u1*v0*x0/u0)/(v1 - u1*v0/u0) + u2*v0*x0/u0)*(-(1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) + 1 - u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (v3 - u3*v0/u0)*(-v1*x1 + u1*v0*x0/u0)/(v1 - u1*v0/u0) + u3*v0*x0/u0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1)/((-u0*u1*(x0 - x1)*(u0*v3 - u3*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + u0*u3*(x0 - x3)*(u0*v1 - u1*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (u1*(x0 - x1)*(u0*v2 - u2*v0) + u2*(-x0 + x2)*(u0*v1 - u1*v0))*(u0*(-u0*v1 + u1*v0) + u3*(u0*v1 - u1*v0) + (u0 - u1)*(u0*v3 - u3*v0)))*(u0*(u0*v1 - u1*v0)*(-u3*y0 + u3*y3 + (u0*v1 - u1*v0)*(-u2*y0 + u2*y2 + (v2 - u2*v0/u0)*(u1*y0 - u1*y1)/(v1 - u1*v0/u0))*((1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) - 1 + u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + (v3 - u3*v0/u0)*(u1*y0 - u1*y1)/(v1 - u1*v0/u0))*(v3*x3 + (u0*v1 - u1*v0)*(v2*x2 - (v2 - u2*v0/u0)*(v1*x1 - u1*v0*x0/u0)/(v1 - u1*v0/u0) - u2*v0*x0/u0)*((1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) - 1 + u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (v3 - u3*v0/u0)*(v1*x1 - u1*v0*x0/u0)/(v1 - u1*v0/u0) - u3*v0*x0/u0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1)/(u0*u1*(x0 - x1)*(u0*v3 - u3*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - u0*u3*(x0 - x3)*(u0*v1 - u1*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + (u1*(x0 - x1)*(u0*v2 - u2*v0) - u2*(x0 - x2)*(u0*v1 - u1*v0))*(-u0*(u0*v1 - u1*v0) + u3*(u0*v1 - u1*v0) + (u0 - u1)*(u0*v3 - u3*v0))) - v3*y3 + (u0*v1 - u1*v0)*(-v2*y2 + (v2 - u2*v0/u0)*(v1*y1 - u1*v0*y0/u0)/(v1 - u1*v0/u0) + u2*v0*y0/u0)*((1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) - 1 + u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + (v3 - u3*v0/u0)*(v1*y1 - u1*v0*y0/u0)/(v1 - u1*v0/u0) + u3*v0*y0/u0)) + u0*y2*Math.pow(u0*v1 - u1*v0,2)*(-(1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) + 1 - u3/u0)*(-v3*x3 - (u0*v1 - u1*v0)*(-v2*x2 - (v2 - u2*v0/u0)*(-v1*x1 + u1*v0*x0/u0)/(v1 - u1*v0/u0) + u2*v0*x0/u0)*(-(1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) + 1 - u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (v3 - u3*v0/u0)*(-v1*x1 + u1*v0*x0/u0)/(v1 - u1*v0/u0) + u3*v0*x0/u0)/((-u0*u1*(x0 - x1)*(u0*v3 - u3*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + u0*u3*(x0 - x3)*(u0*v1 - u1*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (u1*(x0 - x1)*(u0*v2 - u2*v0) + u2*(-x0 + x2)*(u0*v1 - u1*v0))*(u0*(-u0*v1 + u1*v0) + u3*(u0*v1 - u1*v0) + (u0 - u1)*(u0*v3 - u3*v0)))*(u0*(u0*v1 - u1*v0)*(-u3*y0 + u3*y3 + (u0*v1 - u1*v0)*(-u2*y0 + u2*y2 + (v2 - u2*v0/u0)*(u1*y0 - u1*y1)/(v1 - u1*v0/u0))*((1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) - 1 + u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + (v3 - u3*v0/u0)*(u1*y0 - u1*y1)/(v1 - u1*v0/u0))*(v3*x3 + (u0*v1 - u1*v0)*(v2*x2 - (v2 - u2*v0/u0)*(v1*x1 - u1*v0*x0/u0)/(v1 - u1*v0/u0) - u2*v0*x0/u0)*((1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) - 1 + u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (v3 - u3*v0/u0)*(v1*x1 - u1*v0*x0/u0)/(v1 - u1*v0/u0) - u3*v0*x0/u0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1)/(u0*u1*(x0 - x1)*(u0*v3 - u3*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - u0*u3*(x0 - x3)*(u0*v1 - u1*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + (u1*(x0 - x1)*(u0*v2 - u2*v0) - u2*(x0 - x2)*(u0*v1 - u1*v0))*(-u0*(u0*v1 - u1*v0) + u3*(u0*v1 - u1*v0) + (u0 - u1)*(u0*v3 - u3*v0))) - v3*y3 + (u0*v1 - u1*v0)*(-v2*y2 + (v2 - u2*v0/u0)*(v1*y1 - u1*v0*y0/u0)/(v1 - u1*v0/u0) + u2*v0*y0/u0)*((1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) - 1 + u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + (v3 - u3*v0/u0)*(v1*y1 - u1*v0*y0/u0)/(v1 - u1*v0/u0) + u3*v0*y0/u0)) - u0*y3*(u0*v1 - u1*v0)*(-v3*x3 - (u0*v1 - u1*v0)*(-v2*x2 - (v2 - u2*v0/u0)*(-v1*x1 + u1*v0*x0/u0)/(v1 - u1*v0/u0) + u2*v0*x0/u0)*(-(1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) + 1 - u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (v3 - u3*v0/u0)*(-v1*x1 + u1*v0*x0/u0)/(v1 - u1*v0/u0) + u3*v0*x0/u0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1)/((-u0*u1*(x0 - x1)*(u0*v3 - u3*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + u0*u3*(x0 - x3)*(u0*v1 - u1*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (u1*(x0 - x1)*(u0*v2 - u2*v0) + u2*(-x0 + x2)*(u0*v1 - u1*v0))*(u0*(-u0*v1 + u1*v0) + u3*(u0*v1 - u1*v0) + (u0 - u1)*(u0*v3 - u3*v0)))*(u0*(u0*v1 - u1*v0)*(-u3*y0 + u3*y3 + (u0*v1 - u1*v0)*(-u2*y0 + u2*y2 + (v2 - u2*v0/u0)*(u1*y0 - u1*y1)/(v1 - u1*v0/u0))*((1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) - 1 + u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + (v3 - u3*v0/u0)*(u1*y0 - u1*y1)/(v1 - u1*v0/u0))*(v3*x3 + (u0*v1 - u1*v0)*(v2*x2 - (v2 - u2*v0/u0)*(v1*x1 - u1*v0*x0/u0)/(v1 - u1*v0/u0) - u2*v0*x0/u0)*((1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) - 1 + u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (v3 - u3*v0/u0)*(v1*x1 - u1*v0*x0/u0)/(v1 - u1*v0/u0) - u3*v0*x0/u0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1)/(u0*u1*(x0 - x1)*(u0*v3 - u3*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - u0*u3*(x0 - x3)*(u0*v1 - u1*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + (u1*(x0 - x1)*(u0*v2 - u2*v0) - u2*(x0 - x2)*(u0*v1 - u1*v0))*(-u0*(u0*v1 - u1*v0) + u3*(u0*v1 - u1*v0) + (u0 - u1)*(u0*v3 - u3*v0))) - v3*y3 + (u0*v1 - u1*v0)*(-v2*y2 + (v2 - u2*v0/u0)*(v1*y1 - u1*v0*y0/u0)/(v1 - u1*v0/u0) + u2*v0*y0/u0)*((1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) - 1 + u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + (v3 - u3*v0/u0)*(v1*y1 - u1*v0*y0/u0)/(v1 - u1*v0/u0) + u3*v0*y0/u0)) + x0*(Math.pow(u0,2)*Math.pow(u0*v1 - u1*v0,2)*(-(u0*v1 - u1*v0)*(u1*(v2 - u2*v0/u0)/(u0*(v1 - u1*v0/u0)) - u2/u0)*(-(1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) + 1 - u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + u1*(v3 - u3*v0/u0)/(u0*(v1 - u1*v0/u0)) - u3/u0)*(u3*y0 - u3*y3 - (u0*v1 - u1*v0)*(u2*y0 - u2*y2 - (v2 - u2*v0/u0)*(u1*y0 - u1*y1)/(v1 - u1*v0/u0))*(-(1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) + 1 - u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (v3 - u3*v0/u0)*(u1*y0 - u1*y1)/(v1 - u1*v0/u0))*(-v3*x3 - (u0*v1 - u1*v0)*(-v2*x2 - (v2 - u2*v0/u0)*(-v1*x1 + u1*v0*x0/u0)/(v1 - u1*v0/u0) + u2*v0*x0/u0)*(-(1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) + 1 - u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (v3 - u3*v0/u0)*(-v1*x1 + u1*v0*x0/u0)/(v1 - u1*v0/u0) + u3*v0*x0/u0)*Math.pow(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1,2)/(Math.pow(-u0*u1*(x0 - x1)*(u0*v3 - u3*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + u0*u3*(x0 - x3)*(u0*v1 - u1*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (u1*(x0 - x1)*(u0*v2 - u2*v0) + u2*(-x0 + x2)*(u0*v1 - u1*v0))*(u0*(-u0*v1 + u1*v0) + u3*(u0*v1 - u1*v0) + (u0 - u1)*(u0*v3 - u3*v0)),2)*(u0*(u0*v1 - u1*v0)*(-u3*y0 + u3*y3 + (u0*v1 - u1*v0)*(-u2*y0 + u2*y2 + (v2 - u2*v0/u0)*(u1*y0 - u1*y1)/(v1 - u1*v0/u0))*((1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) - 1 + u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + (v3 - u3*v0/u0)*(u1*y0 - u1*y1)/(v1 - u1*v0/u0))*(v3*x3 + (u0*v1 - u1*v0)*(v2*x2 - (v2 - u2*v0/u0)*(v1*x1 - u1*v0*x0/u0)/(v1 - u1*v0/u0) - u2*v0*x0/u0)*((1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) - 1 + u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (v3 - u3*v0/u0)*(v1*x1 - u1*v0*x0/u0)/(v1 - u1*v0/u0) - u3*v0*x0/u0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1)/(u0*u1*(x0 - x1)*(u0*v3 - u3*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - u0*u3*(x0 - x3)*(u0*v1 - u1*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + (u1*(x0 - x1)*(u0*v2 - u2*v0) - u2*(x0 - x2)*(u0*v1 - u1*v0))*(-u0*(u0*v1 - u1*v0) + u3*(u0*v1 - u1*v0) + (u0 - u1)*(u0*v3 - u3*v0))) - v3*y3 + (u0*v1 - u1*v0)*(-v2*y2 + (v2 - u2*v0/u0)*(v1*y1 - u1*v0*y0/u0)/(v1 - u1*v0/u0) + u2*v0*y0/u0)*((1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) - 1 + u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + (v3 - u3*v0/u0)*(v1*y1 - u1*v0*y0/u0)/(v1 - u1*v0/u0) + u3*v0*y0/u0)) + u0*(u0*v1 - u1*v0)*(-(u0*v1 - u1*v0)*(u1*(v2 - u2*v0/u0)/(u0*(v1 - u1*v0/u0)) - u2/u0)*(-(1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) + 1 - u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + u1*(v3 - u3*v0/u0)/(u0*(v1 - u1*v0/u0)) - u3/u0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1)/(-u0*u1*(x0 - x1)*(u0*v3 - u3*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + u0*u3*(x0 - x3)*(u0*v1 - u1*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (u1*(x0 - x1)*(u0*v2 - u2*v0) + u2*(-x0 + x2)*(u0*v1 - u1*v0))*(u0*(-u0*v1 + u1*v0) + u3*(u0*v1 - u1*v0) + (u0 - u1)*(u0*v3 - u3*v0)))) + x1*(Math.pow(u0,2)*Math.pow(u0*v1 - u1*v0,2)*((v2 - u2*v0/u0)*(u0*v1 - u1*v0)*(-(1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) + 1 - u3/u0)/((v1 - u1*v0/u0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1)) - (v3 - u3*v0/u0)/(v1 - u1*v0/u0))*(u3*y0 - u3*y3 - (u0*v1 - u1*v0)*(u2*y0 - u2*y2 - (v2 - u2*v0/u0)*(u1*y0 - u1*y1)/(v1 - u1*v0/u0))*(-(1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) + 1 - u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (v3 - u3*v0/u0)*(u1*y0 - u1*y1)/(v1 - u1*v0/u0))*(-v3*x3 - (u0*v1 - u1*v0)*(-v2*x2 - (v2 - u2*v0/u0)*(-v1*x1 + u1*v0*x0/u0)/(v1 - u1*v0/u0) + u2*v0*x0/u0)*(-(1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) + 1 - u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (v3 - u3*v0/u0)*(-v1*x1 + u1*v0*x0/u0)/(v1 - u1*v0/u0) + u3*v0*x0/u0)*Math.pow(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1,2)/(Math.pow(-u0*u1*(x0 - x1)*(u0*v3 - u3*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + u0*u3*(x0 - x3)*(u0*v1 - u1*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (u1*(x0 - x1)*(u0*v2 - u2*v0) + u2*(-x0 + x2)*(u0*v1 - u1*v0))*(u0*(-u0*v1 + u1*v0) + u3*(u0*v1 - u1*v0) + (u0 - u1)*(u0*v3 - u3*v0)),2)*(u0*(u0*v1 - u1*v0)*(-u3*y0 + u3*y3 + (u0*v1 - u1*v0)*(-u2*y0 + u2*y2 + (v2 - u2*v0/u0)*(u1*y0 - u1*y1)/(v1 - u1*v0/u0))*((1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) - 1 + u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + (v3 - u3*v0/u0)*(u1*y0 - u1*y1)/(v1 - u1*v0/u0))*(v3*x3 + (u0*v1 - u1*v0)*(v2*x2 - (v2 - u2*v0/u0)*(v1*x1 - u1*v0*x0/u0)/(v1 - u1*v0/u0) - u2*v0*x0/u0)*((1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) - 1 + u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (v3 - u3*v0/u0)*(v1*x1 - u1*v0*x0/u0)/(v1 - u1*v0/u0) - u3*v0*x0/u0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1)/(u0*u1*(x0 - x1)*(u0*v3 - u3*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - u0*u3*(x0 - x3)*(u0*v1 - u1*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + (u1*(x0 - x1)*(u0*v2 - u2*v0) - u2*(x0 - x2)*(u0*v1 - u1*v0))*(-u0*(u0*v1 - u1*v0) + u3*(u0*v1 - u1*v0) + (u0 - u1)*(u0*v3 - u3*v0))) - v3*y3 + (u0*v1 - u1*v0)*(-v2*y2 + (v2 - u2*v0/u0)*(v1*y1 - u1*v0*y0/u0)/(v1 - u1*v0/u0) + u2*v0*y0/u0)*((1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) - 1 + u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + (v3 - u3*v0/u0)*(v1*y1 - u1*v0*y0/u0)/(v1 - u1*v0/u0) + u3*v0*y0/u0)) + u0*(u0*v1 - u1*v0)*((v2 - u2*v0/u0)*(u0*v1 - u1*v0)*(-(1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) + 1 - u3/u0)/((v1 - u1*v0/u0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1)) - (v3 - u3*v0/u0)/(v1 - u1*v0/u0))*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1)/(-u0*u1*(x0 - x1)*(u0*v3 - u3*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + u0*u3*(x0 - x3)*(u0*v1 - u1*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (u1*(x0 - x1)*(u0*v2 - u2*v0) + u2*(-x0 + x2)*(u0*v1 - u1*v0))*(u0*(-u0*v1 + u1*v0) + u3*(u0*v1 - u1*v0) + (u0 - u1)*(u0*v3 - u3*v0)))) + x2*(-Math.pow(u0,2)*Math.pow(u0*v1 - u1*v0,3)*(-(1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) + 1 - u3/u0)*(u3*y0 - u3*y3 - (u0*v1 - u1*v0)*(u2*y0 - u2*y2 - (v2 - u2*v0/u0)*(u1*y0 - u1*y1)/(v1 - u1*v0/u0))*(-(1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) + 1 - u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (v3 - u3*v0/u0)*(u1*y0 - u1*y1)/(v1 - u1*v0/u0))*(-v3*x3 - (u0*v1 - u1*v0)*(-v2*x2 - (v2 - u2*v0/u0)*(-v1*x1 + u1*v0*x0/u0)/(v1 - u1*v0/u0) + u2*v0*x0/u0)*(-(1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) + 1 - u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (v3 - u3*v0/u0)*(-v1*x1 + u1*v0*x0/u0)/(v1 - u1*v0/u0) + u3*v0*x0/u0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1)/(Math.pow(-u0*u1*(x0 - x1)*(u0*v3 - u3*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + u0*u3*(x0 - x3)*(u0*v1 - u1*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (u1*(x0 - x1)*(u0*v2 - u2*v0) + u2*(-x0 + x2)*(u0*v1 - u1*v0))*(u0*(-u0*v1 + u1*v0) + u3*(u0*v1 - u1*v0) + (u0 - u1)*(u0*v3 - u3*v0)),2)*(u0*(u0*v1 - u1*v0)*(-u3*y0 + u3*y3 + (u0*v1 - u1*v0)*(-u2*y0 + u2*y2 + (v2 - u2*v0/u0)*(u1*y0 - u1*y1)/(v1 - u1*v0/u0))*((1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) - 1 + u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + (v3 - u3*v0/u0)*(u1*y0 - u1*y1)/(v1 - u1*v0/u0))*(v3*x3 + (u0*v1 - u1*v0)*(v2*x2 - (v2 - u2*v0/u0)*(v1*x1 - u1*v0*x0/u0)/(v1 - u1*v0/u0) - u2*v0*x0/u0)*((1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) - 1 + u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (v3 - u3*v0/u0)*(v1*x1 - u1*v0*x0/u0)/(v1 - u1*v0/u0) - u3*v0*x0/u0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1)/(u0*u1*(x0 - x1)*(u0*v3 - u3*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - u0*u3*(x0 - x3)*(u0*v1 - u1*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + (u1*(x0 - x1)*(u0*v2 - u2*v0) - u2*(x0 - x2)*(u0*v1 - u1*v0))*(-u0*(u0*v1 - u1*v0) + u3*(u0*v1 - u1*v0) + (u0 - u1)*(u0*v3 - u3*v0))) - v3*y3 + (u0*v1 - u1*v0)*(-v2*y2 + (v2 - u2*v0/u0)*(v1*y1 - u1*v0*y0/u0)/(v1 - u1*v0/u0) + u2*v0*y0/u0)*((1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) - 1 + u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + (v3 - u3*v0/u0)*(v1*y1 - u1*v0*y0/u0)/(v1 - u1*v0/u0) + u3*v0*y0/u0)) - u0*Math.pow(u0*v1 - u1*v0,2)*(-(1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) + 1 - u3/u0)/(-u0*u1*(x0 - x1)*(u0*v3 - u3*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + u0*u3*(x0 - x3)*(u0*v1 - u1*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (u1*(x0 - x1)*(u0*v2 - u2*v0) + u2*(-x0 + x2)*(u0*v1 - u1*v0))*(u0*(-u0*v1 + u1*v0) + u3*(u0*v1 - u1*v0) + (u0 - u1)*(u0*v3 - u3*v0)))) + x3*(Math.pow(u0,2)*Math.pow(u0*v1 - u1*v0,2)*(u3*y0 - u3*y3 - (u0*v1 - u1*v0)*(u2*y0 - u2*y2 - (v2 - u2*v0/u0)*(u1*y0 - u1*y1)/(v1 - u1*v0/u0))*(-(1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) + 1 - u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (v3 - u3*v0/u0)*(u1*y0 - u1*y1)/(v1 - u1*v0/u0))*(-v3*x3 - (u0*v1 - u1*v0)*(-v2*x2 - (v2 - u2*v0/u0)*(-v1*x1 + u1*v0*x0/u0)/(v1 - u1*v0/u0) + u2*v0*x0/u0)*(-(1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) + 1 - u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (v3 - u3*v0/u0)*(-v1*x1 + u1*v0*x0/u0)/(v1 - u1*v0/u0) + u3*v0*x0/u0)*Math.pow(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1,2)/(Math.pow(-u0*u1*(x0 - x1)*(u0*v3 - u3*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + u0*u3*(x0 - x3)*(u0*v1 - u1*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (u1*(x0 - x1)*(u0*v2 - u2*v0) + u2*(-x0 + x2)*(u0*v1 - u1*v0))*(u0*(-u0*v1 + u1*v0) + u3*(u0*v1 - u1*v0) + (u0 - u1)*(u0*v3 - u3*v0)),2)*(u0*(u0*v1 - u1*v0)*(-u3*y0 + u3*y3 + (u0*v1 - u1*v0)*(-u2*y0 + u2*y2 + (v2 - u2*v0/u0)*(u1*y0 - u1*y1)/(v1 - u1*v0/u0))*((1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) - 1 + u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + (v3 - u3*v0/u0)*(u1*y0 - u1*y1)/(v1 - u1*v0/u0))*(v3*x3 + (u0*v1 - u1*v0)*(v2*x2 - (v2 - u2*v0/u0)*(v1*x1 - u1*v0*x0/u0)/(v1 - u1*v0/u0) - u2*v0*x0/u0)*((1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) - 1 + u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (v3 - u3*v0/u0)*(v1*x1 - u1*v0*x0/u0)/(v1 - u1*v0/u0) - u3*v0*x0/u0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1)/(u0*u1*(x0 - x1)*(u0*v3 - u3*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - u0*u3*(x0 - x3)*(u0*v1 - u1*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + (u1*(x0 - x1)*(u0*v2 - u2*v0) - u2*(x0 - x2)*(u0*v1 - u1*v0))*(-u0*(u0*v1 - u1*v0) + u3*(u0*v1 - u1*v0) + (u0 - u1)*(u0*v3 - u3*v0))) - v3*y3 + (u0*v1 - u1*v0)*(-v2*y2 + (v2 - u2*v0/u0)*(v1*y1 - u1*v0*y0/u0)/(v1 - u1*v0/u0) + u2*v0*y0/u0)*((1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) - 1 + u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + (v3 - u3*v0/u0)*(v1*y1 - u1*v0*y0/u0)/(v1 - u1*v0/u0) + u3*v0*y0/u0)) + u0*(u0*v1 - u1*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1)/(-u0*u1*(x0 - x1)*(u0*v3 - u3*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + u0*u3*(x0 - x3)*(u0*v1 - u1*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (u1*(x0 - x1)*(u0*v2 - u2*v0) + u2*(-x0 + x2)*(u0*v1 - u1*v0))*(u0*(-u0*v1 + u1*v0) + u3*(u0*v1 - u1*v0) + (u0 - u1)*(u0*v3 - u3*v0)))), | |
h = -u0*x0*(u0*v1 - u1*v0)*(-(u0*v1 - u1*v0)*(u1*(v2 - u2*v0/u0)/(u0*(v1 - u1*v0/u0)) - u2/u0)*(-(1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) + 1 - u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + u1*(v3 - u3*v0/u0)/(u0*(v1 - u1*v0/u0)) - u3/u0)*(u3*y0 - u3*y3 - (u0*v1 - u1*v0)*(u2*y0 - u2*y2 - (v2 - u2*v0/u0)*(u1*y0 - u1*y1)/(v1 - u1*v0/u0))*(-(1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) + 1 - u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (v3 - u3*v0/u0)*(u1*y0 - u1*y1)/(v1 - u1*v0/u0))*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1)/((-u0*u1*(x0 - x1)*(u0*v3 - u3*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + u0*u3*(x0 - x3)*(u0*v1 - u1*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (u1*(x0 - x1)*(u0*v2 - u2*v0) + u2*(-x0 + x2)*(u0*v1 - u1*v0))*(u0*(-u0*v1 + u1*v0) + u3*(u0*v1 - u1*v0) + (u0 - u1)*(u0*v3 - u3*v0)))*(u0*(u0*v1 - u1*v0)*(-u3*y0 + u3*y3 + (u0*v1 - u1*v0)*(-u2*y0 + u2*y2 + (v2 - u2*v0/u0)*(u1*y0 - u1*y1)/(v1 - u1*v0/u0))*((1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) - 1 + u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + (v3 - u3*v0/u0)*(u1*y0 - u1*y1)/(v1 - u1*v0/u0))*(v3*x3 + (u0*v1 - u1*v0)*(v2*x2 - (v2 - u2*v0/u0)*(v1*x1 - u1*v0*x0/u0)/(v1 - u1*v0/u0) - u2*v0*x0/u0)*((1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) - 1 + u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (v3 - u3*v0/u0)*(v1*x1 - u1*v0*x0/u0)/(v1 - u1*v0/u0) - u3*v0*x0/u0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1)/(u0*u1*(x0 - x1)*(u0*v3 - u3*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - u0*u3*(x0 - x3)*(u0*v1 - u1*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + (u1*(x0 - x1)*(u0*v2 - u2*v0) - u2*(x0 - x2)*(u0*v1 - u1*v0))*(-u0*(u0*v1 - u1*v0) + u3*(u0*v1 - u1*v0) + (u0 - u1)*(u0*v3 - u3*v0))) - v3*y3 + (u0*v1 - u1*v0)*(-v2*y2 + (v2 - u2*v0/u0)*(v1*y1 - u1*v0*y0/u0)/(v1 - u1*v0/u0) + u2*v0*y0/u0)*((1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) - 1 + u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + (v3 - u3*v0/u0)*(v1*y1 - u1*v0*y0/u0)/(v1 - u1*v0/u0) + u3*v0*y0/u0)) - u0*x1*(u0*v1 - u1*v0)*((v2 - u2*v0/u0)*(u0*v1 - u1*v0)*(-(1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) + 1 - u3/u0)/((v1 - u1*v0/u0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1)) - (v3 - u3*v0/u0)/(v1 - u1*v0/u0))*(u3*y0 - u3*y3 - (u0*v1 - u1*v0)*(u2*y0 - u2*y2 - (v2 - u2*v0/u0)*(u1*y0 - u1*y1)/(v1 - u1*v0/u0))*(-(1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) + 1 - u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (v3 - u3*v0/u0)*(u1*y0 - u1*y1)/(v1 - u1*v0/u0))*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1)/((-u0*u1*(x0 - x1)*(u0*v3 - u3*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + u0*u3*(x0 - x3)*(u0*v1 - u1*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (u1*(x0 - x1)*(u0*v2 - u2*v0) + u2*(-x0 + x2)*(u0*v1 - u1*v0))*(u0*(-u0*v1 + u1*v0) + u3*(u0*v1 - u1*v0) + (u0 - u1)*(u0*v3 - u3*v0)))*(u0*(u0*v1 - u1*v0)*(-u3*y0 + u3*y3 + (u0*v1 - u1*v0)*(-u2*y0 + u2*y2 + (v2 - u2*v0/u0)*(u1*y0 - u1*y1)/(v1 - u1*v0/u0))*((1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) - 1 + u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + (v3 - u3*v0/u0)*(u1*y0 - u1*y1)/(v1 - u1*v0/u0))*(v3*x3 + (u0*v1 - u1*v0)*(v2*x2 - (v2 - u2*v0/u0)*(v1*x1 - u1*v0*x0/u0)/(v1 - u1*v0/u0) - u2*v0*x0/u0)*((1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) - 1 + u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (v3 - u3*v0/u0)*(v1*x1 - u1*v0*x0/u0)/(v1 - u1*v0/u0) - u3*v0*x0/u0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1)/(u0*u1*(x0 - x1)*(u0*v3 - u3*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - u0*u3*(x0 - x3)*(u0*v1 - u1*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + (u1*(x0 - x1)*(u0*v2 - u2*v0) - u2*(x0 - x2)*(u0*v1 - u1*v0))*(-u0*(u0*v1 - u1*v0) + u3*(u0*v1 - u1*v0) + (u0 - u1)*(u0*v3 - u3*v0))) - v3*y3 + (u0*v1 - u1*v0)*(-v2*y2 + (v2 - u2*v0/u0)*(v1*y1 - u1*v0*y0/u0)/(v1 - u1*v0/u0) + u2*v0*y0/u0)*((1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) - 1 + u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + (v3 - u3*v0/u0)*(v1*y1 - u1*v0*y0/u0)/(v1 - u1*v0/u0) + u3*v0*y0/u0)) + u0*x2*Math.pow(u0*v1 - u1*v0,2)*(-(1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) + 1 - u3/u0)*(u3*y0 - u3*y3 - (u0*v1 - u1*v0)*(u2*y0 - u2*y2 - (v2 - u2*v0/u0)*(u1*y0 - u1*y1)/(v1 - u1*v0/u0))*(-(1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) + 1 - u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (v3 - u3*v0/u0)*(u1*y0 - u1*y1)/(v1 - u1*v0/u0))/((-u0*u1*(x0 - x1)*(u0*v3 - u3*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + u0*u3*(x0 - x3)*(u0*v1 - u1*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (u1*(x0 - x1)*(u0*v2 - u2*v0) + u2*(-x0 + x2)*(u0*v1 - u1*v0))*(u0*(-u0*v1 + u1*v0) + u3*(u0*v1 - u1*v0) + (u0 - u1)*(u0*v3 - u3*v0)))*(u0*(u0*v1 - u1*v0)*(-u3*y0 + u3*y3 + (u0*v1 - u1*v0)*(-u2*y0 + u2*y2 + (v2 - u2*v0/u0)*(u1*y0 - u1*y1)/(v1 - u1*v0/u0))*((1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) - 1 + u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + (v3 - u3*v0/u0)*(u1*y0 - u1*y1)/(v1 - u1*v0/u0))*(v3*x3 + (u0*v1 - u1*v0)*(v2*x2 - (v2 - u2*v0/u0)*(v1*x1 - u1*v0*x0/u0)/(v1 - u1*v0/u0) - u2*v0*x0/u0)*((1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) - 1 + u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (v3 - u3*v0/u0)*(v1*x1 - u1*v0*x0/u0)/(v1 - u1*v0/u0) - u3*v0*x0/u0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1)/(u0*u1*(x0 - x1)*(u0*v3 - u3*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - u0*u3*(x0 - x3)*(u0*v1 - u1*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + (u1*(x0 - x1)*(u0*v2 - u2*v0) - u2*(x0 - x2)*(u0*v1 - u1*v0))*(-u0*(u0*v1 - u1*v0) + u3*(u0*v1 - u1*v0) + (u0 - u1)*(u0*v3 - u3*v0))) - v3*y3 + (u0*v1 - u1*v0)*(-v2*y2 + (v2 - u2*v0/u0)*(v1*y1 - u1*v0*y0/u0)/(v1 - u1*v0/u0) + u2*v0*y0/u0)*((1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) - 1 + u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + (v3 - u3*v0/u0)*(v1*y1 - u1*v0*y0/u0)/(v1 - u1*v0/u0) + u3*v0*y0/u0)) - u0*x3*(u0*v1 - u1*v0)*(u3*y0 - u3*y3 - (u0*v1 - u1*v0)*(u2*y0 - u2*y2 - (v2 - u2*v0/u0)*(u1*y0 - u1*y1)/(v1 - u1*v0/u0))*(-(1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) + 1 - u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (v3 - u3*v0/u0)*(u1*y0 - u1*y1)/(v1 - u1*v0/u0))*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1)/((-u0*u1*(x0 - x1)*(u0*v3 - u3*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + u0*u3*(x0 - x3)*(u0*v1 - u1*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (u1*(x0 - x1)*(u0*v2 - u2*v0) + u2*(-x0 + x2)*(u0*v1 - u1*v0))*(u0*(-u0*v1 + u1*v0) + u3*(u0*v1 - u1*v0) + (u0 - u1)*(u0*v3 - u3*v0)))*(u0*(u0*v1 - u1*v0)*(-u3*y0 + u3*y3 + (u0*v1 - u1*v0)*(-u2*y0 + u2*y2 + (v2 - u2*v0/u0)*(u1*y0 - u1*y1)/(v1 - u1*v0/u0))*((1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) - 1 + u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + (v3 - u3*v0/u0)*(u1*y0 - u1*y1)/(v1 - u1*v0/u0))*(v3*x3 + (u0*v1 - u1*v0)*(v2*x2 - (v2 - u2*v0/u0)*(v1*x1 - u1*v0*x0/u0)/(v1 - u1*v0/u0) - u2*v0*x0/u0)*((1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) - 1 + u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (v3 - u3*v0/u0)*(v1*x1 - u1*v0*x0/u0)/(v1 - u1*v0/u0) - u3*v0*x0/u0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1)/(u0*u1*(x0 - x1)*(u0*v3 - u3*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - u0*u3*(x0 - x3)*(u0*v1 - u1*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + (u1*(x0 - x1)*(u0*v2 - u2*v0) - u2*(x0 - x2)*(u0*v1 - u1*v0))*(-u0*(u0*v1 - u1*v0) + u3*(u0*v1 - u1*v0) + (u0 - u1)*(u0*v3 - u3*v0))) - v3*y3 + (u0*v1 - u1*v0)*(-v2*y2 + (v2 - u2*v0/u0)*(v1*y1 - u1*v0*y0/u0)/(v1 - u1*v0/u0) + u2*v0*y0/u0)*((1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) - 1 + u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + (v3 - u3*v0/u0)*(v1*y1 - u1*v0*y0/u0)/(v1 - u1*v0/u0) + u3*v0*y0/u0)) + y0*(-(u0*v1 - u1*v0)*(u1*(v2 - u2*v0/u0)/(u0*(v1 - u1*v0/u0)) - u2/u0)*(-(1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) + 1 - u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + u1*(v3 - u3*v0/u0)/(u0*(v1 - u1*v0/u0)) - u3/u0)/(u0*(u0*v1 - u1*v0)*(-u3*y0 + u3*y3 + (u0*v1 - u1*v0)*(-u2*y0 + u2*y2 + (v2 - u2*v0/u0)*(u1*y0 - u1*y1)/(v1 - u1*v0/u0))*((1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) - 1 + u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + (v3 - u3*v0/u0)*(u1*y0 - u1*y1)/(v1 - u1*v0/u0))*(v3*x3 + (u0*v1 - u1*v0)*(v2*x2 - (v2 - u2*v0/u0)*(v1*x1 - u1*v0*x0/u0)/(v1 - u1*v0/u0) - u2*v0*x0/u0)*((1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) - 1 + u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (v3 - u3*v0/u0)*(v1*x1 - u1*v0*x0/u0)/(v1 - u1*v0/u0) - u3*v0*x0/u0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1)/(u0*u1*(x0 - x1)*(u0*v3 - u3*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - u0*u3*(x0 - x3)*(u0*v1 - u1*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + (u1*(x0 - x1)*(u0*v2 - u2*v0) - u2*(x0 - x2)*(u0*v1 - u1*v0))*(-u0*(u0*v1 - u1*v0) + u3*(u0*v1 - u1*v0) + (u0 - u1)*(u0*v3 - u3*v0))) - v3*y3 + (u0*v1 - u1*v0)*(-v2*y2 + (v2 - u2*v0/u0)*(v1*y1 - u1*v0*y0/u0)/(v1 - u1*v0/u0) + u2*v0*y0/u0)*((1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) - 1 + u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + (v3 - u3*v0/u0)*(v1*y1 - u1*v0*y0/u0)/(v1 - u1*v0/u0) + u3*v0*y0/u0) + y1*((v2 - u2*v0/u0)*(u0*v1 - u1*v0)*(-(1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) + 1 - u3/u0)/((v1 - u1*v0/u0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1)) - (v3 - u3*v0/u0)/(v1 - u1*v0/u0))/(u0*(u0*v1 - u1*v0)*(-u3*y0 + u3*y3 + (u0*v1 - u1*v0)*(-u2*y0 + u2*y2 + (v2 - u2*v0/u0)*(u1*y0 - u1*y1)/(v1 - u1*v0/u0))*((1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) - 1 + u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + (v3 - u3*v0/u0)*(u1*y0 - u1*y1)/(v1 - u1*v0/u0))*(v3*x3 + (u0*v1 - u1*v0)*(v2*x2 - (v2 - u2*v0/u0)*(v1*x1 - u1*v0*x0/u0)/(v1 - u1*v0/u0) - u2*v0*x0/u0)*((1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) - 1 + u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (v3 - u3*v0/u0)*(v1*x1 - u1*v0*x0/u0)/(v1 - u1*v0/u0) - u3*v0*x0/u0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1)/(u0*u1*(x0 - x1)*(u0*v3 - u3*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - u0*u3*(x0 - x3)*(u0*v1 - u1*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + (u1*(x0 - x1)*(u0*v2 - u2*v0) - u2*(x0 - x2)*(u0*v1 - u1*v0))*(-u0*(u0*v1 - u1*v0) + u3*(u0*v1 - u1*v0) + (u0 - u1)*(u0*v3 - u3*v0))) - v3*y3 + (u0*v1 - u1*v0)*(-v2*y2 + (v2 - u2*v0/u0)*(v1*y1 - u1*v0*y0/u0)/(v1 - u1*v0/u0) + u2*v0*y0/u0)*((1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) - 1 + u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + (v3 - u3*v0/u0)*(v1*y1 - u1*v0*y0/u0)/(v1 - u1*v0/u0) + u3*v0*y0/u0) - y2*(u0*v1 - u1*v0)*(-(1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) + 1 - u3/u0)/((u0*(u0*v1 - u1*v0)*(-u3*y0 + u3*y3 + (u0*v1 - u1*v0)*(-u2*y0 + u2*y2 + (v2 - u2*v0/u0)*(u1*y0 - u1*y1)/(v1 - u1*v0/u0))*((1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) - 1 + u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + (v3 - u3*v0/u0)*(u1*y0 - u1*y1)/(v1 - u1*v0/u0))*(v3*x3 + (u0*v1 - u1*v0)*(v2*x2 - (v2 - u2*v0/u0)*(v1*x1 - u1*v0*x0/u0)/(v1 - u1*v0/u0) - u2*v0*x0/u0)*((1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) - 1 + u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (v3 - u3*v0/u0)*(v1*x1 - u1*v0*x0/u0)/(v1 - u1*v0/u0) - u3*v0*x0/u0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1)/(u0*u1*(x0 - x1)*(u0*v3 - u3*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - u0*u3*(x0 - x3)*(u0*v1 - u1*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + (u1*(x0 - x1)*(u0*v2 - u2*v0) - u2*(x0 - x2)*(u0*v1 - u1*v0))*(-u0*(u0*v1 - u1*v0) + u3*(u0*v1 - u1*v0) + (u0 - u1)*(u0*v3 - u3*v0))) - v3*y3 + (u0*v1 - u1*v0)*(-v2*y2 + (v2 - u2*v0/u0)*(v1*y1 - u1*v0*y0/u0)/(v1 - u1*v0/u0) + u2*v0*y0/u0)*((1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) - 1 + u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + (v3 - u3*v0/u0)*(v1*y1 - u1*v0*y0/u0)/(v1 - u1*v0/u0) + u3*v0*y0/u0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1)) + y3/(u0*(u0*v1 - u1*v0)*(-u3*y0 + u3*y3 + (u0*v1 - u1*v0)*(-u2*y0 + u2*y2 + (v2 - u2*v0/u0)*(u1*y0 - u1*y1)/(v1 - u1*v0/u0))*((1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) - 1 + u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + (v3 - u3*v0/u0)*(u1*y0 - u1*y1)/(v1 - u1*v0/u0))*(v3*x3 + (u0*v1 - u1*v0)*(v2*x2 - (v2 - u2*v0/u0)*(v1*x1 - u1*v0*x0/u0)/(v1 - u1*v0/u0) - u2*v0*x0/u0)*((1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) - 1 + u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - (v3 - u3*v0/u0)*(v1*x1 - u1*v0*x0/u0)/(v1 - u1*v0/u0) - u3*v0*x0/u0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1)/(u0*u1*(x0 - x1)*(u0*v3 - u3*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) - u0*u3*(x0 - x3)*(u0*v1 - u1*v0)*(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + (u1*(x0 - x1)*(u0*v2 - u2*v0) - u2*(x0 - x2)*(u0*v1 - u1*v0))*(-u0*(u0*v1 - u1*v0) + u3*(u0*v1 - u1*v0) + (u0 - u1)*(u0*v3 - u3*v0))) - v3*y3 + (u0*v1 - u1*v0)*(-v2*y2 + (v2 - u2*v0/u0)*(v1*y1 - u1*v0*y0/u0)/(v1 - u1*v0/u0) + u2*v0*y0/u0)*((1 - u1/u0)*(v3 - u3*v0/u0)/(v1 - u1*v0/u0) - 1 + u3/u0)/(u0*v1 - u0*v2 - u1*v0 + u1*v2 + u2*v0 - u2*v1) + (v3 - u3*v0/u0)*(v1*y1 - u1*v0*y0/u0)/(v1 - u1*v0/u0) + u3*v0*y0/u0); | |
return function(p) { | |
return [ | |
(a * p[0] + b * p[1] + c) / (g * p[0] + h * p[1] + 1), | |
(d * p[0] + e * p[1] + f) / (g * p[0] + h * p[1] + 1) | |
]; | |
}; | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment