Gradient of Sx wrt v:

hx*(-2*r4/(1 + (sig*((-2*r2*r4*cos(t2) + 2*r1*r4*cos(t1))**2 + (-2*r2*r4*sin(t2) + 2*r1*r4*sin(t1))**2 - (r1**2 + r2**2 + r4**2 - r3**2 - 2*r1*r2*cos(t1)*cos(t2)*sin(t1)*sin(t2))**2)**0.5 - 2*r1*r4*sin(t1) + 2*r2*r4*sin(t2))**2*(r1**2 + r2**2 + r4**2 - r3**2 - 2*r1*r4*cos(t1) + 2*r2*r4*cos(t2) - 2*r1*r2*cos(t1)*cos(t2)*sin(t1)*sin(t2))**(-2))*(1/(r1**2 + r2**2 + r4**2 - r3**2 - 2*r1*r4*cos(t1) + 2*r2*r4*cos(t2) - 2*r1*r2*cos(t1)*cos(t2)*sin(t1)*sin(t2))*(-2*r4*sin(t1) + sig*((-2*r2*r4*cos(t2) + 2*r1*r4*cos(t1))**2 + (-2*r2*r4*sin(t2) + 2*r1*r4*sin(t1))**2 - (r1**2 + r2**2 + r4**2 - r3**2 - 2*r1*r2*cos(t1)*cos(t2)*sin(t1)*sin(t2))**2)**-0.5*(-0.5*(4*r1 - 4*r2*cos(t1)*cos(t2)*sin(t1)*sin(t2))*(r1**2 + r2**2 + r4**2 - r3**2 - 2*r1*r2*cos(t1)*cos(t2)*sin(t1)*sin(t2)) + 2*r4*(-2*r2*r4*cos(t2) + 2*r1*r4*cos(t1))*cos(t1) + 2*r4*(-2*r2*r4*sin(t2) + 2*r1*r4*sin(t1))*sin(t1))) + (r1**2 + r2**2 + r4**2 - r3**2 - 2*r1*r4*cos(t1) + 2*r2*r4*cos(t2) - 2*r1*r2*cos(t1)*cos(t2)*sin(t1)*sin(t2))**(-2)*(-2*r1 + 2*r4*cos(t1) + 2*r2*cos(t1)*cos(t2)*sin(t1)*sin(t2))*(sig*((-2*r2*r4*cos(t2) + 2*r1*r4*cos(t1))**2 + (-2*r2*r4*sin(t2) + 2*r1*r4*sin(t1))**2 - (r1**2 + r2**2 + r4**2 - r3**2 - 2*r1*r2*cos(t1)*cos(t2)*sin(t1)*sin(t2))**2)**0.5 - 2*r1*r4*sin(t1) + 2*r2*r4*sin(t2)))*sin(2*atan(1/(r1**2 + r2**2 + r4**2 - r3**2 - 2*r1*r4*cos(t1) + 2*r2*r4*cos(t2) - 2*r1*r2*cos(t1)*cos(t2)*sin(t1)*sin(t2))*(sig*((-2*r2*r4*cos(t2) + 2*r1*r4*cos(t1))**2 + (-2*r2*r4*sin(t2) + 2*r1*r4*sin(t1))**2 - (r1**2 + r2**2 + r4**2 - r3**2 - 2*r1*r2*cos(t1)*cos(t2)*sin(t1)*sin(t2))**2)**0.5 - 2*r1*r4*sin(t1) + 2*r2*r4*sin(t2)))) + cos(t1)) + hy*(-sin(t1) - 2*r4/(1 + (sig*((-2*r2*r4*cos(t2) + 2*r1*r4*cos(t1))**2 + (-2*r2*r4*sin(t2) + 2*r1*r4*sin(t1))**2 - (r1**2 + r2**2 + r4**2 - r3**2 - 2*r1*r2*cos(t1)*cos(t2)*sin(t1)*sin(t2))**2)**0.5 - 2*r1*r4*sin(t1) + 2*r2*r4*sin(t2))**2*(r1**2 + r2**2 + r4**2 - r3**2 - 2*r1*r4*cos(t1) + 2*r2*r4*cos(t2) - 2*r1*r2*cos(t1)*cos(t2)*sin(t1)*sin(t2))**(-2))*(1/(r1**2 + r2**2 + r4**2 - r3**2 - 2*r1*r4*cos(t1) + 2*r2*r4*cos(t2) - 2*r1*r2*cos(t1)*cos(t2)*sin(t1)*sin(t2))*(-2*r4*sin(t1) + sig*((-2*r2*r4*cos(t2) + 2*r1*r4*cos(t1))**2 + (-2*r2*r4*sin(t2) + 2*r1*r4*sin(t1))**2 - (r1**2 + r2**2 + r4**2 - r3**2 - 2*r1*r2*cos(t1)*cos(t2)*sin(t1)*sin(t2))**2)**-0.5*(-0.5*(4*r1 - 4*r2*cos(t1)*cos(t2)*sin(t1)*sin(t2))*(r1**2 + r2**2 + r4**2 - r3**2 - 2*r1*r2*cos(t1)*cos(t2)*sin(t1)*sin(t2)) + 2*r4*(-2*r2*r4*cos(t2) + 2*r1*r4*cos(t1))*cos(t1) + 2*r4*(-2*r2*r4*sin(t2) + 2*r1*r4*sin(t1))*sin(t1))) + (r1**2 + r2**2 + r4**2 - r3**2 - 2*r1*r4*cos(t1) + 2*r2*r4*cos(t2) - 2*r1*r2*cos(t1)*cos(t2)*sin(t1)*sin(t2))**(-2)*(-2*r1 + 2*r4*cos(t1) + 2*r2*cos(t1)*cos(t2)*sin(t1)*sin(t2))*(sig*((-2*r2*r4*cos(t2) + 2*r1*r4*cos(t1))**2 + (-2*r2*r4*sin(t2) + 2*r1*r4*sin(t1))**2 - (r1**2 + r2**2 + r4**2 - r3**2 - 2*r1*r2*cos(t1)*cos(t2)*sin(t1)*sin(t2))**2)**0.5 - 2*r1*r4*sin(t1) + 2*r2*r4*sin(t2)))*cos(2*atan(1/(r1**2 + r2**2 + r4**2 - r3**2 - 2*r1*r4*cos(t1) + 2*r2*r4*cos(t2) - 2*r1*r2*cos(t1)*cos(t2)*sin(t1)*sin(t2))*(sig*((-2*r2*r4*cos(t2) + 2*r1*r4*cos(t1))**2 + (-2*r2*r4*sin(t2) + 2*r1*r4*sin(t1))**2 - (r1**2 + r2**2 + r4**2 - r3**2 - 2*r1*r2*cos(t1)*cos(t2)*sin(t1)*sin(t2))**2)**0.5 - 2*r1*r4*sin(t1) + 2*r2*r4*sin(t2))))) 
hy*(-2*r4/(1 + (sig*((-2*r2*r4*cos(t2) + 2*r1*r4*cos(t1))**2 + (-2*r2*r4*sin(t2) + 2*r1*r4*sin(t1))**2 - (r1**2 + r2**2 + r4**2 - r3**2 - 2*r1*r2*cos(t1)*cos(t2)*sin(t1)*sin(t2))**2)**0.5 - 2*r1*r4*sin(t1) + 2*r2*r4*sin(t2))**2*(r1**2 + r2**2 + r4**2 - r3**2 - 2*r1*r4*cos(t1) + 2*r2*r4*cos(t2) - 2*r1*r2*cos(t1)*cos(t2)*sin(t1)*sin(t2))**(-2))*(1/(r1**2 + r2**2 + r4**2 - r3**2 - 2*r1*r4*cos(t1) + 2*r2*r4*cos(t2) - 2*r1*r2*cos(t1)*cos(t2)*sin(t1)*sin(t2))*(2*r4*sin(t2) + sig*((-2*r2*r4*cos(t2) + 2*r1*r4*cos(t1))**2 + (-2*r2*r4*sin(t2) + 2*r1*r4*sin(t1))**2 - (r1**2 + r2**2 + r4**2 - r3**2 - 2*r1*r2*cos(t1)*cos(t2)*sin(t1)*sin(t2))**2)**-0.5*(-0.5*(4*r2 - 4*r1*cos(t1)*cos(t2)*sin(t1)*sin(t2))*(r1**2 + r2**2 + r4**2 - r3**2 - 2*r1*r2*cos(t1)*cos(t2)*sin(t1)*sin(t2)) - 2*r4*(-2*r2*r4*cos(t2) + 2*r1*r4*cos(t1))*cos(t2) - 2*r4*(-2*r2*r4*sin(t2) + 2*r1*r4*sin(t1))*sin(t2))) + (r1**2 + r2**2 + r4**2 - r3**2 - 2*r1*r4*cos(t1) + 2*r2*r4*cos(t2) - 2*r1*r2*cos(t1)*cos(t2)*sin(t1)*sin(t2))**(-2)*(-2*r2 - 2*r4*cos(t2) + 2*r1*cos(t1)*cos(t2)*sin(t1)*sin(t2))*(sig*((-2*r2*r4*cos(t2) + 2*r1*r4*cos(t1))**2 + (-2*r2*r4*sin(t2) + 2*r1*r4*sin(t1))**2 - (r1**2 + r2**2 + r4**2 - r3**2 - 2*r1*r2*cos(t1)*cos(t2)*sin(t1)*sin(t2))**2)**0.5 - 2*r1*r4*sin(t1) + 2*r2*r4*sin(t2)))*cos(2*atan(1/(r1**2 + r2**2 + r4**2 - r3**2 - 2*r1*r4*cos(t1) + 2*r2*r4*cos(t2) - 2*r1*r2*cos(t1)*cos(t2)*sin(t1)*sin(t2))*(sig*((-2*r2*r4*cos(t2) + 2*r1*r4*cos(t1))**2 + (-2*r2*r4*sin(t2) + 2*r1*r4*sin(t1))**2 - (r1**2 + r2**2 + r4**2 - r3**2 - 2*r1*r2*cos(t1)*cos(t2)*sin(t1)*sin(t2))**2)**0.5 - 2*r1*r4*sin(t1) + 2*r2*r4*sin(t2)))) + sin(t2)) + (1 - hx)*cos(t2) - 2*hx*r4/(1 + (sig*((-2*r2*r4*cos(t2) + 2*r1*r4*cos(t1))**2 + (-2*r2*r4*sin(t2) + 2*r1*r4*sin(t1))**2 - (r1**2 + r2**2 + r4**2 - r3**2 - 2*r1*r2*cos(t1)*cos(t2)*sin(t1)*sin(t2))**2)**0.5 - 2*r1*r4*sin(t1) + 2*r2*r4*sin(t2))**2*(r1**2 + r2**2 + r4**2 - r3**2 - 2*r1*r4*cos(t1) + 2*r2*r4*cos(t2) - 2*r1*r2*cos(t1)*cos(t2)*sin(t1)*sin(t2))**(-2))*(1/(r1**2 + r2**2 + r4**2 - r3**2 - 2*r1*r4*cos(t1) + 2*r2*r4*cos(t2) - 2*r1*r2*cos(t1)*cos(t2)*sin(t1)*sin(t2))*(2*r4*sin(t2) + sig*((-2*r2*r4*cos(t2) + 2*r1*r4*cos(t1))**2 + (-2*r2*r4*sin(t2) + 2*r1*r4*sin(t1))**2 - (r1**2 + r2**2 + r4**2 - r3**2 - 2*r1*r2*cos(t1)*cos(t2)*sin(t1)*sin(t2))**2)**-0.5*(-0.5*(4*r2 - 4*r1*cos(t1)*cos(t2)*sin(t1)*sin(t2))*(r1**2 + r2**2 + r4**2 - r3**2 - 2*r1*r2*cos(t1)*cos(t2)*sin(t1)*sin(t2)) - 2*r4*(-2*r2*r4*cos(t2) + 2*r1*r4*cos(t1))*cos(t2) - 2*r4*(-2*r2*r4*sin(t2) + 2*r1*r4*sin(t1))*sin(t2))) + (r1**2 + r2**2 + r4**2 - r3**2 - 2*r1*r4*cos(t1) + 2*r2*r4*cos(t2) - 2*r1*r2*cos(t1)*cos(t2)*sin(t1)*sin(t2))**(-2)*(-2*r2 - 2*r4*cos(t2) + 2*r1*cos(t1)*cos(t2)*sin(t1)*sin(t2))*(sig*((-2*r2*r4*cos(t2) + 2*r1*r4*cos(t1))**2 + (-2*r2*r4*sin(t2) + 2*r1*r4*sin(t1))**2 - (r1**2 + r2**2 + r4**2 - r3**2 - 2*r1*r2*cos(t1)*cos(t2)*sin(t1)*sin(t2))**2)**0.5 - 2*r1*r4*sin(t1) + 2*r2*r4*sin(t2)))*sin(2*atan(1/(r1**2 + r2**2 + r4**2 - r3**2 - 2*r1*r4*cos(t1) + 2*r2*r4*cos(t2) - 2*r1*r2*cos(t1)*cos(t2)*sin(t1)*sin(t2))*(sig*((-2*r2*r4*cos(t2) + 2*r1*r4*cos(t1))**2 + (-2*r2*r4*sin(t2) + 2*r1*r4*sin(t1))**2 - (r1**2 + r2**2 + r4**2 - r3**2 - 2*r1*r2*cos(t1)*cos(t2)*sin(t1)*sin(t2))**2)**0.5 - 2*r1*r4*sin(t1) + 2*r2*r4*sin(t2)))) 
-2*hx*r4/(1 + (sig*((-2*r2*r4*cos(t2) + 2*r1*r4*cos(t1))**2 + (-2*r2*r4*sin(t2) + 2*r1*r4*sin(t1))**2 - (r1**2 + r2**2 + r4**2 - r3**2 - 2*r1*r2*cos(t1)*cos(t2)*sin(t1)*sin(t2))**2)**0.5 - 2*r1*r4*sin(t1) + 2*r2*r4*sin(t2))**2*(r1**2 + r2**2 + r4**2 - r3**2 - 2*r1*r4*cos(t1) + 2*r2*r4*cos(t2) - 2*r1*r2*cos(t1)*cos(t2)*sin(t1)*sin(t2))**(-2))*(2*r3*(r1**2 + r2**2 + r4**2 - r3**2 - 2*r1*r4*cos(t1) + 2*r2*r4*cos(t2) - 2*r1*r2*cos(t1)*cos(t2)*sin(t1)*sin(t2))**(-2)*(sig*((-2*r2*r4*cos(t2) + 2*r1*r4*cos(t1))**2 + (-2*r2*r4*sin(t2) + 2*r1*r4*sin(t1))**2 - (r1**2 + r2**2 + r4**2 - r3**2 - 2*r1*r2*cos(t1)*cos(t2)*sin(t1)*sin(t2))**2)**0.5 - 2*r1*r4*sin(t1) + 2*r2*r4*sin(t2)) + 2*r3*sig*((-2*r2*r4*cos(t2) + 2*r1*r4*cos(t1))**2 + (-2*r2*r4*sin(t2) + 2*r1*r4*sin(t1))**2 - (r1**2 + r2**2 + r4**2 - r3**2 - 2*r1*r2*cos(t1)*cos(t2)*sin(t1)*sin(t2))**2)**-0.5/(r1**2 + r2**2 + r4**2 - r3**2 - 2*r1*r4*cos(t1) + 2*r2*r4*cos(t2) - 2*r1*r2*cos(t1)*cos(t2)*sin(t1)*sin(t2))*(r1**2 + r2**2 + r4**2 - r3**2 - 2*r1*r2*cos(t1)*cos(t2)*sin(t1)*sin(t2)))*sin(2*atan(1/(r1**2 + r2**2 + r4**2 - r3**2 - 2*r1*r4*cos(t1) + 2*r2*r4*cos(t2) - 2*r1*r2*cos(t1)*cos(t2)*sin(t1)*sin(t2))*(sig*((-2*r2*r4*cos(t2) + 2*r1*r4*cos(t1))**2 + (-2*r2*r4*sin(t2) + 2*r1*r4*sin(t1))**2 - (r1**2 + r2**2 + r4**2 - r3**2 - 2*r1*r2*cos(t1)*cos(t2)*sin(t1)*sin(t2))**2)**0.5 - 2*r1*r4*sin(t1) + 2*r2*r4*sin(t2)))) - 2*hy*r4/(1 + (sig*((-2*r2*r4*cos(t2) + 2*r1*r4*cos(t1))**2 + (-2*r2*r4*sin(t2) + 2*r1*r4*sin(t1))**2 - (r1**2 + r2**2 + r4**2 - r3**2 - 2*r1*r2*cos(t1)*cos(t2)*sin(t1)*sin(t2))**2)**0.5 - 2*r1*r4*sin(t1) + 2*r2*r4*sin(t2))**2*(r1**2 + r2**2 + r4**2 - r3**2 - 2*r1*r4*cos(t1) + 2*r2*r4*cos(t2) - 2*r1*r2*cos(t1)*cos(t2)*sin(t1)*sin(t2))**(-2))*(2*r3*(r1**2 + r2**2 + r4**2 - r3**2 - 2*r1*r4*cos(t1) + 2*r2*r4*cos(t2) - 2*r1*r2*cos(t1)*cos(t2)*sin(t1)*sin(t2))**(-2)*(sig*((-2*r2*r4*cos(t2) + 2*r1*r4*cos(t1))**2 + (-2*r2*r4*sin(t2) + 2*r1*r4*sin(t1))**2 - (r1**2 + r2**2 + r4**2 - r3**2 - 2*r1*r2*cos(t1)*cos(t2)*sin(t1)*sin(t2))**2)**0.5 - 2*r1*r4*sin(t1) + 2*r2*r4*sin(t2)) + 2*r3*sig*((-2*r2*r4*cos(t2) + 2*r1*r4*cos(t1))**2 + (-2*r2*r4*sin(t2) + 2*r1*r4*sin(t1))**2 - (r1**2 + r2**2 + r4**2 - r3**2 - 2*r1*r2*cos(t1)*cos(t2)*sin(t1)*sin(t2))**2)**-0.5/(r1**2 + r2**2 + r4**2 - r3**2 - 2*r1*r4*cos(t1) + 2*r2*r4*cos(t2) - 2*r1*r2*cos(t1)*cos(t2)*sin(t1)*sin(t2))*(r1**2 + r2**2 + r4**2 - r3**2 - 2*r1*r2*cos(t1)*cos(t2)*sin(t1)*sin(t2)))*cos(2*atan(1/(r1**2 + r2**2 + r4**2 - r3**2 - 2*r1*r4*cos(t1) + 2*r2*r4*cos(t2) - 2*r1*r2*cos(t1)*cos(t2)*sin(t1)*sin(t2))*(sig*((-2*r2*r4*cos(t2) + 2*r1*r4*cos(t1))**2 + (-2*r2*r4*sin(t2) + 2*r1*r4*sin(t1))**2 - (r1**2 + r2**2 + r4**2 - r3**2 - 2*r1*r2*cos(t1)*cos(t2)*sin(t1)*sin(t2))**2)**0.5 - 2*r1*r4*sin(t1) + 2*r2*r4*sin(t2)))) 
hx*(-2*r4/(1 + (sig*((-2*r2*r4*cos(t2) + 2*r1*r4*cos(t1))**2 + (-2*r2*r4*sin(t2) + 2*r1*r4*sin(t1))**2 - (r1**2 + r2**2 + r4**2 - r3**2 - 2*r1*r2*cos(t1)*cos(t2)*sin(t1)*sin(t2))**2)**0.5 - 2*r1*r4*sin(t1) + 2*r2*r4*sin(t2))**2*(r1**2 + r2**2 + r4**2 - r3**2 - 2*r1*r4*cos(t1) + 2*r2*r4*cos(t2) - 2*r1*r2*cos(t1)*cos(t2)*sin(t1)*sin(t2))**(-2))*(1/(r1**2 + r2**2 + r4**2 - r3**2 - 2*r1*r4*cos(t1) + 2*r2*r4*cos(t2) - 2*r1*r2*cos(t1)*cos(t2)*sin(t1)*sin(t2))*(-2*r1*sin(t1) + 2*r2*sin(t2) + sig*((-2*r2*r4*cos(t2) + 2*r1*r4*cos(t1))**2 + (-2*r2*r4*sin(t2) + 2*r1*r4*sin(t1))**2 - (r1**2 + r2**2 + r4**2 - r3**2 - 2*r1*r2*cos(t1)*cos(t2)*sin(t1)*sin(t2))**2)**-0.5*(-2*r4*(r1**2 + r2**2 + r4**2 - r3**2 - 2*r1*r2*cos(t1)*cos(t2)*sin(t1)*sin(t2)) + 0.5*(-4*r2*cos(t2) + 4*r1*cos(t1))*(-2*r2*r4*cos(t2) + 2*r1*r4*cos(t1)) + 0.5*(-4*r2*sin(t2) + 4*r1*sin(t1))*(-2*r2*r4*sin(t2) + 2*r1*r4*sin(t1)))) + (r1**2 + r2**2 + r4**2 - r3**2 - 2*r1*r4*cos(t1) + 2*r2*r4*cos(t2) - 2*r1*r2*cos(t1)*cos(t2)*sin(t1)*sin(t2))**(-2)*(-2*r4 - 2*r2*cos(t2) + 2*r1*cos(t1))*(sig*((-2*r2*r4*cos(t2) + 2*r1*r4*cos(t1))**2 + (-2*r2*r4*sin(t2) + 2*r1*r4*sin(t1))**2 - (r1**2 + r2**2 + r4**2 - r3**2 - 2*r1*r2*cos(t1)*cos(t2)*sin(t1)*sin(t2))**2)**0.5 - 2*r1*r4*sin(t1) + 2*r2*r4*sin(t2)))*sin(2*atan(1/(r1**2 + r2**2 + r4**2 - r3**2 - 2*r1*r4*cos(t1) + 2*r2*r4*cos(t2) - 2*r1*r2*cos(t1)*cos(t2)*sin(t1)*sin(t2))*(sig*((-2*r2*r4*cos(t2) + 2*r1*r4*cos(t1))**2 + (-2*r2*r4*sin(t2) + 2*r1*r4*sin(t1))**2 - (r1**2 + r2**2 + r4**2 - r3**2 - 2*r1*r2*cos(t1)*cos(t2)*sin(t1)*sin(t2))**2)**0.5 - 2*r1*r4*sin(t1) + 2*r2*r4*sin(t2)))) + cos(2*atan(1/(r1**2 + r2**2 + r4**2 - r3**2 - 2*r1*r4*cos(t1) + 2*r2*r4*cos(t2) - 2*r1*r2*cos(t1)*cos(t2)*sin(t1)*sin(t2))*(sig*((-2*r2*r4*cos(t2) + 2*r1*r4*cos(t1))**2 + (-2*r2*r4*sin(t2) + 2*r1*r4*sin(t1))**2 - (r1**2 + r2**2 + r4**2 - r3**2 - 2*r1*r2*cos(t1)*cos(t2)*sin(t1)*sin(t2))**2)**0.5 - 2*r1*r4*sin(t1) + 2*r2*r4*sin(t2))))) + hy*(-sin(2*atan(1/(r1**2 + r2**2 + r4**2 - r3**2 - 2*r1*r4*cos(t1) + 2*r2*r4*cos(t2) - 2*r1*r2*cos(t1)*cos(t2)*sin(t1)*sin(t2))*(sig*((-2*r2*r4*cos(t2) + 2*r1*r4*cos(t1))**2 + (-2*r2*r4*sin(t2) + 2*r1*r4*sin(t1))**2 - (r1**2 + r2**2 + r4**2 - r3**2 - 2*r1*r2*cos(t1)*cos(t2)*sin(t1)*sin(t2))**2)**0.5 - 2*r1*r4*sin(t1) + 2*r2*r4*sin(t2)))) - 2*r4/(1 + (sig*((-2*r2*r4*cos(t2) + 2*r1*r4*cos(t1))**2 + (-2*r2*r4*sin(t2) + 2*r1*r4*sin(t1))**2 - (r1**2 + r2**2 + r4**2 - r3**2 - 2*r1*r2*cos(t1)*cos(t2)*sin(t1)*sin(t2))**2)**0.5 - 2*r1*r4*sin(t1) + 2*r2*r4*sin(t2))**2*(r1**2 + r2**2 + r4**2 - r3**2 - 2*r1*r4*cos(t1) + 2*r2*r4*cos(t2) - 2*r1*r2*cos(t1)*cos(t2)*sin(t1)*sin(t2))**(-2))*(1/(r1**2 + r2**2 + r4**2 - r3**2 - 2*r1*r4*cos(t1) + 2*r2*r4*cos(t2) - 2*r1*r2*cos(t1)*cos(t2)*sin(t1)*sin(t2))*(-2*r1*sin(t1) + 2*r2*sin(t2) + sig*((-2*r2*r4*cos(t2) + 2*r1*r4*cos(t1))**2 + (-2*r2*r4*sin(t2) + 2*r1*r4*sin(t1))**2 - (r1**2 + r2**2 + r4**2 - r3**2 - 2*r1*r2*cos(t1)*cos(t2)*sin(t1)*sin(t2))**2)**-0.5*(-2*r4*(r1**2 + r2**2 + r4**2 - r3**2 - 2*r1*r2*cos(t1)*cos(t2)*sin(t1)*sin(t2)) + 0.5*(-4*r2*cos(t2) + 4*r1*cos(t1))*(-2*r2*r4*cos(t2) + 2*r1*r4*cos(t1)) + 0.5*(-4*r2*sin(t2) + 4*r1*sin(t1))*(-2*r2*r4*sin(t2) + 2*r1*r4*sin(t1)))) + (r1**2 + r2**2 + r4**2 - r3**2 - 2*r1*r4*cos(t1) + 2*r2*r4*cos(t2) - 2*r1*r2*cos(t1)*cos(t2)*sin(t1)*sin(t2))**(-2)*(-2*r4 - 2*r2*cos(t2) + 2*r1*cos(t1))*(sig*((-2*r2*r4*cos(t2) + 2*r1*r4*cos(t1))**2 + (-2*r2*r4*sin(t2) + 2*r1*r4*sin(t1))**2 - (r1**2 + r2**2 + r4**2 - r3**2 - 2*r1*r2*cos(t1)*cos(t2)*sin(t1)*sin(t2))**2)**0.5 - 2*r1*r4*sin(t1) + 2*r2*r4*sin(t2)))*cos(2*atan(1/(r1**2 + r2**2 + r4**2 - r3**2 - 2*r1*r4*cos(t1) + 2*r2*r4*cos(t2) - 2*r1*r2*cos(t1)*cos(t2)*sin(t1)*sin(t2))*(sig*((-2*r2*r4*cos(t2) + 2*r1*r4*cos(t1))**2 + (-2*r2*r4*sin(t2) + 2*r1*r4*sin(t1))**2 - (r1**2 + r2**2 + r4**2 - r3**2 - 2*r1*r2*cos(t1)*cos(t2)*sin(t1)*sin(t2))**2)**0.5 - 2*r1*r4*sin(t1) + 2*r2*r4*sin(t2))))) 
hx*(-r1*sin(t1) - 2*r4/(1 + (sig*((-2*r2*r4*cos(t2) + 2*r1*r4*cos(t1))**2 + (-2*r2*r4*sin(t2) + 2*r1*r4*sin(t1))**2 - (r1**2 + r2**2 + r4**2 - r3**2 - 2*r1*r2*cos(t1)*cos(t2)*sin(t1)*sin(t2))**2)**0.5 - 2*r1*r4*sin(t1) + 2*r2*r4*sin(t2))**2*(r1**2 + r2**2 + r4**2 - r3**2 - 2*r1*r4*cos(t1) + 2*r2*r4*cos(t2) - 2*r1*r2*cos(t1)*cos(t2)*sin(t1)*sin(t2))**(-2))*(1/(r1**2 + r2**2 + r4**2 - r3**2 - 2*r1*r4*cos(t1) + 2*r2*r4*cos(t2) - 2*r1*r2*cos(t1)*cos(t2)*sin(t1)*sin(t2))*(sig*((-2*r2*r4*cos(t2) + 2*r1*r4*cos(t1))**2 + (-2*r2*r4*sin(t2) + 2*r1*r4*sin(t1))**2 - (r1**2 + r2**2 + r4**2 - r3**2 - 2*r1*r2*cos(t1)*cos(t2)*sin(t1)*sin(t2))**2)**-0.5*(-0.5*(-4*r1*r2*cos(t1)**2*cos(t2)*sin(t2) + 4*r1*r2*sin(t1)**2*cos(t2)*sin(t2))*(r1**2 + r2**2 + r4**2 - r3**2 - 2*r1*r2*cos(t1)*cos(t2)*sin(t1)*sin(t2)) - 2*r1*r4*(-2*r2*r4*cos(t2) + 2*r1*r4*cos(t1))*sin(t1) + 2*r1*r4*(-2*r2*r4*sin(t2) + 2*r1*r4*sin(t1))*cos(t1)) - 2*r1*r4*cos(t1)) + (r1**2 + r2**2 + r4**2 - r3**2 - 2*r1*r4*cos(t1) + 2*r2*r4*cos(t2) - 2*r1*r2*cos(t1)*cos(t2)*sin(t1)*sin(t2))**(-2)*(sig*((-2*r2*r4*cos(t2) + 2*r1*r4*cos(t1))**2 + (-2*r2*r4*sin(t2) + 2*r1*r4*sin(t1))**2 - (r1**2 + r2**2 + r4**2 - r3**2 - 2*r1*r2*cos(t1)*cos(t2)*sin(t1)*sin(t2))**2)**0.5 - 2*r1*r4*sin(t1) + 2*r2*r4*sin(t2))*(-2*r1*r4*sin(t1) - 2*r1*r2*sin(t1)**2*cos(t2)*sin(t2) + 2*r1*r2*cos(t1)**2*cos(t2)*sin(t2)))*sin(2*atan(1/(r1**2 + r2**2 + r4**2 - r3**2 - 2*r1*r4*cos(t1) + 2*r2*r4*cos(t2) - 2*r1*r2*cos(t1)*cos(t2)*sin(t1)*sin(t2))*(sig*((-2*r2*r4*cos(t2) + 2*r1*r4*cos(t1))**2 + (-2*r2*r4*sin(t2) + 2*r1*r4*sin(t1))**2 - (r1**2 + r2**2 + r4**2 - r3**2 - 2*r1*r2*cos(t1)*cos(t2)*sin(t1)*sin(t2))**2)**0.5 - 2*r1*r4*sin(t1) + 2*r2*r4*sin(t2))))) + hy*(-r1*cos(t1) - 2*r4/(1 + (sig*((-2*r2*r4*cos(t2) + 2*r1*r4*cos(t1))**2 + (-2*r2*r4*sin(t2) + 2*r1*r4*sin(t1))**2 - (r1**2 + r2**2 + r4**2 - r3**2 - 2*r1*r2*cos(t1)*cos(t2)*sin(t1)*sin(t2))**2)**0.5 - 2*r1*r4*sin(t1) + 2*r2*r4*sin(t2))**2*(r1**2 + r2**2 + r4**2 - r3**2 - 2*r1*r4*cos(t1) + 2*r2*r4*cos(t2) - 2*r1*r2*cos(t1)*cos(t2)*sin(t1)*sin(t2))**(-2))*(1/(r1**2 + r2**2 + r4**2 - r3**2 - 2*r1*r4*cos(t1) + 2*r2*r4*cos(t2) - 2*r1*r2*cos(t1)*cos(t2)*sin(t1)*sin(t2))*(sig*((-2*r2*r4*cos(t2) + 2*r1*r4*cos(t1))**2 + (-2*r2*r4*sin(t2) + 2*r1*r4*sin(t1))**2 - (r1**2 + r2**2 + r4**2 - r3**2 - 2*r1*r2*cos(t1)*cos(t2)*sin(t1)*sin(t2))**2)**-0.5*(-0.5*(-4*r1*r2*cos(t1)**2*cos(t2)*sin(t2) + 4*r1*r2*sin(t1)**2*cos(t2)*sin(t2))*(r1**2 + r2**2 + r4**2 - r3**2 - 2*r1*r2*cos(t1)*cos(t2)*sin(t1)*sin(t2)) - 2*r1*r4*(-2*r2*r4*cos(t2) + 2*r1*r4*cos(t1))*sin(t1) + 2*r1*r4*(-2*r2*r4*sin(t2) + 2*r1*r4*sin(t1))*cos(t1)) - 2*r1*r4*cos(t1)) + (r1**2 + r2**2 + r4**2 - r3**2 - 2*r1*r4*cos(t1) + 2*r2*r4*cos(t2) - 2*r1*r2*cos(t1)*cos(t2)*sin(t1)*sin(t2))**(-2)*(sig*((-2*r2*r4*cos(t2) + 2*r1*r4*cos(t1))**2 + (-2*r2*r4*sin(t2) + 2*r1*r4*sin(t1))**2 - (r1**2 + r2**2 + r4**2 - r3**2 - 2*r1*r2*cos(t1)*cos(t2)*sin(t1)*sin(t2))**2)**0.5 - 2*r1*r4*sin(t1) + 2*r2*r4*sin(t2))*(-2*r1*r4*sin(t1) - 2*r1*r2*sin(t1)**2*cos(t2)*sin(t2) + 2*r1*r2*cos(t1)**2*cos(t2)*sin(t2)))*cos(2*atan(1/(r1**2 + r2**2 + r4**2 - r3**2 - 2*r1*r4*cos(t1) + 2*r2*r4*cos(t2) - 2*r1*r2*cos(t1)*cos(t2)*sin(t1)*sin(t2))*(sig*((-2*r2*r4*cos(t2) + 2*r1*r4*cos(t1))**2 + (-2*r2*r4*sin(t2) + 2*r1*r4*sin(t1))**2 - (r1**2 + r2**2 + r4**2 - r3**2 - 2*r1*r2*cos(t1)*cos(t2)*sin(t1)*sin(t2))**2)**0.5 - 2*r1*r4*sin(t1) + 2*r2*r4*sin(t2))))) 
1 
0 
r1*cos(t1) + r4*cos(2*atan(1/(r1**2 + r2**2 + r4**2 - r3**2 - 2*r1*r4*cos(t1) + 2*r2*r4*cos(t2) - 2*r1*r2*cos(t1)*cos(t2)*sin(t1)*sin(t2))*(sig*((-2*r2*r4*cos(t2) + 2*r1*r4*cos(t1))**2 + (-2*r2*r4*sin(t2) + 2*r1*r4*sin(t1))**2 - (r1**2 + r2**2 + r4**2 - r3**2 - 2*r1*r2*cos(t1)*cos(t2)*sin(t1)*sin(t2))**2)**0.5 - 2*r1*r4*sin(t1) + 2*r2*r4*sin(t2)))) - r2*cos(t2) 
r2*sin(t2) - r1*sin(t1) - r4*sin(2*atan(1/(r1**2 + r2**2 + r4**2 - r3**2 - 2*r1*r4*cos(t1) + 2*r2*r4*cos(t2) - 2*r1*r2*cos(t1)*cos(t2)*sin(t1)*sin(t2))*(sig*((-2*r2*r4*cos(t2) + 2*r1*r4*cos(t1))**2 + (-2*r2*r4*sin(t2) + 2*r1*r4*sin(t1))**2 - (r1**2 + r2**2 + r4**2 - r3**2 - 2*r1*r2*cos(t1)*cos(t2)*sin(t1)*sin(t2))**2)**0.5 - 2*r1*r4*sin(t1) + 2*r2*r4*sin(t2)))) 

Gradient of Sy wrt v:

hx*(2*r4/(1 + (sig*((-2*r2*r4*cos(t2) + 2*r1*r4*cos(t1))**2 + (-2*r2*r4*sin(t2) + 2*r1*r4*sin(t1))**2 - (r1**2 + r2**2 + r4**2 - r3**2 - 2*r1*r2*cos(t1)*cos(t2)*sin(t1)*sin(t2))**2)**0.5 - 2*r1*r4*sin(t1) + 2*r2*r4*sin(t2))**2*(r1**2 + r2**2 + r4**2 - r3**2 - 2*r1*r4*cos(t1) + 2*r2*r4*cos(t2) - 2*r1*r2*cos(t1)*cos(t2)*sin(t1)*sin(t2))**(-2))*(1/(r1**2 + r2**2 + r4**2 - r3**2 - 2*r1*r4*cos(t1) + 2*r2*r4*cos(t2) - 2*r1*r2*cos(t1)*cos(t2)*sin(t1)*sin(t2))*(-2*r4*sin(t1) + sig*((-2*r2*r4*cos(t2) + 2*r1*r4*cos(t1))**2 + (-2*r2*r4*sin(t2) + 2*r1*r4*sin(t1))**2 - (r1**2 + r2**2 + r4**2 - r3**2 - 2*r1*r2*cos(t1)*cos(t2)*sin(t1)*sin(t2))**2)**-0.5*(-0.5*(4*r1 - 4*r2*cos(t1)*cos(t2)*sin(t1)*sin(t2))*(r1**2 + r2**2 + r4**2 - r3**2 - 2*r1*r2*cos(t1)*cos(t2)*sin(t1)*sin(t2)) + 2*r4*(-2*r2*r4*cos(t2) + 2*r1*r4*cos(t1))*cos(t1) + 2*r4*(-2*r2*r4*sin(t2) + 2*r1*r4*sin(t1))*sin(t1))) + (r1**2 + r2**2 + r4**2 - r3**2 - 2*r1*r4*cos(t1) + 2*r2*r4*cos(t2) - 2*r1*r2*cos(t1)*cos(t2)*sin(t1)*sin(t2))**(-2)*(-2*r1 + 2*r4*cos(t1) + 2*r2*cos(t1)*cos(t2)*sin(t1)*sin(t2))*(sig*((-2*r2*r4*cos(t2) + 2*r1*r4*cos(t1))**2 + (-2*r2*r4*sin(t2) + 2*r1*r4*sin(t1))**2 - (r1**2 + r2**2 + r4**2 - r3**2 - 2*r1*r2*cos(t1)*cos(t2)*sin(t1)*sin(t2))**2)**0.5 - 2*r1*r4*sin(t1) + 2*r2*r4*sin(t2)))*cos(2*atan(1/(r1**2 + r2**2 + r4**2 - r3**2 - 2*r1*r4*cos(t1) + 2*r2*r4*cos(t2) - 2*r1*r2*cos(t1)*cos(t2)*sin(t1)*sin(t2))*(sig*((-2*r2*r4*cos(t2) + 2*r1*r4*cos(t1))**2 + (-2*r2*r4*sin(t2) + 2*r1*r4*sin(t1))**2 - (r1**2 + r2**2 + r4**2 - r3**2 - 2*r1*r2*cos(t1)*cos(t2)*sin(t1)*sin(t2))**2)**0.5 - 2*r1*r4*sin(t1) + 2*r2*r4*sin(t2)))) + sin(t1)) + hy*(-cos(t1) + 2*r4/(1 + (sig*((-2*r2*r4*cos(t2) + 2*r1*r4*cos(t1))**2 + (-2*r2*r4*sin(t2) + 2*r1*r4*sin(t1))**2 - (r1**2 + r2**2 + r4**2 - r3**2 - 2*r1*r2*cos(t1)*cos(t2)*sin(t1)*sin(t2))**2)**0.5 - 2*r1*r4*sin(t1) + 2*r2*r4*sin(t2))**2*(r1**2 + r2**2 + r4**2 - r3**2 - 2*r1*r4*cos(t1) + 2*r2*r4*cos(t2) - 2*r1*r2*cos(t1)*cos(t2)*sin(t1)*sin(t2))**(-2))*(1/(r1**2 + r2**2 + r4**2 - r3**2 - 2*r1*r4*cos(t1) + 2*r2*r4*cos(t2) - 2*r1*r2*cos(t1)*cos(t2)*sin(t1)*sin(t2))*(-2*r4*sin(t1) + sig*((-2*r2*r4*cos(t2) + 2*r1*r4*cos(t1))**2 + (-2*r2*r4*sin(t2) + 2*r1*r4*sin(t1))**2 - (r1**2 + r2**2 + r4**2 - r3**2 - 2*r1*r2*cos(t1)*cos(t2)*sin(t1)*sin(t2))**2)**-0.5*(-0.5*(4*r1 - 4*r2*cos(t1)*cos(t2)*sin(t1)*sin(t2))*(r1**2 + r2**2 + r4**2 - r3**2 - 2*r1*r2*cos(t1)*cos(t2)*sin(t1)*sin(t2)) + 2*r4*(-2*r2*r4*cos(t2) + 2*r1*r4*cos(t1))*cos(t1) + 2*r4*(-2*r2*r4*sin(t2) + 2*r1*r4*sin(t1))*sin(t1))) + (r1**2 + r2**2 + r4**2 - r3**2 - 2*r1*r4*cos(t1) + 2*r2*r4*cos(t2) - 2*r1*r2*cos(t1)*cos(t2)*sin(t1)*sin(t2))**(-2)*(-2*r1 + 2*r4*cos(t1) + 2*r2*cos(t1)*cos(t2)*sin(t1)*sin(t2))*(sig*((-2*r2*r4*cos(t2) + 2*r1*r4*cos(t1))**2 + (-2*r2*r4*sin(t2) + 2*r1*r4*sin(t1))**2 - (r1**2 + r2**2 + r4**2 - r3**2 - 2*r1*r2*cos(t1)*cos(t2)*sin(t1)*sin(t2))**2)**0.5 - 2*r1*r4*sin(t1) + 2*r2*r4*sin(t2)))*sin(2*atan(1/(r1**2 + r2**2 + r4**2 - r3**2 - 2*r1*r4*cos(t1) + 2*r2*r4*cos(t2) - 2*r1*r2*cos(t1)*cos(t2)*sin(t1)*sin(t2))*(sig*((-2*r2*r4*cos(t2) + 2*r1*r4*cos(t1))**2 + (-2*r2*r4*sin(t2) + 2*r1*r4*sin(t1))**2 - (r1**2 + r2**2 + r4**2 - r3**2 - 2*r1*r2*cos(t1)*cos(t2)*sin(t1)*sin(t2))**2)**0.5 - 2*r1*r4*sin(t1) + 2*r2*r4*sin(t2))))) 
hy*(2*r4/(1 + (sig*((-2*r2*r4*cos(t2) + 2*r1*r4*cos(t1))**2 + (-2*r2*r4*sin(t2) + 2*r1*r4*sin(t1))**2 - (r1**2 + r2**2 + r4**2 - r3**2 - 2*r1*r2*cos(t1)*cos(t2)*sin(t1)*sin(t2))**2)**0.5 - 2*r1*r4*sin(t1) + 2*r2*r4*sin(t2))**2*(r1**2 + r2**2 + r4**2 - r3**2 - 2*r1*r4*cos(t1) + 2*r2*r4*cos(t2) - 2*r1*r2*cos(t1)*cos(t2)*sin(t1)*sin(t2))**(-2))*(1/(r1**2 + r2**2 + r4**2 - r3**2 - 2*r1*r4*cos(t1) + 2*r2*r4*cos(t2) - 2*r1*r2*cos(t1)*cos(t2)*sin(t1)*sin(t2))*(2*r4*sin(t2) + sig*((-2*r2*r4*cos(t2) + 2*r1*r4*cos(t1))**2 + (-2*r2*r4*sin(t2) + 2*r1*r4*sin(t1))**2 - (r1**2 + r2**2 + r4**2 - r3**2 - 2*r1*r2*cos(t1)*cos(t2)*sin(t1)*sin(t2))**2)**-0.5*(-0.5*(4*r2 - 4*r1*cos(t1)*cos(t2)*sin(t1)*sin(t2))*(r1**2 + r2**2 + r4**2 - r3**2 - 2*r1*r2*cos(t1)*cos(t2)*sin(t1)*sin(t2)) - 2*r4*(-2*r2*r4*cos(t2) + 2*r1*r4*cos(t1))*cos(t2) - 2*r4*(-2*r2*r4*sin(t2) + 2*r1*r4*sin(t1))*sin(t2))) + (r1**2 + r2**2 + r4**2 - r3**2 - 2*r1*r4*cos(t1) + 2*r2*r4*cos(t2) - 2*r1*r2*cos(t1)*cos(t2)*sin(t1)*sin(t2))**(-2)*(-2*r2 - 2*r4*cos(t2) + 2*r1*cos(t1)*cos(t2)*sin(t1)*sin(t2))*(sig*((-2*r2*r4*cos(t2) + 2*r1*r4*cos(t1))**2 + (-2*r2*r4*sin(t2) + 2*r1*r4*sin(t1))**2 - (r1**2 + r2**2 + r4**2 - r3**2 - 2*r1*r2*cos(t1)*cos(t2)*sin(t1)*sin(t2))**2)**0.5 - 2*r1*r4*sin(t1) + 2*r2*r4*sin(t2)))*sin(2*atan(1/(r1**2 + r2**2 + r4**2 - r3**2 - 2*r1*r4*cos(t1) + 2*r2*r4*cos(t2) - 2*r1*r2*cos(t1)*cos(t2)*sin(t1)*sin(t2))*(sig*((-2*r2*r4*cos(t2) + 2*r1*r4*cos(t1))**2 + (-2*r2*r4*sin(t2) + 2*r1*r4*sin(t1))**2 - (r1**2 + r2**2 + r4**2 - r3**2 - 2*r1*r2*cos(t1)*cos(t2)*sin(t1)*sin(t2))**2)**0.5 - 2*r1*r4*sin(t1) + 2*r2*r4*sin(t2)))) + cos(t2)) + (1 - hx)*sin(t2) + 2*hx*r4/(1 + (sig*((-2*r2*r4*cos(t2) + 2*r1*r4*cos(t1))**2 + (-2*r2*r4*sin(t2) + 2*r1*r4*sin(t1))**2 - (r1**2 + r2**2 + r4**2 - r3**2 - 2*r1*r2*cos(t1)*cos(t2)*sin(t1)*sin(t2))**2)**0.5 - 2*r1*r4*sin(t1) + 2*r2*r4*sin(t2))**2*(r1**2 + r2**2 + r4**2 - r3**2 - 2*r1*r4*cos(t1) + 2*r2*r4*cos(t2) - 2*r1*r2*cos(t1)*cos(t2)*sin(t1)*sin(t2))**(-2))*(1/(r1**2 + r2**2 + r4**2 - r3**2 - 2*r1*r4*cos(t1) + 2*r2*r4*cos(t2) - 2*r1*r2*cos(t1)*cos(t2)*sin(t1)*sin(t2))*(2*r4*sin(t2) + sig*((-2*r2*r4*cos(t2) + 2*r1*r4*cos(t1))**2 + (-2*r2*r4*sin(t2) + 2*r1*r4*sin(t1))**2 - (r1**2 + r2**2 + r4**2 - r3**2 - 2*r1*r2*cos(t1)*cos(t2)*sin(t1)*sin(t2))**2)**-0.5*(-0.5*(4*r2 - 4*r1*cos(t1)*cos(t2)*sin(t1)*sin(t2))*(r1**2 + r2**2 + r4**2 - r3**2 - 2*r1*r2*cos(t1)*cos(t2)*sin(t1)*sin(t2)) - 2*r4*(-2*r2*r4*cos(t2) + 2*r1*r4*cos(t1))*cos(t2) - 2*r4*(-2*r2*r4*sin(t2) + 2*r1*r4*sin(t1))*sin(t2))) + (r1**2 + r2**2 + r4**2 - r3**2 - 2*r1*r4*cos(t1) + 2*r2*r4*cos(t2) - 2*r1*r2*cos(t1)*cos(t2)*sin(t1)*sin(t2))**(-2)*(-2*r2 - 2*r4*cos(t2) + 2*r1*cos(t1)*cos(t2)*sin(t1)*sin(t2))*(sig*((-2*r2*r4*cos(t2) + 2*r1*r4*cos(t1))**2 + (-2*r2*r4*sin(t2) + 2*r1*r4*sin(t1))**2 - (r1**2 + r2**2 + r4**2 - r3**2 - 2*r1*r2*cos(t1)*cos(t2)*sin(t1)*sin(t2))**2)**0.5 - 2*r1*r4*sin(t1) + 2*r2*r4*sin(t2)))*cos(2*atan(1/(r1**2 + r2**2 + r4**2 - r3**2 - 2*r1*r4*cos(t1) + 2*r2*r4*cos(t2) - 2*r1*r2*cos(t1)*cos(t2)*sin(t1)*sin(t2))*(sig*((-2*r2*r4*cos(t2) + 2*r1*r4*cos(t1))**2 + (-2*r2*r4*sin(t2) + 2*r1*r4*sin(t1))**2 - (r1**2 + r2**2 + r4**2 - r3**2 - 2*r1*r2*cos(t1)*cos(t2)*sin(t1)*sin(t2))**2)**0.5 - 2*r1*r4*sin(t1) + 2*r2*r4*sin(t2)))) 
2*hx*r4/(1 + (sig*((-2*r2*r4*cos(t2) + 2*r1*r4*cos(t1))**2 + (-2*r2*r4*sin(t2) + 2*r1*r4*sin(t1))**2 - (r1**2 + r2**2 + r4**2 - r3**2 - 2*r1*r2*cos(t1)*cos(t2)*sin(t1)*sin(t2))**2)**0.5 - 2*r1*r4*sin(t1) + 2*r2*r4*sin(t2))**2*(r1**2 + r2**2 + r4**2 - r3**2 - 2*r1*r4*cos(t1) + 2*r2*r4*cos(t2) - 2*r1*r2*cos(t1)*cos(t2)*sin(t1)*sin(t2))**(-2))*(2*r3*(r1**2 + r2**2 + r4**2 - r3**2 - 2*r1*r4*cos(t1) + 2*r2*r4*cos(t2) - 2*r1*r2*cos(t1)*cos(t2)*sin(t1)*sin(t2))**(-2)*(sig*((-2*r2*r4*cos(t2) + 2*r1*r4*cos(t1))**2 + (-2*r2*r4*sin(t2) + 2*r1*r4*sin(t1))**2 - (r1**2 + r2**2 + r4**2 - r3**2 - 2*r1*r2*cos(t1)*cos(t2)*sin(t1)*sin(t2))**2)**0.5 - 2*r1*r4*sin(t1) + 2*r2*r4*sin(t2)) + 2*r3*sig*((-2*r2*r4*cos(t2) + 2*r1*r4*cos(t1))**2 + (-2*r2*r4*sin(t2) + 2*r1*r4*sin(t1))**2 - (r1**2 + r2**2 + r4**2 - r3**2 - 2*r1*r2*cos(t1)*cos(t2)*sin(t1)*sin(t2))**2)**-0.5/(r1**2 + r2**2 + r4**2 - r3**2 - 2*r1*r4*cos(t1) + 2*r2*r4*cos(t2) - 2*r1*r2*cos(t1)*cos(t2)*sin(t1)*sin(t2))*(r1**2 + r2**2 + r4**2 - r3**2 - 2*r1*r2*cos(t1)*cos(t2)*sin(t1)*sin(t2)))*cos(2*atan(1/(r1**2 + r2**2 + r4**2 - r3**2 - 2*r1*r4*cos(t1) + 2*r2*r4*cos(t2) - 2*r1*r2*cos(t1)*cos(t2)*sin(t1)*sin(t2))*(sig*((-2*r2*r4*cos(t2) + 2*r1*r4*cos(t1))**2 + (-2*r2*r4*sin(t2) + 2*r1*r4*sin(t1))**2 - (r1**2 + r2**2 + r4**2 - r3**2 - 2*r1*r2*cos(t1)*cos(t2)*sin(t1)*sin(t2))**2)**0.5 - 2*r1*r4*sin(t1) + 2*r2*r4*sin(t2)))) + 2*hy*r4/(1 + (sig*((-2*r2*r4*cos(t2) + 2*r1*r4*cos(t1))**2 + (-2*r2*r4*sin(t2) + 2*r1*r4*sin(t1))**2 - (r1**2 + r2**2 + r4**2 - r3**2 - 2*r1*r2*cos(t1)*cos(t2)*sin(t1)*sin(t2))**2)**0.5 - 2*r1*r4*sin(t1) + 2*r2*r4*sin(t2))**2*(r1**2 + r2**2 + r4**2 - r3**2 - 2*r1*r4*cos(t1) + 2*r2*r4*cos(t2) - 2*r1*r2*cos(t1)*cos(t2)*sin(t1)*sin(t2))**(-2))*(2*r3*(r1**2 + r2**2 + r4**2 - r3**2 - 2*r1*r4*cos(t1) + 2*r2*r4*cos(t2) - 2*r1*r2*cos(t1)*cos(t2)*sin(t1)*sin(t2))**(-2)*(sig*((-2*r2*r4*cos(t2) + 2*r1*r4*cos(t1))**2 + (-2*r2*r4*sin(t2) + 2*r1*r4*sin(t1))**2 - (r1**2 + r2**2 + r4**2 - r3**2 - 2*r1*r2*cos(t1)*cos(t2)*sin(t1)*sin(t2))**2)**0.5 - 2*r1*r4*sin(t1) + 2*r2*r4*sin(t2)) + 2*r3*sig*((-2*r2*r4*cos(t2) + 2*r1*r4*cos(t1))**2 + (-2*r2*r4*sin(t2) + 2*r1*r4*sin(t1))**2 - (r1**2 + r2**2 + r4**2 - r3**2 - 2*r1*r2*cos(t1)*cos(t2)*sin(t1)*sin(t2))**2)**-0.5/(r1**2 + r2**2 + r4**2 - r3**2 - 2*r1*r4*cos(t1) + 2*r2*r4*cos(t2) - 2*r1*r2*cos(t1)*cos(t2)*sin(t1)*sin(t2))*(r1**2 + r2**2 + r4**2 - r3**2 - 2*r1*r2*cos(t1)*cos(t2)*sin(t1)*sin(t2)))*sin(2*atan(1/(r1**2 + r2**2 + r4**2 - r3**2 - 2*r1*r4*cos(t1) + 2*r2*r4*cos(t2) - 2*r1*r2*cos(t1)*cos(t2)*sin(t1)*sin(t2))*(sig*((-2*r2*r4*cos(t2) + 2*r1*r4*cos(t1))**2 + (-2*r2*r4*sin(t2) + 2*r1*r4*sin(t1))**2 - (r1**2 + r2**2 + r4**2 - r3**2 - 2*r1*r2*cos(t1)*cos(t2)*sin(t1)*sin(t2))**2)**0.5 - 2*r1*r4*sin(t1) + 2*r2*r4*sin(t2)))) 
hx*(2*r4/(1 + (sig*((-2*r2*r4*cos(t2) + 2*r1*r4*cos(t1))**2 + (-2*r2*r4*sin(t2) + 2*r1*r4*sin(t1))**2 - (r1**2 + r2**2 + r4**2 - r3**2 - 2*r1*r2*cos(t1)*cos(t2)*sin(t1)*sin(t2))**2)**0.5 - 2*r1*r4*sin(t1) + 2*r2*r4*sin(t2))**2*(r1**2 + r2**2 + r4**2 - r3**2 - 2*r1*r4*cos(t1) + 2*r2*r4*cos(t2) - 2*r1*r2*cos(t1)*cos(t2)*sin(t1)*sin(t2))**(-2))*(1/(r1**2 + r2**2 + r4**2 - r3**2 - 2*r1*r4*cos(t1) + 2*r2*r4*cos(t2) - 2*r1*r2*cos(t1)*cos(t2)*sin(t1)*sin(t2))*(-2*r1*sin(t1) + 2*r2*sin(t2) + sig*((-2*r2*r4*cos(t2) + 2*r1*r4*cos(t1))**2 + (-2*r2*r4*sin(t2) + 2*r1*r4*sin(t1))**2 - (r1**2 + r2**2 + r4**2 - r3**2 - 2*r1*r2*cos(t1)*cos(t2)*sin(t1)*sin(t2))**2)**-0.5*(-2*r4*(r1**2 + r2**2 + r4**2 - r3**2 - 2*r1*r2*cos(t1)*cos(t2)*sin(t1)*sin(t2)) + 0.5*(-4*r2*cos(t2) + 4*r1*cos(t1))*(-2*r2*r4*cos(t2) + 2*r1*r4*cos(t1)) + 0.5*(-4*r2*sin(t2) + 4*r1*sin(t1))*(-2*r2*r4*sin(t2) + 2*r1*r4*sin(t1)))) + (r1**2 + r2**2 + r4**2 - r3**2 - 2*r1*r4*cos(t1) + 2*r2*r4*cos(t2) - 2*r1*r2*cos(t1)*cos(t2)*sin(t1)*sin(t2))**(-2)*(-2*r4 - 2*r2*cos(t2) + 2*r1*cos(t1))*(sig*((-2*r2*r4*cos(t2) + 2*r1*r4*cos(t1))**2 + (-2*r2*r4*sin(t2) + 2*r1*r4*sin(t1))**2 - (r1**2 + r2**2 + r4**2 - r3**2 - 2*r1*r2*cos(t1)*cos(t2)*sin(t1)*sin(t2))**2)**0.5 - 2*r1*r4*sin(t1) + 2*r2*r4*sin(t2)))*cos(2*atan(1/(r1**2 + r2**2 + r4**2 - r3**2 - 2*r1*r4*cos(t1) + 2*r2*r4*cos(t2) - 2*r1*r2*cos(t1)*cos(t2)*sin(t1)*sin(t2))*(sig*((-2*r2*r4*cos(t2) + 2*r1*r4*cos(t1))**2 + (-2*r2*r4*sin(t2) + 2*r1*r4*sin(t1))**2 - (r1**2 + r2**2 + r4**2 - r3**2 - 2*r1*r2*cos(t1)*cos(t2)*sin(t1)*sin(t2))**2)**0.5 - 2*r1*r4*sin(t1) + 2*r2*r4*sin(t2)))) + sin(2*atan(1/(r1**2 + r2**2 + r4**2 - r3**2 - 2*r1*r4*cos(t1) + 2*r2*r4*cos(t2) - 2*r1*r2*cos(t1)*cos(t2)*sin(t1)*sin(t2))*(sig*((-2*r2*r4*cos(t2) + 2*r1*r4*cos(t1))**2 + (-2*r2*r4*sin(t2) + 2*r1*r4*sin(t1))**2 - (r1**2 + r2**2 + r4**2 - r3**2 - 2*r1*r2*cos(t1)*cos(t2)*sin(t1)*sin(t2))**2)**0.5 - 2*r1*r4*sin(t1) + 2*r2*r4*sin(t2))))) + hy*(-cos(2*atan(1/(r1**2 + r2**2 + r4**2 - r3**2 - 2*r1*r4*cos(t1) + 2*r2*r4*cos(t2) - 2*r1*r2*cos(t1)*cos(t2)*sin(t1)*sin(t2))*(sig*((-2*r2*r4*cos(t2) + 2*r1*r4*cos(t1))**2 + (-2*r2*r4*sin(t2) + 2*r1*r4*sin(t1))**2 - (r1**2 + r2**2 + r4**2 - r3**2 - 2*r1*r2*cos(t1)*cos(t2)*sin(t1)*sin(t2))**2)**0.5 - 2*r1*r4*sin(t1) + 2*r2*r4*sin(t2)))) + 2*r4/(1 + (sig*((-2*r2*r4*cos(t2) + 2*r1*r4*cos(t1))**2 + (-2*r2*r4*sin(t2) + 2*r1*r4*sin(t1))**2 - (r1**2 + r2**2 + r4**2 - r3**2 - 2*r1*r2*cos(t1)*cos(t2)*sin(t1)*sin(t2))**2)**0.5 - 2*r1*r4*sin(t1) + 2*r2*r4*sin(t2))**2*(r1**2 + r2**2 + r4**2 - r3**2 - 2*r1*r4*cos(t1) + 2*r2*r4*cos(t2) - 2*r1*r2*cos(t1)*cos(t2)*sin(t1)*sin(t2))**(-2))*(1/(r1**2 + r2**2 + r4**2 - r3**2 - 2*r1*r4*cos(t1) + 2*r2*r4*cos(t2) - 2*r1*r2*cos(t1)*cos(t2)*sin(t1)*sin(t2))*(-2*r1*sin(t1) + 2*r2*sin(t2) + sig*((-2*r2*r4*cos(t2) + 2*r1*r4*cos(t1))**2 + (-2*r2*r4*sin(t2) + 2*r1*r4*sin(t1))**2 - (r1**2 + r2**2 + r4**2 - r3**2 - 2*r1*r2*cos(t1)*cos(t2)*sin(t1)*sin(t2))**2)**-0.5*(-2*r4*(r1**2 + r2**2 + r4**2 - r3**2 - 2*r1*r2*cos(t1)*cos(t2)*sin(t1)*sin(t2)) + 0.5*(-4*r2*cos(t2) + 4*r1*cos(t1))*(-2*r2*r4*cos(t2) + 2*r1*r4*cos(t1)) + 0.5*(-4*r2*sin(t2) + 4*r1*sin(t1))*(-2*r2*r4*sin(t2) + 2*r1*r4*sin(t1)))) + (r1**2 + r2**2 + r4**2 - r3**2 - 2*r1*r4*cos(t1) + 2*r2*r4*cos(t2) - 2*r1*r2*cos(t1)*cos(t2)*sin(t1)*sin(t2))**(-2)*(-2*r4 - 2*r2*cos(t2) + 2*r1*cos(t1))*(sig*((-2*r2*r4*cos(t2) + 2*r1*r4*cos(t1))**2 + (-2*r2*r4*sin(t2) + 2*r1*r4*sin(t1))**2 - (r1**2 + r2**2 + r4**2 - r3**2 - 2*r1*r2*cos(t1)*cos(t2)*sin(t1)*sin(t2))**2)**0.5 - 2*r1*r4*sin(t1) + 2*r2*r4*sin(t2)))*sin(2*atan(1/(r1**2 + r2**2 + r4**2 - r3**2 - 2*r1*r4*cos(t1) + 2*r2*r4*cos(t2) - 2*r1*r2*cos(t1)*cos(t2)*sin(t1)*sin(t2))*(sig*((-2*r2*r4*cos(t2) + 2*r1*r4*cos(t1))**2 + (-2*r2*r4*sin(t2) + 2*r1*r4*sin(t1))**2 - (r1**2 + r2**2 + r4**2 - r3**2 - 2*r1*r2*cos(t1)*cos(t2)*sin(t1)*sin(t2))**2)**0.5 - 2*r1*r4*sin(t1) + 2*r2*r4*sin(t2))))) 
hx*(r1*cos(t1) + 2*r4/(1 + (sig*((-2*r2*r4*cos(t2) + 2*r1*r4*cos(t1))**2 + (-2*r2*r4*sin(t2) + 2*r1*r4*sin(t1))**2 - (r1**2 + r2**2 + r4**2 - r3**2 - 2*r1*r2*cos(t1)*cos(t2)*sin(t1)*sin(t2))**2)**0.5 - 2*r1*r4*sin(t1) + 2*r2*r4*sin(t2))**2*(r1**2 + r2**2 + r4**2 - r3**2 - 2*r1*r4*cos(t1) + 2*r2*r4*cos(t2) - 2*r1*r2*cos(t1)*cos(t2)*sin(t1)*sin(t2))**(-2))*(1/(r1**2 + r2**2 + r4**2 - r3**2 - 2*r1*r4*cos(t1) + 2*r2*r4*cos(t2) - 2*r1*r2*cos(t1)*cos(t2)*sin(t1)*sin(t2))*(sig*((-2*r2*r4*cos(t2) + 2*r1*r4*cos(t1))**2 + (-2*r2*r4*sin(t2) + 2*r1*r4*sin(t1))**2 - (r1**2 + r2**2 + r4**2 - r3**2 - 2*r1*r2*cos(t1)*cos(t2)*sin(t1)*sin(t2))**2)**-0.5*(-0.5*(-4*r1*r2*cos(t1)**2*cos(t2)*sin(t2) + 4*r1*r2*sin(t1)**2*cos(t2)*sin(t2))*(r1**2 + r2**2 + r4**2 - r3**2 - 2*r1*r2*cos(t1)*cos(t2)*sin(t1)*sin(t2)) - 2*r1*r4*(-2*r2*r4*cos(t2) + 2*r1*r4*cos(t1))*sin(t1) + 2*r1*r4*(-2*r2*r4*sin(t2) + 2*r1*r4*sin(t1))*cos(t1)) - 2*r1*r4*cos(t1)) + (r1**2 + r2**2 + r4**2 - r3**2 - 2*r1*r4*cos(t1) + 2*r2*r4*cos(t2) - 2*r1*r2*cos(t1)*cos(t2)*sin(t1)*sin(t2))**(-2)*(sig*((-2*r2*r4*cos(t2) + 2*r1*r4*cos(t1))**2 + (-2*r2*r4*sin(t2) + 2*r1*r4*sin(t1))**2 - (r1**2 + r2**2 + r4**2 - r3**2 - 2*r1*r2*cos(t1)*cos(t2)*sin(t1)*sin(t2))**2)**0.5 - 2*r1*r4*sin(t1) + 2*r2*r4*sin(t2))*(-2*r1*r4*sin(t1) - 2*r1*r2*sin(t1)**2*cos(t2)*sin(t2) + 2*r1*r2*cos(t1)**2*cos(t2)*sin(t2)))*cos(2*atan(1/(r1**2 + r2**2 + r4**2 - r3**2 - 2*r1*r4*cos(t1) + 2*r2*r4*cos(t2) - 2*r1*r2*cos(t1)*cos(t2)*sin(t1)*sin(t2))*(sig*((-2*r2*r4*cos(t2) + 2*r1*r4*cos(t1))**2 + (-2*r2*r4*sin(t2) + 2*r1*r4*sin(t1))**2 - (r1**2 + r2**2 + r4**2 - r3**2 - 2*r1*r2*cos(t1)*cos(t2)*sin(t1)*sin(t2))**2)**0.5 - 2*r1*r4*sin(t1) + 2*r2*r4*sin(t2))))) + hy*(r1*sin(t1) + 2*r4/(1 + (sig*((-2*r2*r4*cos(t2) + 2*r1*r4*cos(t1))**2 + (-2*r2*r4*sin(t2) + 2*r1*r4*sin(t1))**2 - (r1**2 + r2**2 + r4**2 - r3**2 - 2*r1*r2*cos(t1)*cos(t2)*sin(t1)*sin(t2))**2)**0.5 - 2*r1*r4*sin(t1) + 2*r2*r4*sin(t2))**2*(r1**2 + r2**2 + r4**2 - r3**2 - 2*r1*r4*cos(t1) + 2*r2*r4*cos(t2) - 2*r1*r2*cos(t1)*cos(t2)*sin(t1)*sin(t2))**(-2))*(1/(r1**2 + r2**2 + r4**2 - r3**2 - 2*r1*r4*cos(t1) + 2*r2*r4*cos(t2) - 2*r1*r2*cos(t1)*cos(t2)*sin(t1)*sin(t2))*(sig*((-2*r2*r4*cos(t2) + 2*r1*r4*cos(t1))**2 + (-2*r2*r4*sin(t2) + 2*r1*r4*sin(t1))**2 - (r1**2 + r2**2 + r4**2 - r3**2 - 2*r1*r2*cos(t1)*cos(t2)*sin(t1)*sin(t2))**2)**-0.5*(-0.5*(-4*r1*r2*cos(t1)**2*cos(t2)*sin(t2) + 4*r1*r2*sin(t1)**2*cos(t2)*sin(t2))*(r1**2 + r2**2 + r4**2 - r3**2 - 2*r1*r2*cos(t1)*cos(t2)*sin(t1)*sin(t2)) - 2*r1*r4*(-2*r2*r4*cos(t2) + 2*r1*r4*cos(t1))*sin(t1) + 2*r1*r4*(-2*r2*r4*sin(t2) + 2*r1*r4*sin(t1))*cos(t1)) - 2*r1*r4*cos(t1)) + (r1**2 + r2**2 + r4**2 - r3**2 - 2*r1*r4*cos(t1) + 2*r2*r4*cos(t2) - 2*r1*r2*cos(t1)*cos(t2)*sin(t1)*sin(t2))**(-2)*(sig*((-2*r2*r4*cos(t2) + 2*r1*r4*cos(t1))**2 + (-2*r2*r4*sin(t2) + 2*r1*r4*sin(t1))**2 - (r1**2 + r2**2 + r4**2 - r3**2 - 2*r1*r2*cos(t1)*cos(t2)*sin(t1)*sin(t2))**2)**0.5 - 2*r1*r4*sin(t1) + 2*r2*r4*sin(t2))*(-2*r1*r4*sin(t1) - 2*r1*r2*sin(t1)**2*cos(t2)*sin(t2) + 2*r1*r2*cos(t1)**2*cos(t2)*sin(t2)))*sin(2*atan(1/(r1**2 + r2**2 + r4**2 - r3**2 - 2*r1*r4*cos(t1) + 2*r2*r4*cos(t2) - 2*r1*r2*cos(t1)*cos(t2)*sin(t1)*sin(t2))*(sig*((-2*r2*r4*cos(t2) + 2*r1*r4*cos(t1))**2 + (-2*r2*r4*sin(t2) + 2*r1*r4*sin(t1))**2 - (r1**2 + r2**2 + r4**2 - r3**2 - 2*r1*r2*cos(t1)*cos(t2)*sin(t1)*sin(t2))**2)**0.5 - 2*r1*r4*sin(t1) + 2*r2*r4*sin(t2))))) 
0 
1 
r1*sin(t1) + r4*sin(2*atan(1/(r1**2 + r2**2 + r4**2 - r3**2 - 2*r1*r4*cos(t1) + 2*r2*r4*cos(t2) - 2*r1*r2*cos(t1)*cos(t2)*sin(t1)*sin(t2))*(sig*((-2*r2*r4*cos(t2) + 2*r1*r4*cos(t1))**2 + (-2*r2*r4*sin(t2) + 2*r1*r4*sin(t1))**2 - (r1**2 + r2**2 + r4**2 - r3**2 - 2*r1*r2*cos(t1)*cos(t2)*sin(t1)*sin(t2))**2)**0.5 - 2*r1*r4*sin(t1) + 2*r2*r4*sin(t2)))) - r2*sin(t2) 
r2*cos(t2) - r1*cos(t1) - r4*cos(2*atan(1/(r1**2 + r2**2 + r4**2 - r3**2 - 2*r1*r4*cos(t1) + 2*r2*r4*cos(t2) - 2*r1*r2*cos(t1)*cos(t2)*sin(t1)*sin(t2))*(sig*((-2*r2*r4*cos(t2) + 2*r1*r4*cos(t1))**2 + (-2*r2*r4*sin(t2) + 2*r1*r4*sin(t1))**2 - (r1**2 + r2**2 + r4**2 - r3**2 - 2*r1*r2*cos(t1)*cos(t2)*sin(t1)*sin(t2))**2)**0.5 - 2*r1*r4*sin(t1) + 2*r2*r4*sin(t2)))) 

dS_x/dt2:

hy*(r2*cos(t2) - 2*r4/(1 + (sig*((-2*r2*r4*cos(t2) + 2*r1*r4*cos(t1))**2 + (-2*r2*r4*sin(t2) + 2*r1*r4*sin(t1))**2 - (r1**2 + r2**2 + r4**2 - r3**2 - 2*r1*r2*cos(t1)*cos(t2)*sin(t1)*sin(t2))**2)**0.5 - 2*r1*r4*sin(t1) + 2*r2*r4*sin(t2))**2*(r1**2 + r2**2 + r4**2 - r3**2 - 2*r1*r4*cos(t1) + 2*r2*r4*cos(t2) - 2*r1*r2*cos(t1)*cos(t2)*sin(t1)*sin(t2))**(-2))*(1/(r1**2 + r2**2 + r4**2 - r3**2 - 2*r1*r4*cos(t1) + 2*r2*r4*cos(t2) - 2*r1*r2*cos(t1)*cos(t2)*sin(t1)*sin(t2))*(sig*((-2*r2*r4*cos(t2) + 2*r1*r4*cos(t1))**2 + (-2*r2*r4*sin(t2) + 2*r1*r4*sin(t1))**2 - (r1**2 + r2**2 + r4**2 - r3**2 - 2*r1*r2*cos(t1)*cos(t2)*sin(t1)*sin(t2))**2)**-0.5*(-0.5*(-4*r1*r2*cos(t2)**2*cos(t1)*sin(t1) + 4*r1*r2*sin(t2)**2*cos(t1)*sin(t1))*(r1**2 + r2**2 + r4**2 - r3**2 - 2*r1*r2*cos(t1)*cos(t2)*sin(t1)*sin(t2)) - 2*r2*r4*(-2*r2*r4*sin(t2) + 2*r1*r4*sin(t1))*cos(t2) + 2*r2*r4*(-2*r2*r4*cos(t2) + 2*r1*r4*cos(t1))*sin(t2)) + 2*r2*r4*cos(t2)) + (r1**2 + r2**2 + r4**2 - r3**2 - 2*r1*r4*cos(t1) + 2*r2*r4*cos(t2) - 2*r1*r2*cos(t1)*cos(t2)*sin(t1)*sin(t2))**(-2)*(sig*((-2*r2*r4*cos(t2) + 2*r1*r4*cos(t1))**2 + (-2*r2*r4*sin(t2) + 2*r1*r4*sin(t1))**2 - (r1**2 + r2**2 + r4**2 - r3**2 - 2*r1*r2*cos(t1)*cos(t2)*sin(t1)*sin(t2))**2)**0.5 - 2*r1*r4*sin(t1) + 2*r2*r4*sin(t2))*(2*r2*r4*sin(t2) - 2*r1*r2*sin(t2)**2*cos(t1)*sin(t1) + 2*r1*r2*cos(t2)**2*cos(t1)*sin(t1)))*cos(2*atan(1/(r1**2 + r2**2 + r4**2 - r3**2 - 2*r1*r4*cos(t1) + 2*r2*r4*cos(t2) - 2*r1*r2*cos(t1)*cos(t2)*sin(t1)*sin(t2))*(sig*((-2*r2*r4*cos(t2) + 2*r1*r4*cos(t1))**2 + (-2*r2*r4*sin(t2) + 2*r1*r4*sin(t1))**2 - (r1**2 + r2**2 + r4**2 - r3**2 - 2*r1*r2*cos(t1)*cos(t2)*sin(t1)*sin(t2))**2)**0.5 - 2*r1*r4*sin(t1) + 2*r2*r4*sin(t2))))) - r2*(1 - hx)*sin(t2) - 2*hx*r4/(1 + (sig*((-2*r2*r4*cos(t2) + 2*r1*r4*cos(t1))**2 + (-2*r2*r4*sin(t2) + 2*r1*r4*sin(t1))**2 - (r1**2 + r2**2 + r4**2 - r3**2 - 2*r1*r2*cos(t1)*cos(t2)*sin(t1)*sin(t2))**2)**0.5 - 2*r1*r4*sin(t1) + 2*r2*r4*sin(t2))**2*(r1**2 + r2**2 + r4**2 - r3**2 - 2*r1*r4*cos(t1) + 2*r2*r4*cos(t2) - 2*r1*r2*cos(t1)*cos(t2)*sin(t1)*sin(t2))**(-2))*(1/(r1**2 + r2**2 + r4**2 - r3**2 - 2*r1*r4*cos(t1) + 2*r2*r4*cos(t2) - 2*r1*r2*cos(t1)*cos(t2)*sin(t1)*sin(t2))*(sig*((-2*r2*r4*cos(t2) + 2*r1*r4*cos(t1))**2 + (-2*r2*r4*sin(t2) + 2*r1*r4*sin(t1))**2 - (r1**2 + r2**2 + r4**2 - r3**2 - 2*r1*r2*cos(t1)*cos(t2)*sin(t1)*sin(t2))**2)**-0.5*(-0.5*(-4*r1*r2*cos(t2)**2*cos(t1)*sin(t1) + 4*r1*r2*sin(t2)**2*cos(t1)*sin(t1))*(r1**2 + r2**2 + r4**2 - r3**2 - 2*r1*r2*cos(t1)*cos(t2)*sin(t1)*sin(t2)) - 2*r2*r4*(-2*r2*r4*sin(t2) + 2*r1*r4*sin(t1))*cos(t2) + 2*r2*r4*(-2*r2*r4*cos(t2) + 2*r1*r4*cos(t1))*sin(t2)) + 2*r2*r4*cos(t2)) + (r1**2 + r2**2 + r4**2 - r3**2 - 2*r1*r4*cos(t1) + 2*r2*r4*cos(t2) - 2*r1*r2*cos(t1)*cos(t2)*sin(t1)*sin(t2))**(-2)*(sig*((-2*r2*r4*cos(t2) + 2*r1*r4*cos(t1))**2 + (-2*r2*r4*sin(t2) + 2*r1*r4*sin(t1))**2 - (r1**2 + r2**2 + r4**2 - r3**2 - 2*r1*r2*cos(t1)*cos(t2)*sin(t1)*sin(t2))**2)**0.5 - 2*r1*r4*sin(t1) + 2*r2*r4*sin(t2))*(2*r2*r4*sin(t2) - 2*r1*r2*sin(t2)**2*cos(t1)*sin(t1) + 2*r1*r2*cos(t2)**2*cos(t1)*sin(t1)))*sin(2*atan(1/(r1**2 + r2**2 + r4**2 - r3**2 - 2*r1*r4*cos(t1) + 2*r2*r4*cos(t2) - 2*r1*r2*cos(t1)*cos(t2)*sin(t1)*sin(t2))*(sig*((-2*r2*r4*cos(t2) + 2*r1*r4*cos(t1))**2 + (-2*r2*r4*sin(t2) + 2*r1*r4*sin(t1))**2 - (r1**2 + r2**2 + r4**2 - r3**2 - 2*r1*r2*cos(t1)*cos(t2)*sin(t1)*sin(t2))**2)**0.5 - 2*r1*r4*sin(t1) + 2*r2*r4*sin(t2))))

dSy/dt2:

hy*(-r2*sin(t2) + 2*r4/(1 + (sig*((-2*r2*r4*cos(t2) + 2*r1*r4*cos(t1))**2 + (-2*r2*r4*sin(t2) + 2*r1*r4*sin(t1))**2 - (r1**2 + r2**2 + r4**2 - r3**2 - 2*r1*r2*cos(t1)*cos(t2)*sin(t1)*sin(t2))**2)**0.5 - 2*r1*r4*sin(t1) + 2*r2*r4*sin(t2))**2*(r1**2 + r2**2 + r4**2 - r3**2 - 2*r1*r4*cos(t1) + 2*r2*r4*cos(t2) - 2*r1*r2*cos(t1)*cos(t2)*sin(t1)*sin(t2))**(-2))*(1/(r1**2 + r2**2 + r4**2 - r3**2 - 2*r1*r4*cos(t1) + 2*r2*r4*cos(t2) - 2*r1*r2*cos(t1)*cos(t2)*sin(t1)*sin(t2))*(sig*((-2*r2*r4*cos(t2) + 2*r1*r4*cos(t1))**2 + (-2*r2*r4*sin(t2) + 2*r1*r4*sin(t1))**2 - (r1**2 + r2**2 + r4**2 - r3**2 - 2*r1*r2*cos(t1)*cos(t2)*sin(t1)*sin(t2))**2)**-0.5*(-0.5*(-4*r1*r2*cos(t2)**2*cos(t1)*sin(t1) + 4*r1*r2*sin(t2)**2*cos(t1)*sin(t1))*(r1**2 + r2**2 + r4**2 - r3**2 - 2*r1*r2*cos(t1)*cos(t2)*sin(t1)*sin(t2)) - 2*r2*r4*(-2*r2*r4*sin(t2) + 2*r1*r4*sin(t1))*cos(t2) + 2*r2*r4*(-2*r2*r4*cos(t2) + 2*r1*r4*cos(t1))*sin(t2)) + 2*r2*r4*cos(t2)) + (r1**2 + r2**2 + r4**2 - r3**2 - 2*r1*r4*cos(t1) + 2*r2*r4*cos(t2) - 2*r1*r2*cos(t1)*cos(t2)*sin(t1)*sin(t2))**(-2)*(sig*((-2*r2*r4*cos(t2) + 2*r1*r4*cos(t1))**2 + (-2*r2*r4*sin(t2) + 2*r1*r4*sin(t1))**2 - (r1**2 + r2**2 + r4**2 - r3**2 - 2*r1*r2*cos(t1)*cos(t2)*sin(t1)*sin(t2))**2)**0.5 - 2*r1*r4*sin(t1) + 2*r2*r4*sin(t2))*(2*r2*r4*sin(t2) - 2*r1*r2*sin(t2)**2*cos(t1)*sin(t1) + 2*r1*r2*cos(t2)**2*cos(t1)*sin(t1)))*sin(2*atan(1/(r1**2 + r2**2 + r4**2 - r3**2 - 2*r1*r4*cos(t1) + 2*r2*r4*cos(t2) - 2*r1*r2*cos(t1)*cos(t2)*sin(t1)*sin(t2))*(sig*((-2*r2*r4*cos(t2) + 2*r1*r4*cos(t1))**2 + (-2*r2*r4*sin(t2) + 2*r1*r4*sin(t1))**2 - (r1**2 + r2**2 + r4**2 - r3**2 - 2*r1*r2*cos(t1)*cos(t2)*sin(t1)*sin(t2))**2)**0.5 - 2*r1*r4*sin(t1) + 2*r2*r4*sin(t2))))) + r2*(1 - hx)*cos(t2) + 2*hx*r4/(1 + (sig*((-2*r2*r4*cos(t2) + 2*r1*r4*cos(t1))**2 + (-2*r2*r4*sin(t2) + 2*r1*r4*sin(t1))**2 - (r1**2 + r2**2 + r4**2 - r3**2 - 2*r1*r2*cos(t1)*cos(t2)*sin(t1)*sin(t2))**2)**0.5 - 2*r1*r4*sin(t1) + 2*r2*r4*sin(t2))**2*(r1**2 + r2**2 + r4**2 - r3**2 - 2*r1*r4*cos(t1) + 2*r2*r4*cos(t2) - 2*r1*r2*cos(t1)*cos(t2)*sin(t1)*sin(t2))**(-2))*(1/(r1**2 + r2**2 + r4**2 - r3**2 - 2*r1*r4*cos(t1) + 2*r2*r4*cos(t2) - 2*r1*r2*cos(t1)*cos(t2)*sin(t1)*sin(t2))*(sig*((-2*r2*r4*cos(t2) + 2*r1*r4*cos(t1))**2 + (-2*r2*r4*sin(t2) + 2*r1*r4*sin(t1))**2 - (r1**2 + r2**2 + r4**2 - r3**2 - 2*r1*r2*cos(t1)*cos(t2)*sin(t1)*sin(t2))**2)**-0.5*(-0.5*(-4*r1*r2*cos(t2)**2*cos(t1)*sin(t1) + 4*r1*r2*sin(t2)**2*cos(t1)*sin(t1))*(r1**2 + r2**2 + r4**2 - r3**2 - 2*r1*r2*cos(t1)*cos(t2)*sin(t1)*sin(t2)) - 2*r2*r4*(-2*r2*r4*sin(t2) + 2*r1*r4*sin(t1))*cos(t2) + 2*r2*r4*(-2*r2*r4*cos(t2) + 2*r1*r4*cos(t1))*sin(t2)) + 2*r2*r4*cos(t2)) + (r1**2 + r2**2 + r4**2 - r3**2 - 2*r1*r4*cos(t1) + 2*r2*r4*cos(t2) - 2*r1*r2*cos(t1)*cos(t2)*sin(t1)*sin(t2))**(-2)*(sig*((-2*r2*r4*cos(t2) + 2*r1*r4*cos(t1))**2 + (-2*r2*r4*sin(t2) + 2*r1*r4*sin(t1))**2 - (r1**2 + r2**2 + r4**2 - r3**2 - 2*r1*r2*cos(t1)*cos(t2)*sin(t1)*sin(t2))**2)**0.5 - 2*r1*r4*sin(t1) + 2*r2*r4*sin(t2))*(2*r2*r4*sin(t2) - 2*r1*r2*sin(t2)**2*cos(t1)*sin(t1) + 2*r1*r2*cos(t2)**2*cos(t1)*sin(t1)))*cos(2*atan(1/(r1**2 + r2**2 + r4**2 - r3**2 - 2*r1*r4*cos(t1) + 2*r2*r4*cos(t2) - 2*r1*r2*cos(t1)*cos(t2)*sin(t1)*sin(t2))*(sig*((-2*r2*r4*cos(t2) + 2*r1*r4*cos(t1))**2 + (-2*r2*r4*sin(t2) + 2*r1*r4*sin(t1))**2 - (r1**2 + r2**2 + r4**2 - r3**2 - 2*r1*r2*cos(t1)*cos(t2)*sin(t1)*sin(t2))**2)**0.5 - 2*r1*r4*sin(t1) + 2*r2*r4*sin(t2))))
