double sqrt_x1_1 = -8*x1*x1*x1*x2*s*s-Math.pow(y1,4)*x2*x2+4*y2*y1*y1*y1*x1*x1+4*y1*y1*y1*x2*x2*y2-8*x1*x2*x2*x2*s*s-
Math.pow(y1,4)*x1*x1-8*y1*y1*y1*x1*x2*y2+2*Math.pow(y1,4)*x1*x2-Math.pow(y2,4)*x2*x2-Math.pow(y2,4)*x1*x1-2*
Math.pow(x2,4)*y2*y2-2*Math.pow(x2,4)*y1*y1-2*y1*y1*Math.pow(x1,4)+20*x1*x1*x1*x2*x2*x2-15*x1*x1*Math.pow(x2,4)+6*
Math.pow(x1,5)*x2+6*x1*Math.pow(x2,5)-15*Math.pow(x1,4)*x2*x2+2*Math.pow(x2,4)*s*s-x2*x2*Math.pow(s,4)+4*
Math.pow(x2,4)*d*d+2*Math.pow(x1,4)*s*s-x1*x1*Math.pow(s,4)+4*Math.pow(x1,4)*d*d+8*s*s*y1*x1*x2*y2+2*s*s*y1*y1*x2*x2+4*y2*y2*y2*y1*x2*x2-6*y2*y2*y1*y1*x2*x2+4*y2*y2*y2*y1*x1*x1-6*y2*y2*y1*y1*x1*x1+2*s*s*y1*y1*x1*x1+2*
Math.pow(y2,4)*x1*x2+8*x2*x2*x2*y2*y2*x1+4*Math.pow(x2,4)*y2*y1-12*x2*x2*y2*y2*x1*x1+2*x2*x2*y2*y2*s*s+8*x1*x1*x1*x2*y2*y2+8*x2*x2*x2*y1*y1*x1-12*x2*x2*y1*y1*x1*x1+4*y2*
Math.pow(x1,4)*y1+2*y2*y2*x1*x1*s*s+8*x1*x1*x1*x2*y1*y1+12*x1*x1*x2*x2*s*s+2*x1*x2*Math.pow(s,4)+24*x1*x1*x2*x2*d*d-16*x1*x2*x2*x2*d*d-16*x1*x1*x1*x2*d*d+4*y2*y2*d*d*x2*x2+4*y2*y2*d*d*x1*x1-8*y2*y2*y2*y1*x1*x2+8*x2*x2*y2*y1*s*d+8*x1*x2*y2*y2*s*d-16*x1*x2*y2*y1*s*d-2*y2*y2*
Math.pow(x1,4)+16*y2*y1*d*d*x2*x1-8*y2*y2*d*d*x2*x1-8*y1*y1*d*d*x2*x1+8*y2*x1*x1*y1*s*d+8*y1*y1*s*d*x1*x2-4*y1*y1*s*d*x1*x1-8*x1*x2*s*s*s*d+8*x1*x2*s*s*d*d+16*x1*x1*x1*x2*s*d+16*x1*x2*x2*x2*s*d-24*x1*x1*x2*x2*s*d-8*y2*y1*d*d*x2*x2-8*y2*y1*d*d*x1*x1-
Math.pow(x2,6)-Math.pow(x1,6)+12*y2*y2*y1*y1*x1*x2-4*s*s*y1*x2*x2*y2-4*s*s*y1*y2*x1*x1-4*s*s*y1*y1*x1*x2-16*x2*x2*x2*y2*x1*y1-4*x2*x2*y2*y2*s*d+24*x2*x2*y2*y1*x1*x1-16*x1*x1*x1*x2*y2*y1-4*x1*x2*y2*y2*s*s-4*x2*x2*y1*y1*s*d-4*y2*y2*x1*x1*s*d+4*y1*y1*d*d*x2*x2+4*y1*y1*d*d*x1*x1+4*x2*x2*s*s*s*d-4*x2*x2*s*s*d*d-4*
Math.pow(x2,4)*s*d+4*x1*x1*s*s*s*d-4*x1*x1*s*s*d*d-4*Math.pow(x1,4)*s*d;
double sqrt_x1_2 = -8*x1*x1*x1*x2*s*s-Math.pow(y1,4)*x2*x2+4*y2*y1*y1*y1*x1*x1+4*y1*y1*y1*x2*x2*y2-8*x1*x2*x2*x2*s*s-
Math.pow(y1,4)*x1*x1-8*y1*y1*y1*x1*x2*y2+2*Math.pow(y1,4)*x1*x2-Math.pow(y2,4)*x2*x2-Math.pow(y2,4)*x1*x1-2*
Math.pow(x2,4)*y2*y2-2*Math.pow(x2,4)*y1*y1-2*y1*y1*Math.pow(x1,4)+20*x1*x1*x1*x2*x2*x2-15*x1*x1*Math.pow(x2,4)+6*
Math.pow(x1,5)*x2+6*x1*Math.pow(x2,5)-15*Math.pow(x1,4)*x2*x2+2*Math.pow(x2,4)*s*s-x2*x2*Math.pow(s,4)+4*
Math.pow(x2,4)*d*d+2*Math.pow(x1,4)*s*s-x1*x1*Math.pow(s,4)+4*Math.pow(x1,4)*d*d+8*s*s*y1*x1*x2*y2+2*s*s*y1*y1*x2*x2+4*y2*y2*y2*y1*x2*x2-6*y2*y2*y1*y1*x2*x2+4*y2*y2*y2*y1*x1*x1-6*y2*y2*y1*y1*x1*x1+2*s*s*y1*y1*x1*x1+2*
Math.pow(y2,4)*x1*x2+8*x2*x2*x2*y2*y2*x1+4*Math.pow(x2,4)*y2*y1-12*x2*x2*y2*y2*x1*x1+2*x2*x2*y2*y2*s*s+8*x1*x1*x1*x2*y2*y2+8*x2*x2*x2*y1*y1*x1-12*x2*x2*y1*y1*x1*x1+4*y2*Math.pow(x1,4)*y1+2*y2*y2*x1*x1*s*s+8*x1*x1*x1*x2*y1*y1+12*x1*x1*x2*x2*s*s+2*x1*x2*
Math.pow(s,4)+24*x1*x1*x2*x2*d*d-16*x1*x2*x2*x2*d*d-16*x1*x1*x1*x2*d*d+4*y2*y2*d*d*x2*x2+4*y2*y2*d*d*x1*x1-8*y2*y2*y2*y1*x1*x2+8*x2*x2*y2*y1*s*d+8*x1*x2*y2*y2*s*d-16*x1*x2*y2*y1*s*d-2*y2*y2*
Math.pow(x1,4)+16*y2*y1*d*d*x2*x1-8*y2*y2*d*d*x2*x1-8*y1*y1*d*d*x2*x1+8*y2*x1*x1*y1*s*d+8*y1*y1*s*d*x1*x2-4*y1*y1*s*d*x1*x1-8*x1*x2*s*s*s*d+8*x1*x2*s*s*d*d+16*x1*x1*x1*x2*s*d+16*x1*x2*x2*x2*s*d-24*x1*x1*x2*x2*s*d-8*y2*y1*d*d*x2*x2-8*y2*y1*d*d*x1*x1-
Math.pow(x2,6)-Math.pow(x1,6)+12*y2*y2*y1*y1*x1*x2-4*s*s*y1*x2*x2*y2-4*s*s*y1*y2*x1*x1-4*s*s*y1*y1*x1*x2-16*x2*x2*x2*y2*x1*y1-4*x2*x2*y2*y2*s*d+24*x2*x2*y2*y1*x1*x1-16*x1*x1*x1*x2*y2*y1-4*x1*x2*y2*y2*s*s-4*x2*x2*y1*y1*s*d-4*y2*y2*x1*x1*s*d+4*y1*y1*d*d*x2*x2+4*y1*y1*d*d*x1*x1+4*x2*x2*s*s*s*d-4*x2*x2*s*s*d*d-4*
Math.pow(x2,4)*s*d+4*x1*x1*s*s*s*d-4*x1*x1*s*s*d*d-4*Math.pow(x1,4)*s*d;
double x_1 = (-0.5)*(-1/(-8*x1*x2-8*y2*y1+4*y2*y2+4*y1*y1+4*x2*x2+4*x1*x1)*(-4*y2*y2*y1+4*y1*y1*y1+4*s*s*y1+4*y2*y2*y2+4*x2*x2*y2-
8*x1*x2*y2+4*x2*x2*y1-4*y2*y1*y1+4*y2*x1*x1-8*y1*s*d-8*x1*x2*y1+8*y2*s*d+4*y1*x1*x1-4*s*s*y2+4*Math.sqrt(sqrt_x1_1))*y2+1/
(-8*x1*x2-8*y2*y1+4*y2*y2+4*y1*y1+4*x2*x2+4*x1*x1)*(-4*y2*y2*y1+4*y1*y1*y1+4*s*s*y1+4*y2*y2*y2+4*x2*x2*y2-8*x1*x2*y2+4*x2*x2*y1-
4*y2*y1*y1+4*y2*x1*x1-8*y1*s*d-8*x1*x2*y1+8*y2*s*d+4*y1*x1*x1-4*s*s*y2+4*Math.sqrt(sqrt_x1_2))*y1+y2*y2+x2*x2-s*s+2*s*d-x1*x1-y1*y1)/(-x2+x1);