aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorjthorn <jthorn@e296648e-0e4f-0410-bd07-d597d9acff87>2002-06-16 19:48:47 +0000
committerjthorn <jthorn@e296648e-0e4f-0410-bd07-d597d9acff87>2002-06-16 19:48:47 +0000
commitdfe7d766284b843bae39dfe532a0eb94389e887b (patch)
tree0aac00cff86312cf65ff7dc32fde3177755b79ae /src
parent1d20738d4e3fca049dcddadd12bddcba3b35a320 (diff)
[[This is a redo of my "cvs import" of 2002/06/11, this time using proper
cvs operations (commit/delete/add) to preserve the full CVS history of this thorn.]] This is a major cleanup/revision of AEIThorns/Exact. Major user-visible changes: * major expansion of doc/documentation.tex * major expansion of documentation in param.ccl file * rename all parameters, systematize spacetime/coordinate/parameter names (there is a perl script in par/convert-pars.pl to convert old parameter files to the new names) * [from Mitica Vulcanov] many additions and fixes to cosmological solutions and Schwarzschild-Lemaitre * fix stress-energy tensor computations so they work -- before they were all disabled in CVS (INCLUDES lines were commented out in interface.ccl) due to requiring excessive friendship with evolution thorns and/or public parameters; new code copies parameters to restricted grid scalars, which Cactus automagically "pushes" to friends * added some more tests to testsuite, though these don't yet work fully Additional internal changes: * rename many Fortran subroutines (and a few C ones too) so their names start with the thorn name to reduce the chances of name collisions with other thorns * move all metrics to subdirectory so the main source directory isn't so cluttered * move two files containing subroutines which were never called (they didn't belong in this thorn, but somehow got into cvs by accident) into new archive/ directory * some (small) improvements in efficiency -- the exact_model parameter is now decoded from a keyword (string) to an integer once at INITIAL, and that integer tested by the stress-energy tensor code, rather than requiring a separate series of string tests at each grid point (!) like the old stress-energy tensor code did Files moved/renamed from ../ to this directory Minkowski_gauge_wave.F moved from ../GaugeWave.F Bianchi_I.F moved from ../bianchiI.F de_Sitter.F moved from ../desitter.F Schwarzschild_EF.F moved from ../finkelstein.F Minkowski_shift.F moved from ../flatshift.F Kasner_like.F moved from ../kasner_l.F Milne.F moved from ../milne.F Schwarzschild_Novikov.F moved from ../novikov.F boost_rotation_symmetric.F moved from ../boostrotmetric.F Minkowski_funny.F moved from ../flatfunny.F Goedel.F moved from ../godel.F Kerr_BoyerLindquist.F moved from ../kerrcart.F Minkowski.F moved from ../minkowski.F Robertson_Walker.F moved from ../rob-wal.F bowl.F moved from ../bowl.F Thorne_fakebinary.F moved from ../fakebinary.F Schwarzschild_PG.F moved from ../flatschwarz.F Kerr_KerrSchild.F moved from ../kerrschild.F multi_BH.F moved from ../multiBH.F constant_density_star.F moved from ../starschwarz.F New files: Alvi.F for Alvi metric, from Nina Jansen Alvidef.c for Alvi metric, from Nina Jansen Bertotti.F from Mitica Vulcanov Kasner_axisymmetric.F from Mitica Vulcanov Kasner_generalized.F from Mitica Vulcanov Lemaitre.F from Mitica Vulcanov Schwarzschild_Lemaitre.F from Mitica Vulcanov anti_de_Sitter_Lambda.F from Mitica Vulcanov de_Sitter_Lambda.F from Mitica Vulcanov Changed files: make.code.defn git-svn-id: http://svn.einsteintoolkit.org/cactus/EinsteinInitialData/Exact/trunk@103 e296648e-0e4f-0410-bd07-d597d9acff87
Diffstat (limited to 'src')
-rw-r--r--src/metrics/Alvi.F227
-rw-r--r--src/metrics/Alvidef.c5126
-rw-r--r--src/metrics/Bertotti.F65
-rw-r--r--src/metrics/Bianchi_I.F65
-rw-r--r--src/metrics/Goedel.F63
-rw-r--r--src/metrics/Kasner_axisymmetric.F50
-rw-r--r--src/metrics/Kasner_generalized.F66
-rw-r--r--src/metrics/Kasner_like.F68
-rw-r--r--src/metrics/Kerr_BoyerLindquist.F63
-rw-r--r--src/metrics/Kerr_KerrSchild.F124
-rw-r--r--src/metrics/Lemaitre.F78
-rw-r--r--src/metrics/Milne.F61
-rw-r--r--src/metrics/Minkowski.F49
-rw-r--r--src/metrics/Minkowski_funny.F106
-rw-r--r--src/metrics/Minkowski_gauge_wave.F111
-rw-r--r--src/metrics/Minkowski_shift.F108
-rw-r--r--src/metrics/Robertson_Walker.F78
-rw-r--r--src/metrics/Schwarzschild_EF.F70
-rw-r--r--src/metrics/Schwarzschild_Lemaitre.F72
-rw-r--r--src/metrics/Schwarzschild_Novikov.F215
-rw-r--r--src/metrics/Schwarzschild_PG.F75
-rw-r--r--src/metrics/Thorne_fakebinary.F174
-rw-r--r--src/metrics/anti_de_Sitter_Lambda.F65
-rw-r--r--src/metrics/boost_rotation_symmetric.F165
-rw-r--r--src/metrics/bowl.F242
-rw-r--r--src/metrics/constant_density_star.F125
-rw-r--r--src/metrics/de_Sitter.F68
-rw-r--r--src/metrics/de_Sitter_Lambda.F62
-rw-r--r--src/metrics/make.code.defn41
-rw-r--r--src/metrics/multi_BH.F134
30 files changed, 8016 insertions, 0 deletions
diff --git a/src/metrics/Alvi.F b/src/metrics/Alvi.F
new file mode 100644
index 0000000..81789e6
--- /dev/null
+++ b/src/metrics/Alvi.F
@@ -0,0 +1,227 @@
+C The Alvi metric. Full description of this metric is given
+C in gr-qc/9912113 .
+C Author: Nina Jansen (jansen@aei-potsdam.mpg.de)
+C $Header$
+
+#include "cctk.h"
+#include "cctk_Parameters.h"
+
+ subroutine Exact__Alvi(
+ $ x, y, z, t,
+ $ gdtt, gdtx, gdty, gdtz,
+ $ gdxx, gdyy, gdzz, gdxy, gdyz, gdzx,
+ $ gutt, gutx, guty, gutz,
+ $ guxx, guyy, guzz, guxy, guyz, guzx)
+
+ implicit none
+
+ DECLARE_CCTK_PARAMETERS
+
+
+ CCTK_REAL x, y, z, t
+ logical firstcall
+
+ CCTK_REAL m1,m2,b
+
+ data firstcall /.true./
+
+ save firstcall, m1,m2,b
+
+ CCTK_REAL gdtt, gdtx, gdty, gdtz,
+ $ gdxx, gdyy, gdzz, gdxy, gdyz, gdzx,
+ $ gutt, gutx, guty, gutz,
+ $ guxx, guyy, guzz, guxy, guyz, guzx
+
+
+ CCTK_REAL rin1,rin2,rout,x1,x2, r1, r2, r3, results(10)
+
+ if (firstcall) then
+ m1 = Alvi__mass1
+ m2 = Alvi__mass2
+ b = Alvi__separation
+
+ firstcall = .false.
+ end if
+
+ rin1 = dsqrt(m1*b)
+ rin2 = dsqrt(m2*b)
+ rout = b*dsqrt(b)/(2.0d0*dsqrt(m1+m2))
+
+ x1 = b
+
+ x2 = -b
+
+ r1 = dsqrt((x-x1)**2.0D0 + y**2.0D0 + z**2.0D0)
+
+
+ r2 = dsqrt((x-x2)**2.0D0 + y**2.0D0 + z**2.0D0)
+
+
+ r3 = dsqrt(x**2.0D0 + y**2.0D0 + z**2.0D0)
+
+ if (r1 .le. rin1) then
+
+ call Alvireg1(x,y,z,m1,m2,b,results)
+
+ gdtt = results(1)
+ gdtx = results(2)
+ gdty = results(3)
+ gdtz = results(4)
+ gdxx = results(5)
+ gdyy = results(8)
+ gdzz = results(10)
+ gdxy = results(9)
+ gdyz = results(9)
+ gdzx = results(7)
+
+ else if (r2 .le. rin2) then
+
+ call Alvireg2(x,y,z,m1,m2,b,results)
+
+ gdtt = results(1)
+ gdtx = results(2)
+ gdty = results(3)
+ gdtz = results(4)
+ gdxx = results(5)
+ gdyy = results(8)
+ gdzz = results(10)
+ gdxy = results(9)
+ gdyz = results(9)
+ gdzx = results(7)
+
+ else if ((r3 .le. rout) .and. (r2 .gt. rin2) .and. (r1 .gt. rin1)) then
+ call Alvireg3(x,y,z,m1,m2,b,results)
+
+ gdtt = results(1)
+ gdtx = results(2)
+ gdty = results(3)
+ gdtz = results(4)
+ gdxx = results(5)
+ gdyy = results(8)
+ gdzz = results(10)
+ gdxy = results(9)
+ gdyz = results(9)
+ gdzx = results(7)
+
+ else if (r3 .gt. rout) then
+ call Alvireg4(x,y,z,m1,m2,b,results)
+
+ gdtt = results(1)
+ gdtx = results(2)
+ gdty = results(3)
+ gdtz = results(4)
+ gdxx = results(5)
+ gdyy = results(8)
+ gdzz = results(10)
+ gdxy = results(9)
+ gdyz = results(9)
+ gdzx = results(7)
+
+ else
+
+ print *,'problem!'
+
+ end if
+
+ gutt =
+ $ (gdzx**2*gdyy - 2*gdxy*gdzx*gdyz + gdxy**2*gdzz + gdxx*(gdyz**2
+ $ - gdyy*gdzz))/ (gdtt*gdzx**2*gdyy + gdtz**2*(-gdxy**2 +
+ $ gdxx*gdyy) - 2*gdtt*gdxy*gdzx*gdyz - gdtx**2*gdyz**2 +
+ $ gdtt*gdxx*gdyz**2 + 2*gdtz*(gdty*gdxy*gdzx - gdtx*gdzx*gdyy -
+ $ gdty*gdxx*gdyz + gdtx*gdxy*gdyz) + gdtt*gdxy**2*gdzz +
+ $ gdtx**2*gdyy*gdzz - gdtt*gdxx*gdyy*gdzz + gdty**2*(-gdzx**2 +
+ $ gdxx*gdzz) + 2*gdtx*gdty*(gdzx*gdyz - gdxy*gdzz))
+
+ gutx =
+ $ (-(gdtz*gdzx*gdyy) + gdtz*gdxy*gdyz + gdty*gdzx*gdyz -
+ $ gdtx*gdyz**2 - gdty*gdxy*gdzz + gdtx*gdyy*gdzz)/
+ $ (gdtt*gdzx**2*gdyy + gdtz**2*(-gdxy**2 + gdxx*gdyy) -
+ $ 2*gdtt*gdxy*gdzx*gdyz - gdtx**2*gdyz**2 + gdtt*gdxx*gdyz**2 +
+ $ 2*gdtz*(gdty*gdxy*gdzx - gdtx*gdzx*gdyy - gdty*gdxx*gdyz +
+ $ gdtx*gdxy*gdyz) + gdtt*gdxy**2*gdzz + gdtx**2*gdyy*gdzz -
+ $ gdtt*gdxx*gdyy*gdzz + gdty**2*(-gdzx**2 + gdxx*gdzz) +
+ $ 2*gdtx*gdty*(gdzx*gdyz - gdxy*gdzz))
+
+
+ guty =
+ $ (-(gdtz*gdxy*gdzx) + gdty*gdzx**2 + gdtz*gdxx*gdyz -
+ $ gdtx*gdzx*gdyz - gdty*gdxx*gdzz + gdtx*gdxy*gdzz)/
+ $ (-(gdtt*gdzx**2*gdyy) + gdtz**2*(gdxy**2 - gdxx*gdyy) +
+ $ 2*gdtt*gdxy*gdzx*gdyz + gdtx**2*gdyz**2 - gdtt*gdxx*gdyz**2 -
+ $ 2*gdtz*(gdty*gdxy*gdzx - gdtx*gdzx*gdyy - gdty*gdxx*gdyz +
+ $ gdtx*gdxy*gdyz) - gdtt*gdxy**2*gdzz - gdtx**2*gdyy*gdzz +
+ $ gdtt*gdxx*gdyy*gdzz + gdty**2*(gdzx**2 - gdxx*gdzz) +
+ $ gdty*(-2*gdtx*gdzx*gdyz + 2*gdtx*gdxy*gdzz))
+
+
+
+
+
+ gutz =
+ $ (-(gdty*gdxy*gdzx) + gdtx*gdzx*gdyy + gdtz*(gdxy**2 - gdxx*gdyy)
+ $ + gdty*gdxx*gdyz - gdtx*gdxy*gdyz)/ (-(gdtt*gdzx**2*gdyy) +
+ $ gdtz**2*(gdxy**2 - gdxx*gdyy) + 2*gdtt*gdxy*gdzx*gdyz +
+ $ gdtx**2*gdyz**2 - gdtt*gdxx*gdyz**2 - 2*gdtz*(gdty*gdxy*gdzx -
+ $ gdtx*gdzx*gdyy - gdty*gdxx*gdyz + gdtx*gdxy*gdyz) -
+ $ gdtt*gdxy**2*gdzz - gdtx**2*gdyy*gdzz + gdtt*gdxx*gdyy*gdzz +
+ $ gdty**2*(gdzx**2 - gdxx*gdzz) + gdty*(-2*gdtx*gdzx*gdyz +
+ $ 2*gdtx*gdxy*gdzz))
+ guxx =
+ $ (gdtz**2*gdyy - 2*gdty*gdtz*gdyz + gdty**2*gdzz + gdtt*(gdyz**2
+ $ - gdyy*gdzz))/ (gdtt*gdzx**2*gdyy + gdtz**2*(-gdxy**2 +
+ $ gdxx*gdyy) - 2*gdtt*gdxy*gdzx*gdyz - gdtx**2*gdyz**2 +
+ $ gdtt*gdxx*gdyz**2 + 2*gdtz*(gdty*gdxy*gdzx - gdtx*gdzx*gdyy -
+ $ gdty*gdxx*gdyz + gdtx*gdxy*gdyz) + gdtt*gdxy**2*gdzz +
+ $ gdtx**2*gdyy*gdzz - gdtt*gdxx*gdyy*gdzz + gdty**2*(-gdzx**2 +
+ $ gdxx*gdzz) + 2*gdtx*gdty*(gdzx*gdyz - gdxy*gdzz))
+ guyy =
+ $ (gdtz**2*gdxx - 2*gdtx*gdtz*gdzx + gdtx**2*gdzz + gdtt*(gdzx**2
+ $ - gdxx*gdzz))/ (gdtt*gdzx**2*gdyy + gdtz**2*(-gdxy**2 +
+ $ gdxx*gdyy) - 2*gdtt*gdxy*gdzx*gdyz - gdtx**2*gdyz**2 +
+ $ gdtt*gdxx*gdyz**2 + 2*gdtz*(gdty*gdxy*gdzx - gdtx*gdzx*gdyy -
+ $ gdty*gdxx*gdyz + gdtx*gdxy*gdyz) + gdtt*gdxy**2*gdzz +
+ $ gdtx**2*gdyy*gdzz - gdtt*gdxx*gdyy*gdzz + gdty**2*(-gdzx**2 +
+ $ gdxx*gdzz) + 2*gdtx*gdty*(gdzx*gdyz - gdxy*gdzz))
+ guzz =
+ $ (gdty**2*gdxx - 2*gdtx*gdty*gdxy + gdtx**2*gdyy + gdtt*(gdxy**2
+ $ - gdxx*gdyy))/ (gdtt*gdzx**2*gdyy + gdtz**2*(-gdxy**2 +
+ $ gdxx*gdyy) - 2*gdtt*gdxy*gdzx*gdyz - gdtx**2*gdyz**2 +
+ $ gdtt*gdxx*gdyz**2 + 2*gdtz*(gdty*gdxy*gdzx - gdtx*gdzx*gdyy -
+ $ gdty*gdxx*gdyz + gdtx*gdxy*gdyz) + gdtt*gdxy**2*gdzz +
+ $ gdtx**2*gdyy*gdzz - gdtt*gdxx*gdyy*gdzz + gdty**2*(-gdzx**2 +
+ $ gdxx*gdzz) + 2*gdtx*gdty*(gdzx*gdyz - gdxy*gdzz))
+ guxy =
+ $ (gdtz**2*gdxy + gdtt*gdzx*gdyz - gdtz*(gdty*gdzx + gdtx*gdyz) +
+ $ gdtx*gdty*gdzz - gdtt*gdxy*gdzz)/ (-(gdtt*gdzx**2*gdyy) +
+ $ gdtz**2*(gdxy**2 - gdxx*gdyy) + 2*gdtt*gdxy*gdzx*gdyz +
+ $ gdtx**2*gdyz**2 - gdtt*gdxx*gdyz**2 - 2*gdtz*(gdty*gdxy*gdzx -
+ $ gdtx*gdzx*gdyy - gdty*gdxx*gdyz + gdtx*gdxy*gdyz) -
+ $ gdtt*gdxy**2*gdzz - gdtx**2*gdyy*gdzz + gdtt*gdxx*gdyy*gdzz +
+ $ gdty**2*(gdzx**2 - gdxx*gdzz) + gdty*(-2*gdtx*gdzx*gdyz +
+ $ 2*gdtx*gdxy*gdzz))
+ guyz =
+ $ (-(gdty*gdtz*gdxx) + gdtx*gdtz*gdxy + gdtx*gdty*gdzx -
+ $ gdtt*gdxy*gdzx - gdtx**2*gdyz + gdtt*gdxx*gdyz)/
+ $ (gdtt*gdzx**2*gdyy + gdtz**2*(-gdxy**2 + gdxx*gdyy) -
+ $ 2*gdtt*gdxy*gdzx*gdyz - gdtx**2*gdyz**2 + gdtt*gdxx*gdyz**2 +
+ $ 2*gdtz*(gdty*gdxy*gdzx - gdtx*gdzx*gdyy - gdty*gdxx*gdyz +
+ $ gdtx*gdxy*gdyz) + gdtt*gdxy**2*gdzz + gdtx**2*gdyy*gdzz -
+ $ gdtt*gdxx*gdyy*gdzz + gdty**2*(-gdzx**2 + gdxx*gdzz) +
+ $ 2*gdtx*gdty*(gdzx*gdyz - gdxy*gdzz))
+ guzx =
+ $ (gdty**2*gdzx + gdtx*gdtz*gdyy - gdtt*gdzx*gdyy + gdtt*gdxy*gdyz
+ $ - gdty*(gdtz*gdxy + gdtx*gdyz))/ (-(gdtt*gdzx**2*gdyy) +
+ $ gdtz**2*(gdxy**2 - gdxx*gdyy) + 2*gdtt*gdxy*gdzx*gdyz +
+ $ gdtx**2*gdyz**2 - gdtt*gdxx*gdyz**2 - 2*gdtz*(gdty*gdxy*gdzx -
+ $ gdtx*gdzx*gdyy - gdty*gdxx*gdyz + gdtx*gdxy*gdyz) -
+ $ gdtt*gdxy**2*gdzz - gdtx**2*gdyy*gdzz + gdtt*gdxx*gdyy*gdzz +
+ $ gdty**2*(gdzx**2 - gdxx*gdzz) + gdty*(-2*gdtx*gdzx*gdyz +
+ $ 2*gdtx*gdxy*gdzz))
+
+ return
+
+ end
+
+
+
+
diff --git a/src/metrics/Alvidef.c b/src/metrics/Alvidef.c
new file mode 100644
index 0000000..fc7659a
--- /dev/null
+++ b/src/metrics/Alvidef.c
@@ -0,0 +1,5126 @@
+#ifdef Append
+#define Alvireg1 Alvireg1_
+#define Alvireg2 Alvireg2_
+#define Alvireg3 Alvireg3_
+#define Alvireg4 Alvireg4_
+#endif
+
+#ifdef Append2
+#define Alvireg1 Alvireg1__
+#define Alvireg2 Alvireg2__
+#define Alvireg3 Alvireg3__
+#define Alvireg4 Alvireg4__
+#endif
+
+#ifdef Uppercase
+#define Alvireg1 ALVIREG1
+#define Alvireg2 ALVIREG2
+#define Alvireg3 ALVIREG3
+#define Alvireg4 ALVIREG4
+#endif
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <math.h>
+#define Power(x,y) pow((double) (x), (double) (y))
+#define Sqrt(x) pow((double) (x), 0.5)
+#define Log(x) log((double) (x)))
+#define pow2(x) ((x)*(x))
+#define pow2inv(x) (1.0/((x)*(x)))
+
+void Alvireg1(double *x, double *y, double *z, double *zm1, double *zm2, double *zr12, double *results) {
+
+double g00,g0x,g0y,g0z,gxx,gxy,gxz,gyy,gyz,gzz;
+
+double m1;
+double m2;
+double b;
+double xp;
+double yp;
+double zp;
+
+m1 = *zm1;
+m2 = *zm2;
+b=*zr12;
+xp = *x;
+yp = *y;
+zp = *z;
+
+/* finding the 4-metric */
+
+g00 = Power(1 - (m2*(1 + m2/(2.*(m1 + m2))))/b,2)* ((m2*(-(Power(1 +
+ (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*Power(yp,2)) - Power(1 + m2/b
+ - (m2*(-((b*m2)/(m1 + m2)) + xp))/Power(b,2),2)* Power(zp,2) +
+ 2*Power((1 + m2/b)*(-((b*m2)/(m1 + m2)) + xp) -
+ (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))* Power(1 - m1/
+ (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*Power(yp,2)
+ + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) +
+ xp))/Power(b,2),2)* Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1
+ + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4))/Power(b,3)
+ - Power(1 - m1/ (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 +
+ m2))))/b,2)*Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 +
+ m2)) + xp))/Power(b,2),2)* Power(zp,2) + Power((1 +
+ m2/b)*(-((b*m2)/(m1 + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 +
+ m2)) + xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))),2)/ Power(1 + m1/
+ (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*Power(yp,2)
+ + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) +
+ xp))/Power(b,2),2)* Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1
+ + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),2) -
+ (4*m2*Sqrt((m1 + m2)/Power(b,3))*Sqrt((m1 + m2)/b)* (1 -
+ (m1*m2)/(b*(m1 + m2)))* ((1 + m2/b)*(-((b*m2)/(m1 + m2)) + xp) -
+ (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)))* (-(Power(1 + (m2*(1 + m2/(2.*(m1
+ + m2))))/b,2)*Power(yp,2)) + Power(1 + m2/b - (m2*(-((b*m2)/(m1
+ + m2)) + xp))/Power(b,2),2)* Power(zp,2) - Power((1 +
+ m2/b)*(-((b*m2)/(m1 + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 +
+ m2)) + xp,2) + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))*
+ Power(1 - m1/ (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 +
+ m2))))/b,2)*Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 +
+ m2)) + xp))/Power(b,2),2)* Power(zp,2) + Power((1 +
+ m2/b)*(-((b*m2)/(m1 + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 +
+ m2)) + xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))),2)* Power(1 + m1/
+ (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*Power(yp,2)
+ + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) +
+ xp))/Power(b,2),2)* Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1
+ + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4))/Power(b,3)
+ + ((m1 + m2)*Power(1 - (m1*m2)/(b*(m1 + m2)),2)* (Power(1 +
+ (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*Power(yp,2) + Power((1 +
+ m2/b)*(-((b*m2)/(m1 + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 +
+ m2)) + xp,2) + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))*
+ Power(1 + m1/ (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 +
+ m2))))/b,2)*Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 +
+ m2)) + xp))/Power(b,2),2)* Power(zp,2) + Power((1 +
+ m2/b)*(-((b*m2)/(m1 + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 +
+ m2)) + xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))),4)* (1 + (m2*(-(Power(1 +
+ (m2*(1 + m2/(2.*(m1 + m2))))/b,2)* Power(yp,2)) - Power(1 + m2/b
+ - (m2*(-((b*m2)/(m1 + m2)) + xp))/Power(b,2),2)* Power(zp,2) +
+ 2* Power((1 + m2/b)*(-((b*m2)/(m1 + m2)) + xp) -
+ (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))* ((-2*Power(m1,2))/ (Power(1 +
+ (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*Power(yp,2) + Power(1 + m2/b -
+ (m2*(-((b*m2)/(m1 + m2)) + xp))/Power(b,2), 2)*Power(zp,2) +
+ Power((1 + m2/b)*(-((b*m2)/(m1 + m2)) + xp) -
+ (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2)) + Power(1 + m1/
+ (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*
+ Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) +
+ xp))/Power(b,2),2)* Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1
+ + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),
+ 4)))/Power(b,3)))/Power(b,3)) ;
+g0x = (-2*Power(m2,2)*Sqrt((m1 + m2)/b)*(1 - (m2*(1 + m2/(2.*(m1 +
+ m2))))/b)* (1 + (m2*(1 + m2/(2.*(m1 + m2))))/b)* (1 + m2/b -
+ (m2*(-((b*m2)/(m1 + m2)) + xp))/Power(b,2))*yp*Power(zp,2)*
+ Power(1 - m1/ (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 +
+ m2))))/b,2)*Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 +
+ m2)) + xp))/Power(b,2),2)* Power(zp,2) + Power((1 +
+ m2/b)*(-((b*m2)/(m1 + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 +
+ m2)) + xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))),2)* Power(1 + m1/
+ (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*Power(yp,2)
+ + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) +
+ xp))/Power(b,2),2)* Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1
+ + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4))/Power(b,5)
+ + (1 - (m2*(1 + m2/(2.*(m1 + m2))))/b)* (1 + m2/b -
+ (m2*(-((b*m2)/(m1 + m2)) + xp))/Power(b,2))* ((-2*m2*Sqrt((m1 +
+ m2)/b)*(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b)*yp* ((1 +
+ m2/b)*(-((b*m2)/(m1 + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 +
+ m2)) + xp,2) + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)))*
+ Power(1 - m1/ (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 +
+ m2))))/b,2)* Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 +
+ m2)) + xp))/Power(b,2),2)*Power(zp,2) + Power((1 +
+ m2/b)*(-((b*m2)/(m1 + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 +
+ m2)) + xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))),2)* Power(1 + m1/
+ (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*
+ Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) +
+ xp))/Power(b,2),2)*Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1
+ + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4))/Power(b,3)
+ - Sqrt((m1 + m2)/Power(b,3))*(1 - (m1*m2)/(b*(m1 + m2)))* (1 +
+ (m2*(1 + m2/(2.*(m1 + m2))))/b)*yp* Power(1 + m1/
+ (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*Power(yp,2)
+ + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) +
+ xp))/Power(b,2),2)* Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1
+ + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4)* (1 +
+ (m2*(-(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*Power(yp,2))
+ - Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) +
+ xp))/Power(b,2),2)* Power(zp,2) + 2*Power((1 +
+ m2/b)*(-((b*m2)/(m1 + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 +
+ m2)) + xp,2) + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))*
+ ((-2*Power(m1,2))/ (Power(1 + (m2*(1 + m2/(2.*(m1 +
+ m2))))/b,2)*Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 +
+ m2)) + xp))/Power(b,2), 2)*Power(zp,2) + Power((1 +
+ m2/b)*(-((b*m2)/(m1 + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 +
+ m2)) + xp,2) + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2)) +
+ Power(1 + m1/ (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 +
+ m2))))/b,2)* Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 +
+ m2)) + xp))/Power(b,2),2)* Power(zp,2) + Power((1 +
+ m2/b)*(-((b*m2)/(m1 + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 +
+ m2)) + xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))),4)))/Power(b,3) )) +
+ (m2*Sqrt((m1 + m2)/b)*(1 - (m2*(1 + m2/(2.*(m1 + m2))))/b)* (1 +
+ m1/(m1 + m2) - (3*(-((b*m2)/(m1 + m2)) + xp))/b)*yp*
+ ((m2*(-(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*Power(yp,2))
+ - Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) +
+ xp))/Power(b,2),2)* Power(zp,2) + 2*Power((1 +
+ m2/b)*(-((b*m2)/(m1 + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 +
+ m2)) + xp,2) + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))*
+ Power(1 - m1/ (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 +
+ m2))))/b,2)* Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 +
+ m2)) + xp))/Power(b,2), 2)*Power(zp,2) + Power((1 +
+ m2/b)*(-((b*m2)/(m1 + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 +
+ m2)) + xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))),4))/Power(b,3) - Power(1 -
+ m1/ (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*
+ Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) +
+ xp))/Power(b,2),2)*Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1
+ + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),2)/ Power(1 +
+ m1/ (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*
+ Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) +
+ xp))/Power(b,2),2)*Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1
+ + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),2) -
+ (4*m2*Sqrt((m1 + m2)/Power(b,3))*Sqrt((m1 + m2)/b)* (1 -
+ (m1*m2)/(b*(m1 + m2)))* ((1 + m2/b)*(-((b*m2)/(m1 + m2)) + xp) -
+ (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)))* (-(Power(1 + (m2*(1 + m2/(2.*(m1
+ + m2))))/b,2)*Power(yp,2)) + Power(1 + m2/b - (m2*(-((b*m2)/(m1
+ + m2)) + xp))/Power(b,2),2)* Power(zp,2) - Power((1 +
+ m2/b)*(-((b*m2)/(m1 + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 +
+ m2)) + xp,2) + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))*
+ Power(1 - m1/ (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 +
+ m2))))/b,2)* Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 +
+ m2)) + xp))/Power(b,2), 2)*Power(zp,2) + Power((1 +
+ m2/b)*(-((b*m2)/(m1 + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 +
+ m2)) + xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))),2)* Power(1 + m1/
+ (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*
+ Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) +
+ xp))/Power(b,2), 2)*Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1
+ + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4))/Power(b,3)
+ + ((m1 + m2)*Power(1 - (m1*m2)/(b*(m1 + m2)),2)* (Power(1 +
+ (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*Power(yp,2) + Power((1 +
+ m2/b)*(-((b*m2)/(m1 + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 +
+ m2)) + xp,2) + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))*
+ Power(1 + m1/ (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 +
+ m2))))/b,2)* Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 +
+ m2)) + xp))/Power(b,2), 2)*Power(zp,2) + Power((1 +
+ m2/b)*(-((b*m2)/(m1 + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 +
+ m2)) + xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))),4)* (1 + (m2*(-(Power(1 +
+ (m2*(1 + m2/(2.*(m1 + m2))))/b,2)* Power(yp,2)) - Power(1 + m2/b
+ - (m2*(-((b*m2)/(m1 + m2)) + xp))/Power(b,2), 2)*Power(zp,2) +
+ 2*Power((1 + m2/b)*(-((b*m2)/(m1 + m2)) + xp) -
+ (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))* ((-2*Power(m1,2))/ (Power(1 +
+ (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*Power(yp,2) + Power(1 + m2/b -
+ (m2*(-((b*m2)/(m1 + m2)) + xp))/Power(b,2),2)* Power(zp,2) +
+ Power((1 + m2/b)*(-((b*m2)/(m1 + m2)) + xp) -
+ (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2)) + Power(1 + m1/
+ (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*
+ Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) +
+ xp))/Power(b,2),2)* Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1
+ + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),
+ 4)))/Power(b,3)))/Power(b,3)))/Power(b,2) ;
+g0y = -((m2*(1 - (m2*(1 + m2/(2.*(m1 + m2))))/b)*yp* ((-2*m2*Sqrt((m1
+ + m2)/b)*(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b)*yp* ((1 +
+ m2/b)*(-((b*m2)/(m1 + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 +
+ m2)) + xp,2) + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)))*
+ Power(1 - m1/ (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 +
+ m2))))/b,2)* Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 +
+ m2)) + xp))/Power(b,2),2)* Power(zp,2) + Power((1 +
+ m2/b)*(-((b*m2)/(m1 + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 +
+ m2)) + xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))),2)* Power(1 + m1/
+ (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*
+ Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) +
+ xp))/Power(b,2),2)* Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1
+ + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4))/Power(b,3)
+ - Sqrt((m1 + m2)/Power(b,3))*(1 - (m1*m2)/(b*(m1 + m2)))* (1 +
+ (m2*(1 + m2/(2.*(m1 + m2))))/b)*yp* Power(1 + m1/
+ (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*
+ Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) +
+ xp))/Power(b,2), 2)*Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1
+ + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4)* (1 +
+ (m2*(-(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)* Power(yp,2))
+ - Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) + xp))/Power(b,2),
+ 2)*Power(zp,2) + 2*Power((1 + m2/b)*(-((b*m2)/(m1 + m2)) + xp) -
+ (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))* ((-2*Power(m1,2))/ (Power(1 +
+ (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*Power(yp,2) + Power(1 + m2/b -
+ (m2*(-((b*m2)/(m1 + m2)) + xp))/Power(b,2),2)* Power(zp,2) +
+ Power((1 + m2/b)*(-((b*m2)/(m1 + m2)) + xp) -
+ (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2)) + Power(1 + m1/
+ (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*
+ Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) +
+ xp))/Power(b,2),2)* Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1
+ + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),
+ 4)))/Power(b,3))))/Power(b,2)) + (1 - (m2*(1 + m2/(2.*(m1 +
+ m2))))/b)*(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b)* ((2*m2*Sqrt((m1
+ + m2)/b)*(-(Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) +
+ xp))/Power(b,2),2)*Power(zp,2)) + Power((1 + m2/b)*(-((b*m2)/(m1
+ + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))* Power(1 - m1/
+ (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*
+ Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) +
+ xp))/Power(b,2),2)*Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1
+ + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),2)* Power(1 +
+ m1/ (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*
+ Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) +
+ xp))/Power(b,2),2)*Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1
+ + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4))/Power(b,3)
+ + Sqrt((m1 + m2)/Power(b,3))*(1 - (m1*m2)/(b*(m1 + m2)))* ((1 +
+ m2/b)*(-((b*m2)/(m1 + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 +
+ m2)) + xp,2) + Power(yp,2) - Power(zp,2)))/
+ (2.*Power(b,2)))*Power(1 + m1/(2.*Sqrt(Power(1 + (m2*(1 +
+ m2/(2.*(m1 + m2))))/b,2)* Power(yp,2) + Power(1 + m2/b -
+ (m2*(-((b*m2)/(m1 + m2)) + xp))/Power(b,2),2)*Power(zp,2) +
+ Power((1 + m2/b)*(-((b*m2)/(m1 + m2)) + xp) -
+ (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))),4)* (1 + (m2*(-(Power(1 +
+ (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*Power(yp,2)) - Power(1 + m2/b
+ - (m2*(-((b*m2)/(m1 + m2)) + xp))/Power(b,2),2)* Power(zp,2) +
+ 2*Power((1 + m2/b)*(-((b*m2)/(m1 + m2)) + xp) -
+ (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))* ((-2*Power(m1,2))/ (Power(1 +
+ (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*Power(yp,2) + Power(1 + m2/b -
+ (m2*(-((b*m2)/(m1 + m2)) + xp))/Power(b,2), 2)*Power(zp,2) +
+ Power((1 + m2/b)*(-((b*m2)/(m1 + m2)) + xp) -
+ (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2)) + Power(1 + m1/
+ (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*
+ Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) +
+ xp))/Power(b,2),2)* Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1
+ + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4)))/Power(b,3)
+ )) + (1 - (m2*(1 + m2/(2.*(m1 + m2))))/b)* (-(Sqrt((m1 +
+ m2)/b)*(m2/(m1 + m2) + (m2*(3 + Power(m2,2)/(2.*Power(m1 +
+ m2,2)) + m1/(m1 + m2)))/b)) + (m2*Sqrt((m1 + m2)/b)*((1 + m1/(m1
+ + m2))*(-((b*m2)/(m1 + m2)) + xp) - (3*Power(-((b*m2)/(m1 + m2))
+ + xp,2) - 3*Power(yp,2) - Power(zp,2))/(2.*b)))/Power(b,2))*
+ ((m2*(-(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*Power(yp,2))
+ - Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) +
+ xp))/Power(b,2),2)* Power(zp,2) + 2*Power((1 +
+ m2/b)*(-((b*m2)/(m1 + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 +
+ m2)) + xp,2) + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))*
+ Power(1 - m1/ (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 +
+ m2))))/b,2)* Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 +
+ m2)) + xp))/Power(b,2),2)*Power(zp,2) + Power((1 +
+ m2/b)*(-((b*m2)/(m1 + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 +
+ m2)) + xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))),4))/Power(b,3) - Power(1 -
+ m1/ (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 +
+ m2))))/b,2)*Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 +
+ m2)) + xp))/Power(b,2),2)* Power(zp,2) + Power((1 +
+ m2/b)*(-((b*m2)/(m1 + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 +
+ m2)) + xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))),2)/ Power(1 + m1/
+ (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*Power(yp,2)
+ + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) +
+ xp))/Power(b,2),2)* Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1
+ + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),2) -
+ (4*m2*Sqrt((m1 + m2)/Power(b,3))*Sqrt((m1 + m2)/b)* (1 -
+ (m1*m2)/(b*(m1 + m2)))* ((1 + m2/b)*(-((b*m2)/(m1 + m2)) + xp) -
+ (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)))* (-(Power(1 + (m2*(1 + m2/(2.*(m1
+ + m2))))/b,2)*Power(yp,2)) + Power(1 + m2/b - (m2*(-((b*m2)/(m1
+ + m2)) + xp))/Power(b,2),2)* Power(zp,2) - Power((1 +
+ m2/b)*(-((b*m2)/(m1 + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 +
+ m2)) + xp,2) + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))*
+ Power(1 - m1/ (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 +
+ m2))))/b,2)* Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 +
+ m2)) + xp))/Power(b,2),2)*Power(zp,2) + Power((1 +
+ m2/b)*(-((b*m2)/(m1 + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 +
+ m2)) + xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))),2)* Power(1 + m1/
+ (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*
+ Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) +
+ xp))/Power(b,2),2)*Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1
+ + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4))/Power(b,3)
+ + ((m1 + m2)*Power(1 - (m1*m2)/(b*(m1 + m2)),2)* (Power(1 +
+ (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*Power(yp,2) + Power((1 +
+ m2/b)*(-((b*m2)/(m1 + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 +
+ m2)) + xp,2) + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))*
+ Power(1 + m1/ (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 +
+ m2))))/b,2)* Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 +
+ m2)) + xp))/Power(b,2),2)*Power(zp,2) + Power((1 +
+ m2/b)*(-((b*m2)/(m1 + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 +
+ m2)) + xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))),4)* (1 + (m2*(-(Power(1 +
+ (m2*(1 + m2/(2.*(m1 + m2))))/b,2)* Power(yp,2)) - Power(1 + m2/b
+ - (m2*(-((b*m2)/(m1 + m2)) + xp))/Power(b,2), 2)*Power(zp,2) +
+ 2*Power((1 + m2/b)*(-((b*m2)/(m1 + m2)) + xp) -
+ (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))* ((-2*Power(m1,2))/ (Power(1 +
+ (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*Power(yp,2) + Power(1 + m2/b -
+ (m2*(-((b*m2)/(m1 + m2)) + xp))/Power(b,2),2)* Power(zp,2) +
+ Power((1 + m2/b)*(-((b*m2)/(m1 + m2)) + xp) -
+ (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2)) + Power(1 + m1/
+ (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*
+ Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) +
+ xp))/Power(b,2),2)* Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1
+ + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),
+ 4)))/Power(b,3)))/Power(b,3)) ;
+g0z = (2*m2*Sqrt((m1 + m2)/b)*(1 - (m2*(1 + m2/(2.*(m1 + m2))))/b)* (1
+ + (m2*(1 + m2/(2.*(m1 + m2))))/b)* Power(1 + m2/b -
+ (m2*(-((b*m2)/(m1 + m2)) + xp))/Power(b,2),2)*yp*zp* Power(1 -
+ m1/ (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 +
+ m2))))/b,2)*Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 +
+ m2)) + xp))/Power(b,2),2)* Power(zp,2) + Power((1 +
+ m2/b)*(-((b*m2)/(m1 + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 +
+ m2)) + xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))),2)* Power(1 + m1/
+ (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*Power(yp,2)
+ + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) +
+ xp))/Power(b,2),2)* Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1
+ + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4))/Power(b,3)
+ + (m2*(1 - (m2*(1 + m2/(2.*(m1 + m2))))/b)*zp* ((-2*m2*Sqrt((m1
+ + m2)/b)*(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b)*yp* ((1 +
+ m2/b)*(-((b*m2)/(m1 + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 +
+ m2)) + xp,2) + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)))*
+ Power(1 - m1/ (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 +
+ m2))))/b,2)* Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 +
+ m2)) + xp))/Power(b,2), 2)*Power(zp,2) + Power((1 +
+ m2/b)*(-((b*m2)/(m1 + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 +
+ m2)) + xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))),2)* Power(1 + m1/
+ (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*
+ Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) +
+ xp))/Power(b,2), 2)*Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1
+ + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4))/Power(b,3)
+ - Sqrt((m1 + m2)/Power(b,3))*(1 - (m1*m2)/(b*(m1 + m2)))* (1 +
+ (m2*(1 + m2/(2.*(m1 + m2))))/b)*yp* Power(1 + m1/
+ (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*
+ Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) +
+ xp))/Power(b,2),2)*Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1
+ + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4)* (1 +
+ (m2*(-(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)* Power(yp,2))
+ - Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) + xp))/Power(b,2),
+ 2)*Power(zp,2) + 2*Power((1 + m2/b)*(-((b*m2)/(m1 + m2)) + xp) -
+ (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))* ((-2*Power(m1,2))/ (Power(1 +
+ (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*Power(yp,2) + Power(1 + m2/b -
+ (m2*(-((b*m2)/(m1 + m2)) + xp))/Power(b,2),2)* Power(zp,2) +
+ Power((1 + m2/b)*(-((b*m2)/(m1 + m2)) + xp) -
+ (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2)) + Power(1 + m1/
+ (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*
+ Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) +
+ xp))/Power(b,2),2)* Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1
+ + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),
+ 4)))/Power(b,3))))/Power(b,2) + (m2*Sqrt((m1 + m2)/b)*(1 -
+ (m2*(1 + m2/(2.*(m1 + m2))))/b)*yp*zp* ((m2*(-(Power(1 + (m2*(1
+ + m2/(2.*(m1 + m2))))/b,2)*Power(yp,2)) - Power(1 + m2/b -
+ (m2*(-((b*m2)/(m1 + m2)) + xp))/Power(b,2),2)* Power(zp,2) +
+ 2*Power((1 + m2/b)*(-((b*m2)/(m1 + m2)) + xp) -
+ (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))* Power(1 - m1/
+ (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*
+ Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) +
+ xp))/Power(b,2), 2)*Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1
+ + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4))/Power(b,3)
+ - Power(1 - m1/ (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 +
+ m2))))/b,2)* Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 +
+ m2)) + xp))/Power(b,2),2)*Power(zp,2) + Power((1 +
+ m2/b)*(-((b*m2)/(m1 + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 +
+ m2)) + xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))),2)/ Power(1 + m1/
+ (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*
+ Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) +
+ xp))/Power(b,2),2)*Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1
+ + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),2) -
+ (4*m2*Sqrt((m1 + m2)/Power(b,3))*Sqrt((m1 + m2)/b)* (1 -
+ (m1*m2)/(b*(m1 + m2)))* ((1 + m2/b)*(-((b*m2)/(m1 + m2)) + xp) -
+ (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)))* (-(Power(1 + (m2*(1 + m2/(2.*(m1
+ + m2))))/b,2)*Power(yp,2)) + Power(1 + m2/b - (m2*(-((b*m2)/(m1
+ + m2)) + xp))/Power(b,2),2)* Power(zp,2) - Power((1 +
+ m2/b)*(-((b*m2)/(m1 + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 +
+ m2)) + xp,2) + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))*
+ Power(1 - m1/ (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 +
+ m2))))/b,2)* Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 +
+ m2)) + xp))/Power(b,2), 2)*Power(zp,2) + Power((1 +
+ m2/b)*(-((b*m2)/(m1 + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 +
+ m2)) + xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))),2)* Power(1 + m1/
+ (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*
+ Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) +
+ xp))/Power(b,2), 2)*Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1
+ + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4))/Power(b,3)
+ + ((m1 + m2)*Power(1 - (m1*m2)/(b*(m1 + m2)),2)* (Power(1 +
+ (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*Power(yp,2) + Power((1 +
+ m2/b)*(-((b*m2)/(m1 + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 +
+ m2)) + xp,2) + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))*
+ Power(1 + m1/ (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 +
+ m2))))/b,2)* Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 +
+ m2)) + xp))/Power(b,2), 2)*Power(zp,2) + Power((1 +
+ m2/b)*(-((b*m2)/(m1 + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 +
+ m2)) + xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))),4)* (1 + (m2*(-(Power(1 +
+ (m2*(1 + m2/(2.*(m1 + m2))))/b,2)* Power(yp,2)) - Power(1 + m2/b
+ - (m2*(-((b*m2)/(m1 + m2)) + xp))/Power(b,2), 2)*Power(zp,2) +
+ 2*Power((1 + m2/b)*(-((b*m2)/(m1 + m2)) + xp) -
+ (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))* ((-2*Power(m1,2))/ (Power(1 +
+ (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*Power(yp,2) + Power(1 + m2/b -
+ (m2*(-((b*m2)/(m1 + m2)) + xp))/Power(b,2),2)* Power(zp,2) +
+ Power((1 + m2/b)*(-((b*m2)/(m1 + m2)) + xp) -
+ (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2)) + Power(1 + m1/
+ (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*
+ Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) +
+ xp))/Power(b,2),2)* Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1
+ + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),
+ 4)))/Power(b,3)))/Power(b,3)))/Power(b,3) ;
+gxx = (4*m1*Power(m2,2)*Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) +
+ xp))/Power(b,2), 2)*Power(zp,2)*((1 + m2/b)*(-((b*m2)/(m1 + m2))
+ + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + Power(yp,2) -
+ Power(zp,2)))/ (2.*Power(b,2)))*(-(Power(1 + (m2*(1 + m2/(2.*(m1
+ + m2))))/b,2)* Power(yp,2)) - Power(1 + m2/b - (m2*(-((b*m2)/(m1
+ + m2)) + xp))/Power(b,2),2)*Power(zp,2) + 2*Power((1 +
+ m2/b)*(-((b*m2)/(m1 + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 +
+ m2)) + xp,2) + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))*
+ (1 + Power(m1,2)/ (4.*(Power(1 + (m2*(1 + m2/(2.*(m1 +
+ m2))))/b,2)*Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 +
+ m2)) + xp))/Power(b,2),2)* Power(zp,2) + Power((1 +
+ m2/b)*(-((b*m2)/(m1 + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 +
+ m2)) + xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))))* Power(1 + m1/
+ (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*Power(yp,2)
+ + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) +
+ xp))/Power(b,2),2)* Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1
+ + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4))/
+ (Power(b,5)*Power(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*
+ Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) +
+ xp))/Power(b,2),2)*Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1
+ + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2),1.5)) -
+ (4*Power(m2,3)*(m1 + m2)*(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b)*
+ (1 + m1/(m1 + m2) - (3*(-((b*m2)/(m1 + m2)) + xp))/b)* (1 + m2/b
+ - (m2*(-((b*m2)/(m1 + m2)) + xp))/Power(b,2))*Power(yp,2)*
+ Power(zp,2)*Power(1 - m1/ (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1
+ + m2))))/b,2)*Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 +
+ m2)) + xp))/Power(b,2),2)* Power(zp,2) + Power((1 +
+ m2/b)*(-((b*m2)/(m1 + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 +
+ m2)) + xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))),2)* Power(1 + m1/
+ (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*Power(yp,2)
+ + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) +
+ xp))/Power(b,2),2)* Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1
+ + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4))/Power(b,8)
+ + (Power(m2,2)*Power(zp,2)*Power(1 + m1/(2.*Sqrt(Power(1 +
+ (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*Power(yp,2) + Power(1 + m2/b -
+ (m2*(-((b*m2)/(m1 + m2)) + xp))/Power(b,2),2)* Power(zp,2) +
+ Power((1 + m2/b)*(-((b*m2)/(m1 + m2)) + xp) -
+ (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))),4)* (1 + (m2*(-(Power(1 +
+ (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*Power(yp,2)) - Power(1 + m2/b
+ - (m2*(-((b*m2)/(m1 + m2)) + xp))/Power(b,2),2)* Power(zp,2) +
+ 2*Power((1 + m2/b)*(-((b*m2)/(m1 + m2)) + xp) -
+ (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))* ((-2*m1)/ (Power(1 + (m2*(1 +
+ m2/(2.*(m1 + m2))))/b,2)*Power(yp,2) + Power(1 + m2/b -
+ (m2*(-((b*m2)/(m1 + m2)) + xp))/Power(b,2), 2)*Power(zp,2) +
+ Power((1 + m2/b)*(-((b*m2)/(m1 + m2)) + xp) -
+ (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2)) - (2*m1*Power(1 + m2/b -
+ (m2*(-((b*m2)/(m1 + m2)) + xp))/Power(b,2),2)*Power(zp,2)* (1 +
+ Power(m1,2)/ (4.*(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*
+ Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) +
+ xp))/Power(b,2),2)* Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1
+ + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2)))))
+ /Power(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)* Power(yp,2)
+ + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) +
+ xp))/Power(b,2),2)*Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1
+ + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2),1.5) + Power(1 +
+ m1/ (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*
+ Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) +
+ xp))/Power(b,2),2)* Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1
+ + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) +
+ Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))),4)))/Power(b,3)) )/Power(b,4)
+ + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) +
+ xp))/Power(b,2),2)* Power(1 + m1/ (2.*Sqrt(Power(1 + (m2*(1 +
+ m2/(2.*(m1 + m2))))/b,2)*Power(yp,2) + Power(1 + m2/b -
+ (m2*(-((b*m2)/(m1 + m2)) + xp))/Power(b,2),2)* Power(zp,2) +
+ Power((1 + m2/b)*(-((b*m2)/(m1 + m2)) + xp) -
+ (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))),4)* (1 + (m2*(-(Power(1 +
+ (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*Power(yp,2)) - Power(1 + m2/b
+ - (m2*(-((b*m2)/(m1 + m2)) + xp))/Power(b,2),2)* Power(zp,2) +
+ 2*Power((1 + m2/b)*(-((b*m2)/(m1 + m2)) + xp) -
+ (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))* ((-2*m1)/ (Power(1 + (m2*(1 +
+ m2/(2.*(m1 + m2))))/b,2)*Power(yp,2) + Power(1 + m2/b -
+ (m2*(-((b*m2)/(m1 + m2)) + xp))/Power(b,2),2)* Power(zp,2) +
+ Power((1 + m2/b)*(-((b*m2)/(m1 + m2)) + xp) -
+ (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2)) - (2*m1*Power((1 +
+ m2/b)*(-((b*m2)/(m1 + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 +
+ m2)) + xp,2) + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2)*
+ (1 + Power(m1,2)/ (4.*(Power(1 + (m2*(1 + m2/(2.*(m1 +
+ m2))))/b,2)* Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 +
+ m2)) + xp))/Power(b,2),2)* Power(zp,2) + Power((1 +
+ m2/b)*(-((b*m2)/(m1 + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 +
+ m2)) + xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2)))))/ Power(Power(1 + (m2*(1 +
+ m2/(2.*(m1 + m2))))/b,2)*Power(yp,2) + Power(1 + m2/b -
+ (m2*(-((b*m2)/(m1 + m2)) + xp))/Power(b,2),2)* Power(zp,2) +
+ Power((1 + m2/b)*(-((b*m2)/(m1 + m2)) + xp) -
+ (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2),1.5) + Power(1 + m1/
+ (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*
+ Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) +
+ xp))/Power(b,2), 2)*Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1
+ + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) +
+ Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))),4)))/Power(b,3)) +
+ (2*m2*Sqrt((m1 + m2)/b)*(1 + m1/(m1 + m2) - (3*(-((b*m2)/(m1 +
+ m2)) + xp))/b)* (1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) +
+ xp))/Power(b,2))*yp* ((-2*m2*Sqrt((m1 + m2)/b)*(1 + (m2*(1 +
+ m2/(2.*(m1 + m2))))/b)*yp* ((1 + m2/b)*(-((b*m2)/(m1 + m2)) +
+ xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)))* Power(1 - m1/ (2.*Sqrt(Power(1 +
+ (m2*(1 + m2/(2.*(m1 + m2))))/b,2)* Power(yp,2) + Power(1 + m2/b
+ - (m2*(-((b*m2)/(m1 + m2)) + xp))/Power(b,2), 2)*Power(zp,2) +
+ Power((1 + m2/b)*(-((b*m2)/(m1 + m2)) + xp) -
+ (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))),2)* Power(1 + m1/
+ (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*
+ Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) +
+ xp))/Power(b,2), 2)*Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1
+ + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4))/Power(b,3)
+ - Sqrt((m1 + m2)/Power(b,3))*(1 - (m1*m2)/(b*(m1 + m2)))* (1 +
+ (m2*(1 + m2/(2.*(m1 + m2))))/b)*yp* Power(1 + m1/
+ (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*
+ Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) +
+ xp))/Power(b,2),2)*Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1
+ + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4)* (1 +
+ (m2*(-(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)* Power(yp,2))
+ - Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) + xp))/Power(b,2),
+ 2)*Power(zp,2) + 2*Power((1 + m2/b)*(-((b*m2)/(m1 + m2)) + xp) -
+ (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))* ((-2*Power(m1,2))/ (Power(1 +
+ (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*Power(yp,2) + Power(1 + m2/b -
+ (m2*(-((b*m2)/(m1 + m2)) + xp))/Power(b,2),2)* Power(zp,2) +
+ Power((1 + m2/b)*(-((b*m2)/(m1 + m2)) + xp) -
+ (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2)) + Power(1 + m1/
+ (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*
+ Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) +
+ xp))/Power(b,2),2)* Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1
+ + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),
+ 4)))/Power(b,3))))/Power(b,2) + (Power(m2,2)*(m1 + m2)*Power(1 +
+ m1/(m1 + m2) - (3*(-((b*m2)/(m1 + m2)) + xp))/b,2)*Power(yp,2)*
+ ((m2*(-(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*Power(yp,2))
+ - Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) +
+ xp))/Power(b,2),2)* Power(zp,2) + 2*Power((1 +
+ m2/b)*(-((b*m2)/(m1 + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 +
+ m2)) + xp,2) + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))*
+ Power(1 - m1/ (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 +
+ m2))))/b,2)* Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 +
+ m2)) + xp))/Power(b,2), 2)*Power(zp,2) + Power((1 +
+ m2/b)*(-((b*m2)/(m1 + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 +
+ m2)) + xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))),4))/Power(b,3) - Power(1 -
+ m1/ (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*
+ Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) +
+ xp))/Power(b,2),2)*Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1
+ + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),2)/ Power(1 +
+ m1/ (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*
+ Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) +
+ xp))/Power(b,2),2)*Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1
+ + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),2) -
+ (4*m2*Sqrt((m1 + m2)/Power(b,3))*Sqrt((m1 + m2)/b)* (1 -
+ (m1*m2)/(b*(m1 + m2)))* ((1 + m2/b)*(-((b*m2)/(m1 + m2)) + xp) -
+ (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)))* (-(Power(1 + (m2*(1 + m2/(2.*(m1
+ + m2))))/b,2)*Power(yp,2)) + Power(1 + m2/b - (m2*(-((b*m2)/(m1
+ + m2)) + xp))/Power(b,2),2)* Power(zp,2) - Power((1 +
+ m2/b)*(-((b*m2)/(m1 + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 +
+ m2)) + xp,2) + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))*
+ Power(1 - m1/ (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 +
+ m2))))/b,2)* Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 +
+ m2)) + xp))/Power(b,2), 2)*Power(zp,2) + Power((1 +
+ m2/b)*(-((b*m2)/(m1 + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 +
+ m2)) + xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))),2)* Power(1 + m1/
+ (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*
+ Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) +
+ xp))/Power(b,2), 2)*Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1
+ + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4))/Power(b,3)
+ + ((m1 + m2)*Power(1 - (m1*m2)/(b*(m1 + m2)),2)* (Power(1 +
+ (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*Power(yp,2) + Power((1 +
+ m2/b)*(-((b*m2)/(m1 + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 +
+ m2)) + xp,2) + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))*
+ Power(1 + m1/ (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 +
+ m2))))/b,2)* Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 +
+ m2)) + xp))/Power(b,2), 2)*Power(zp,2) + Power((1 +
+ m2/b)*(-((b*m2)/(m1 + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 +
+ m2)) + xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))),4)* (1 + (m2*(-(Power(1 +
+ (m2*(1 + m2/(2.*(m1 + m2))))/b,2)* Power(yp,2)) - Power(1 + m2/b
+ - (m2*(-((b*m2)/(m1 + m2)) + xp))/Power(b,2), 2)*Power(zp,2) +
+ 2*Power((1 + m2/b)*(-((b*m2)/(m1 + m2)) + xp) -
+ (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))* ((-2*Power(m1,2))/ (Power(1 +
+ (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*Power(yp,2) + Power(1 + m2/b -
+ (m2*(-((b*m2)/(m1 + m2)) + xp))/Power(b,2),2)* Power(zp,2) +
+ Power((1 + m2/b)*(-((b*m2)/(m1 + m2)) + xp) -
+ (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2)) + Power(1 + m1/
+ (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*
+ Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) +
+ xp))/Power(b,2),2)* Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1
+ + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),
+ 4)))/Power(b,3)))/Power(b,3)))/Power(b,5) ;
+gxy = (2*m1*Power(m2,2)*Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*
+ (1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) +
+ xp))/Power(b,2))*yp*Power(zp,2)* (-(Power(1 + (m2*(1 +
+ m2/(2.*(m1 + m2))))/b,2)*Power(yp,2)) - Power(1 + m2/b -
+ (m2*(-((b*m2)/(m1 + m2)) + xp))/Power(b,2),2)* Power(zp,2) +
+ 2*Power((1 + m2/b)*(-((b*m2)/(m1 + m2)) + xp) -
+ (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))* (1 + Power(m1,2)/
+ (4.*(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*Power(yp,2) +
+ Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) + xp))/Power(b,2),2)*
+ Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1 + m2)) + xp) -
+ (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))))* Power(1 + m1/
+ (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*Power(yp,2)
+ + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) +
+ xp))/Power(b,2),2)* Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1
+ + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4))/
+ (Power(b,5)*Power(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*
+ Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) +
+ xp))/Power(b,2),2)*Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1
+ + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2),1.5)) -
+ (2*m1*m2*Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)* (1 + m2/b
+ - (m2*(-((b*m2)/(m1 + m2)) + xp))/Power(b,2))*yp* ((1 +
+ m2/b)*(-((b*m2)/(m1 + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 +
+ m2)) + xp,2) + Power(yp,2) - Power(zp,2)))/
+ (2.*Power(b,2)))*(-(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*
+ Power(yp,2)) - Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) +
+ xp))/Power(b,2),2)*Power(zp,2) + 2*Power((1 +
+ m2/b)*(-((b*m2)/(m1 + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 +
+ m2)) + xp,2) + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))*
+ (1 + Power(m1,2)/ (4.*(Power(1 + (m2*(1 + m2/(2.*(m1 +
+ m2))))/b,2)*Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 +
+ m2)) + xp))/Power(b,2),2)* Power(zp,2) + Power((1 +
+ m2/b)*(-((b*m2)/(m1 + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 +
+ m2)) + xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))))* Power(1 + m1/
+ (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*Power(yp,2)
+ + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) +
+ xp))/Power(b,2),2)* Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1
+ + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4))/
+ (Power(b,3)*Power(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*
+ Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) +
+ xp))/Power(b,2),2)*Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1
+ + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2),1.5)) -
+ (2*m1*Power(m2,3)*(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) +
+ xp))/Power(b,2))* yp*Power(zp,2)*((1 + m2/b)*(-((b*m2)/(m1 +
+ m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) +
+ Power(yp,2) - Power(zp,2)))/ (2.*Power(b,2)))*(-(Power(1 +
+ (m2*(1 + m2/(2.*(m1 + m2))))/b,2)* Power(yp,2)) - Power(1 + m2/b
+ - (m2*(-((b*m2)/(m1 + m2)) + xp))/Power(b,2),2)*Power(zp,2) +
+ 2*Power((1 + m2/b)*(-((b*m2)/(m1 + m2)) + xp) -
+ (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))* (1 + Power(m1,2)/
+ (4.*(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*Power(yp,2) +
+ Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) + xp))/Power(b,2),2)*
+ Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1 + m2)) + xp) -
+ (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))))* Power(1 + m1/
+ (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*Power(yp,2)
+ + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) +
+ xp))/Power(b,2),2)* Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1
+ + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4))/
+ (Power(b,7)*Power(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*
+ Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) +
+ xp))/Power(b,2),2)*Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1
+ + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2),1.5)) -
+ (2*Power(m2,2)*Sqrt((m1 + m2)/b)*(1 + (m2*(1 + m2/(2.*(m1 +
+ m2))))/b)* (1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) +
+ xp))/Power(b,2))*yp*Power(zp,2)* (-(Sqrt((m1 + m2)/b)*(m2/(m1 +
+ m2) + (m2*(3 + Power(m2,2)/(2.*Power(m1 + m2,2)) + m1/(m1 +
+ m2)))/b)) + (m2*Sqrt((m1 + m2)/b)* ((1 + m1/(m1 +
+ m2))*(-((b*m2)/(m1 + m2)) + xp) - (3*Power(-((b*m2)/(m1 + m2)) +
+ xp,2) - 3*Power(yp,2) - Power(zp,2))/(2.*b)))/Power(b,2))*
+ Power(1 - m1/ (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 +
+ m2))))/b,2)*Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 +
+ m2)) + xp))/Power(b,2),2)* Power(zp,2) + Power((1 +
+ m2/b)*(-((b*m2)/(m1 + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 +
+ m2)) + xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))),2)* Power(1 + m1/
+ (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*Power(yp,2)
+ + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) +
+ xp))/Power(b,2),2)* Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1
+ + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4))/Power(b,5)
+ - (m2*(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) +
+ xp))/Power(b,2))*yp* Power(1 + m1/ (2.*Sqrt(Power(1 + (m2*(1 +
+ m2/(2.*(m1 + m2))))/b,2)*Power(yp,2) + Power(1 + m2/b -
+ (m2*(-((b*m2)/(m1 + m2)) + xp))/Power(b,2),2)* Power(zp,2) +
+ Power((1 + m2/b)*(-((b*m2)/(m1 + m2)) + xp) -
+ (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))),4)* (1 + (m2*(-(Power(1 +
+ (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*Power(yp,2)) - Power(1 + m2/b
+ - (m2*(-((b*m2)/(m1 + m2)) + xp))/Power(b,2),2)* Power(zp,2) +
+ 2*Power((1 + m2/b)*(-((b*m2)/(m1 + m2)) + xp) -
+ (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))* ((-2*m1)/ (Power(1 + (m2*(1 +
+ m2/(2.*(m1 + m2))))/b,2)*Power(yp,2) + Power(1 + m2/b -
+ (m2*(-((b*m2)/(m1 + m2)) + xp))/Power(b,2), 2)*Power(zp,2) +
+ Power((1 + m2/b)*(-((b*m2)/(m1 + m2)) + xp) -
+ (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2)) - (2*m1*Power((1 +
+ m2/b)*(-((b*m2)/(m1 + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 +
+ m2)) + xp,2) + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2)*
+ (1 + Power(m1,2)/ (4.*(Power(1 + (m2*(1 + m2/(2.*(m1 +
+ m2))))/b,2)* Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 +
+ m2)) + xp))/Power(b,2),2)* Power(zp,2) + Power((1 +
+ m2/b)*(-((b*m2)/(m1 + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 +
+ m2)) + xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))))) /Power(Power(1 + (m2*(1 +
+ m2/(2.*(m1 + m2))))/b,2)* Power(yp,2) + Power(1 + m2/b -
+ (m2*(-((b*m2)/(m1 + m2)) + xp))/Power(b,2),2)*Power(zp,2) +
+ Power((1 + m2/b)*(-((b*m2)/(m1 + m2)) + xp) -
+ (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2),1.5) + Power(1 + m1/
+ (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*
+ Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) +
+ xp))/Power(b,2),2)* Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1
+ + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) +
+ Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))),4)))/Power(b,3)) )/Power(b,2)
+ - (Power(m2,2)*Sqrt((m1 + m2)/b)* (1 + m1/(m1 + m2) -
+ (3*(-((b*m2)/(m1 + m2)) + xp))/b)*Power(yp,2)* ((-2*m2*Sqrt((m1
+ + m2)/b)*(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b)*yp* ((1 +
+ m2/b)*(-((b*m2)/(m1 + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 +
+ m2)) + xp,2) + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)))*
+ Power(1 - m1/ (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 +
+ m2))))/b,2)* Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 +
+ m2)) + xp))/Power(b,2), 2)*Power(zp,2) + Power((1 +
+ m2/b)*(-((b*m2)/(m1 + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 +
+ m2)) + xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))),2)* Power(1 + m1/
+ (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*
+ Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) +
+ xp))/Power(b,2), 2)*Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1
+ + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4))/Power(b,3)
+ - Sqrt((m1 + m2)/Power(b,3))*(1 - (m1*m2)/(b*(m1 + m2)))* (1 +
+ (m2*(1 + m2/(2.*(m1 + m2))))/b)*yp* Power(1 + m1/
+ (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*
+ Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) +
+ xp))/Power(b,2),2)*Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1
+ + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4)* (1 +
+ (m2*(-(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)* Power(yp,2))
+ - Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) + xp))/Power(b,2),
+ 2)*Power(zp,2) + 2*Power((1 + m2/b)*(-((b*m2)/(m1 + m2)) + xp) -
+ (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))* ((-2*Power(m1,2))/ (Power(1 +
+ (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*Power(yp,2) + Power(1 + m2/b -
+ (m2*(-((b*m2)/(m1 + m2)) + xp))/Power(b,2),2)* Power(zp,2) +
+ Power((1 + m2/b)*(-((b*m2)/(m1 + m2)) + xp) -
+ (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2)) + Power(1 + m1/
+ (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*
+ Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) +
+ xp))/Power(b,2),2)* Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1
+ + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),
+ 4)))/Power(b,3))))/Power(b,4) + (1 + m2/b - (m2*(-((b*m2)/(m1 +
+ m2)) + xp))/Power(b,2))* (-(Sqrt((m1 + m2)/b)*(m2/(m1 + m2) +
+ (m2*(3 + Power(m2,2)/(2.*Power(m1 + m2,2)) + m1/(m1 + m2)))/b))
+ + (m2*Sqrt((m1 + m2)/b)*((1 + m1/(m1 + m2))*(-((b*m2)/(m1 + m2))
+ + xp) - (3*Power(-((b*m2)/(m1 + m2)) + xp,2) - 3*Power(yp,2) -
+ Power(zp,2))/(2.*b)))/Power(b,2))* ((-2*m2*Sqrt((m1 + m2)/b)*(1
+ + (m2*(1 + m2/(2.*(m1 + m2))))/b)*yp* ((1 + m2/b)*(-((b*m2)/(m1
+ + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)))* Power(1 - m1/
+ (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*
+ Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) +
+ xp))/Power(b,2),2)*Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1
+ + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),2)* Power(1 +
+ m1/ (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*
+ Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) +
+ xp))/Power(b,2),2)*Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1
+ + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4))/Power(b,3)
+ - Sqrt((m1 + m2)/Power(b,3))*(1 - (m1*m2)/(b*(m1 + m2)))* (1 +
+ (m2*(1 + m2/(2.*(m1 + m2))))/b)*yp* Power(1 + m1/
+ (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*Power(yp,2)
+ + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) +
+ xp))/Power(b,2),2)* Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1
+ + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4)* (1 +
+ (m2*(-(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*Power(yp,2))
+ - Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) +
+ xp))/Power(b,2),2)* Power(zp,2) + 2*Power((1 +
+ m2/b)*(-((b*m2)/(m1 + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 +
+ m2)) + xp,2) + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))*
+ ((-2*Power(m1,2))/ (Power(1 + (m2*(1 + m2/(2.*(m1 +
+ m2))))/b,2)*Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 +
+ m2)) + xp))/Power(b,2), 2)*Power(zp,2) + Power((1 +
+ m2/b)*(-((b*m2)/(m1 + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 +
+ m2)) + xp,2) + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2)) +
+ Power(1 + m1/ (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 +
+ m2))))/b,2)* Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 +
+ m2)) + xp))/Power(b,2),2)* Power(zp,2) + Power((1 +
+ m2/b)*(-((b*m2)/(m1 + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 +
+ m2)) + xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))),4)))/Power(b,3) )) +
+ (m2*Sqrt((m1 + m2)/b)*(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b)* (1 +
+ m1/(m1 + m2) - (3*(-((b*m2)/(m1 + m2)) + xp))/b)*yp*
+ ((2*m2*Sqrt((m1 + m2)/b)*(-(Power(1 + m2/b - (m2*(-((b*m2)/(m1 +
+ m2)) + xp))/Power(b,2),2)*Power(zp,2)) + Power((1 +
+ m2/b)*(-((b*m2)/(m1 + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 +
+ m2)) + xp,2) + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))*
+ Power(1 - m1/ (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 +
+ m2))))/b,2)* Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 +
+ m2)) + xp))/Power(b,2), 2)*Power(zp,2) + Power((1 +
+ m2/b)*(-((b*m2)/(m1 + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 +
+ m2)) + xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))),2)* Power(1 + m1/
+ (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*
+ Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) +
+ xp))/Power(b,2), 2)*Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1
+ + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4))/Power(b,3)
+ + Sqrt((m1 + m2)/Power(b,3))*(1 - (m1*m2)/(b*(m1 + m2)))* ((1 +
+ m2/b)*(-((b*m2)/(m1 + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 +
+ m2)) + xp,2) + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)))*
+ Power(1 + m1/ (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 +
+ m2))))/b,2)* Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 +
+ m2)) + xp))/Power(b,2),2)*Power(zp,2) + Power((1 +
+ m2/b)*(-((b*m2)/(m1 + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 +
+ m2)) + xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))),4)* (1 + (m2*(-(Power(1 +
+ (m2*(1 + m2/(2.*(m1 + m2))))/b,2)* Power(yp,2)) - Power(1 + m2/b
+ - (m2*(-((b*m2)/(m1 + m2)) + xp))/Power(b,2), 2)*Power(zp,2) +
+ 2*Power((1 + m2/b)*(-((b*m2)/(m1 + m2)) + xp) -
+ (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))* ((-2*Power(m1,2))/ (Power(1 +
+ (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*Power(yp,2) + Power(1 + m2/b -
+ (m2*(-((b*m2)/(m1 + m2)) + xp))/Power(b,2),2)* Power(zp,2) +
+ Power((1 + m2/b)*(-((b*m2)/(m1 + m2)) + xp) -
+ (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2)) + Power(1 + m1/
+ (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*
+ Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) +
+ xp))/Power(b,2),2)* Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1
+ + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),
+ 4)))/Power(b,3))))/Power(b,2) + (m2*Sqrt((m1 + m2)/b)*(1 +
+ m1/(m1 + m2) - (3*(-((b*m2)/(m1 + m2)) + xp))/b)*yp* (-(Sqrt((m1
+ + m2)/b)*(m2/(m1 + m2) + (m2*(3 + Power(m2,2)/(2.*Power(m1 +
+ m2,2)) + m1/(m1 + m2)))/b)) + (m2*Sqrt((m1 + m2)/b)* ((1 +
+ m1/(m1 + m2))*(-((b*m2)/(m1 + m2)) + xp) - (3*Power(-((b*m2)/(m1
+ + m2)) + xp,2) - 3*Power(yp,2) -
+ Power(zp,2))/(2.*b)))/Power(b,2))* ((m2*(-(Power(1 + (m2*(1 +
+ m2/(2.*(m1 + m2))))/b,2)*Power(yp,2)) - Power(1 + m2/b -
+ (m2*(-((b*m2)/(m1 + m2)) + xp))/Power(b,2),2)* Power(zp,2) +
+ 2*Power((1 + m2/b)*(-((b*m2)/(m1 + m2)) + xp) -
+ (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))* Power(1 - m1/
+ (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*
+ Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) +
+ xp))/Power(b,2), 2)*Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1
+ + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4))/Power(b,3)
+ - Power(1 - m1/ (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 +
+ m2))))/b,2)* Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 +
+ m2)) + xp))/Power(b,2),2)*Power(zp,2) + Power((1 +
+ m2/b)*(-((b*m2)/(m1 + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 +
+ m2)) + xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))),2)/ Power(1 + m1/
+ (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*
+ Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) +
+ xp))/Power(b,2),2)*Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1
+ + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),2) -
+ (4*m2*Sqrt((m1 + m2)/Power(b,3))*Sqrt((m1 + m2)/b)* (1 -
+ (m1*m2)/(b*(m1 + m2)))* ((1 + m2/b)*(-((b*m2)/(m1 + m2)) + xp) -
+ (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)))* (-(Power(1 + (m2*(1 + m2/(2.*(m1
+ + m2))))/b,2)*Power(yp,2)) + Power(1 + m2/b - (m2*(-((b*m2)/(m1
+ + m2)) + xp))/Power(b,2),2)* Power(zp,2) - Power((1 +
+ m2/b)*(-((b*m2)/(m1 + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 +
+ m2)) + xp,2) + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))*
+ Power(1 - m1/ (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 +
+ m2))))/b,2)* Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 +
+ m2)) + xp))/Power(b,2), 2)*Power(zp,2) + Power((1 +
+ m2/b)*(-((b*m2)/(m1 + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 +
+ m2)) + xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))),2)* Power(1 + m1/
+ (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*
+ Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) +
+ xp))/Power(b,2), 2)*Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1
+ + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4))/Power(b,3)
+ + ((m1 + m2)*Power(1 - (m1*m2)/(b*(m1 + m2)),2)* (Power(1 +
+ (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*Power(yp,2) + Power((1 +
+ m2/b)*(-((b*m2)/(m1 + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 +
+ m2)) + xp,2) + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))*
+ Power(1 + m1/ (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 +
+ m2))))/b,2)* Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 +
+ m2)) + xp))/Power(b,2), 2)*Power(zp,2) + Power((1 +
+ m2/b)*(-((b*m2)/(m1 + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 +
+ m2)) + xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))),4)* (1 + (m2*(-(Power(1 +
+ (m2*(1 + m2/(2.*(m1 + m2))))/b,2)* Power(yp,2)) - Power(1 + m2/b
+ - (m2*(-((b*m2)/(m1 + m2)) + xp))/Power(b,2), 2)*Power(zp,2) +
+ 2*Power((1 + m2/b)*(-((b*m2)/(m1 + m2)) + xp) -
+ (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))* ((-2*Power(m1,2))/ (Power(1 +
+ (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*Power(yp,2) + Power(1 + m2/b -
+ (m2*(-((b*m2)/(m1 + m2)) + xp))/Power(b,2),2)* Power(zp,2) +
+ Power((1 + m2/b)*(-((b*m2)/(m1 + m2)) + xp) -
+ (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2)) + Power(1 + m1/
+ (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*
+ Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) +
+ xp))/Power(b,2),2)* Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1
+ + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),
+ 4)))/Power(b,3)))/Power(b,3)))/Power(b,2);
+gxz = (-2*m1*m2*Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) +
+ xp))/Power(b,2),3)*zp* ((1 + m2/b)*(-((b*m2)/(m1 + m2)) + xp) -
+ (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + Power(yp,2) -
+ Power(zp,2)))/ (2.*Power(b,2)))*(-(Power(1 + (m2*(1 + m2/(2.*(m1
+ + m2))))/b,2)* Power(yp,2)) - Power(1 + m2/b - (m2*(-((b*m2)/(m1
+ + m2)) + xp))/Power(b,2),2)*Power(zp,2) + 2*Power((1 +
+ m2/b)*(-((b*m2)/(m1 + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 +
+ m2)) + xp,2) + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))*
+ (1 + Power(m1,2)/ (4.*(Power(1 + (m2*(1 + m2/(2.*(m1 +
+ m2))))/b,2)*Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 +
+ m2)) + xp))/Power(b,2),2)* Power(zp,2) + Power((1 +
+ m2/b)*(-((b*m2)/(m1 + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 +
+ m2)) + xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))))* Power(1 + m1/
+ (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*Power(yp,2)
+ + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) +
+ xp))/Power(b,2),2)* Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1
+ + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4))/
+ (Power(b,3)*Power(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*
+ Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) +
+ xp))/Power(b,2),2)*Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1
+ + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2),1.5)) +
+ (2*m1*Power(m2,3)*(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) +
+ xp))/Power(b,2))* Power(zp,3)*((1 + m2/b)*(-((b*m2)/(m1 + m2)) +
+ xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + Power(yp,2) -
+ Power(zp,2)))/ (2.*Power(b,2)))*(-(Power(1 + (m2*(1 + m2/(2.*(m1
+ + m2))))/b,2)* Power(yp,2)) - Power(1 + m2/b - (m2*(-((b*m2)/(m1
+ + m2)) + xp))/Power(b,2),2)*Power(zp,2) + 2*Power((1 +
+ m2/b)*(-((b*m2)/(m1 + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 +
+ m2)) + xp,2) + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))*
+ (1 + Power(m1,2)/ (4.*(Power(1 + (m2*(1 + m2/(2.*(m1 +
+ m2))))/b,2)*Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 +
+ m2)) + xp))/Power(b,2),2)* Power(zp,2) + Power((1 +
+ m2/b)*(-((b*m2)/(m1 + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 +
+ m2)) + xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))))* Power(1 + m1/
+ (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*Power(yp,2)
+ + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) +
+ xp))/Power(b,2),2)* Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1
+ + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4))/
+ (Power(b,7)*Power(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*
+ Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) +
+ xp))/Power(b,2),2)*Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1
+ + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2),1.5)) +
+ (2*Power(m2,2)*(m1 + m2)*(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b)*
+ (1 + m1/(m1 + m2) - (3*(-((b*m2)/(m1 + m2)) + xp))/b)* Power(1 +
+ m2/b - (m2*(-((b*m2)/(m1 + m2)) + xp))/Power(b,2),2)*
+ Power(yp,2)*zp*Power(1 - m1/ (2.*Sqrt(Power(1 + (m2*(1 +
+ m2/(2.*(m1 + m2))))/b,2)*Power(yp,2) + Power(1 + m2/b -
+ (m2*(-((b*m2)/(m1 + m2)) + xp))/Power(b,2),2)* Power(zp,2) +
+ Power((1 + m2/b)*(-((b*m2)/(m1 + m2)) + xp) -
+ (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))),2)* Power(1 + m1/
+ (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*Power(yp,2)
+ + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) +
+ xp))/Power(b,2),2)* Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1
+ + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4))/Power(b,6)
+ - (2*Power(m2,3)*(m1 + m2)*(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b)*
+ (1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) +
+ xp))/Power(b,2))*Power(yp,2)* Power(zp,3)*Power(1 - m1/
+ (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*Power(yp,2)
+ + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) +
+ xp))/Power(b,2),2)* Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1
+ + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),2)* Power(1 +
+ m1/ (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 +
+ m2))))/b,2)*Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 +
+ m2)) + xp))/Power(b,2),2)* Power(zp,2) + Power((1 +
+ m2/b)*(-((b*m2)/(m1 + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 +
+ m2)) + xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))),4))/Power(b,9) - (m2*(1 +
+ m2/b - (m2*(-((b*m2)/(m1 + m2)) + xp))/Power(b,2))*zp* Power(1 +
+ m1/ (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 +
+ m2))))/b,2)*Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 +
+ m2)) + xp))/Power(b,2),2)* Power(zp,2) + Power((1 +
+ m2/b)*(-((b*m2)/(m1 + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 +
+ m2)) + xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))),4)* (1 + (m2*(-(Power(1 +
+ (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*Power(yp,2)) - Power(1 + m2/b
+ - (m2*(-((b*m2)/(m1 + m2)) + xp))/Power(b,2),2)* Power(zp,2) +
+ 2*Power((1 + m2/b)*(-((b*m2)/(m1 + m2)) + xp) -
+ (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))* ((-2*m1)/ (Power(1 + (m2*(1 +
+ m2/(2.*(m1 + m2))))/b,2)*Power(yp,2) + Power(1 + m2/b -
+ (m2*(-((b*m2)/(m1 + m2)) + xp))/Power(b,2), 2)*Power(zp,2) +
+ Power((1 + m2/b)*(-((b*m2)/(m1 + m2)) + xp) -
+ (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2)) - (2*m1*Power(1 + m2/b -
+ (m2*(-((b*m2)/(m1 + m2)) + xp))/Power(b,2),2)*Power(zp,2)* (1 +
+ Power(m1,2)/ (4.*(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*
+ Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) +
+ xp))/Power(b,2),2)* Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1
+ + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2)))))
+ /Power(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)* Power(yp,2)
+ + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) +
+ xp))/Power(b,2),2)*Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1
+ + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2),1.5) + Power(1 +
+ m1/ (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*
+ Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) +
+ xp))/Power(b,2),2)* Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1
+ + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) +
+ Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))),4)))/Power(b,3)) )/Power(b,2)
+ + (m2*(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) +
+ xp))/Power(b,2))*zp* Power(1 + m1/ (2.*Sqrt(Power(1 + (m2*(1 +
+ m2/(2.*(m1 + m2))))/b,2)*Power(yp,2) + Power(1 + m2/b -
+ (m2*(-((b*m2)/(m1 + m2)) + xp))/Power(b,2),2)* Power(zp,2) +
+ Power((1 + m2/b)*(-((b*m2)/(m1 + m2)) + xp) -
+ (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))),4)* (1 + (m2*(-(Power(1 +
+ (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*Power(yp,2)) - Power(1 + m2/b
+ - (m2*(-((b*m2)/(m1 + m2)) + xp))/Power(b,2),2)* Power(zp,2) +
+ 2*Power((1 + m2/b)*(-((b*m2)/(m1 + m2)) + xp) -
+ (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))* ((-2*m1)/ (Power(1 + (m2*(1 +
+ m2/(2.*(m1 + m2))))/b,2)*Power(yp,2) + Power(1 + m2/b -
+ (m2*(-((b*m2)/(m1 + m2)) + xp))/Power(b,2), 2)*Power(zp,2) +
+ Power((1 + m2/b)*(-((b*m2)/(m1 + m2)) + xp) -
+ (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2)) - (2*m1*Power((1 +
+ m2/b)*(-((b*m2)/(m1 + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 +
+ m2)) + xp,2) + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2)*
+ (1 + Power(m1,2)/ (4.*(Power(1 + (m2*(1 + m2/(2.*(m1 +
+ m2))))/b,2)* Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 +
+ m2)) + xp))/Power(b,2),2)* Power(zp,2) + Power((1 +
+ m2/b)*(-((b*m2)/(m1 + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 +
+ m2)) + xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))))) /Power(Power(1 + (m2*(1 +
+ m2/(2.*(m1 + m2))))/b,2)* Power(yp,2) + Power(1 + m2/b -
+ (m2*(-((b*m2)/(m1 + m2)) + xp))/Power(b,2),2)*Power(zp,2) +
+ Power((1 + m2/b)*(-((b*m2)/(m1 + m2)) + xp) -
+ (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2),1.5) + Power(1 + m1/
+ (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*
+ Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) +
+ xp))/Power(b,2),2)* Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1
+ + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) +
+ Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))),4)))/Power(b,3)) )/Power(b,2)
+ + (Power(m2,2)*Sqrt((m1 + m2)/b)* (1 + m1/(m1 + m2) -
+ (3*(-((b*m2)/(m1 + m2)) + xp))/b)*yp*zp* ((-2*m2*Sqrt((m1 +
+ m2)/b)*(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b)*yp* ((1 +
+ m2/b)*(-((b*m2)/(m1 + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 +
+ m2)) + xp,2) + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)))*
+ Power(1 - m1/ (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 +
+ m2))))/b,2)* Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 +
+ m2)) + xp))/Power(b,2), 2)*Power(zp,2) + Power((1 +
+ m2/b)*(-((b*m2)/(m1 + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 +
+ m2)) + xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))),2)* Power(1 + m1/
+ (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*
+ Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) +
+ xp))/Power(b,2), 2)*Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1
+ + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4))/Power(b,3)
+ - Sqrt((m1 + m2)/Power(b,3))*(1 - (m1*m2)/(b*(m1 + m2)))* (1 +
+ (m2*(1 + m2/(2.*(m1 + m2))))/b)*yp* Power(1 + m1/
+ (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*
+ Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) +
+ xp))/Power(b,2),2)*Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1
+ + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4)* (1 +
+ (m2*(-(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)* Power(yp,2))
+ - Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) + xp))/Power(b,2),
+ 2)*Power(zp,2) + 2*Power((1 + m2/b)*(-((b*m2)/(m1 + m2)) + xp) -
+ (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))* ((-2*Power(m1,2))/ (Power(1 +
+ (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*Power(yp,2) + Power(1 + m2/b -
+ (m2*(-((b*m2)/(m1 + m2)) + xp))/Power(b,2),2)* Power(zp,2) +
+ Power((1 + m2/b)*(-((b*m2)/(m1 + m2)) + xp) -
+ (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2)) + Power(1 + m1/
+ (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*
+ Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) +
+ xp))/Power(b,2),2)* Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1
+ + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),
+ 4)))/Power(b,3))))/Power(b,4) + (m2*Sqrt((m1 + m2)/b)*(1 + m2/b
+ - (m2*(-((b*m2)/(m1 + m2)) + xp))/Power(b,2))*yp*zp*
+ ((-2*m2*Sqrt((m1 + m2)/b)*(1 + (m2*(1 + m2/(2.*(m1 +
+ m2))))/b)*yp* ((1 + m2/b)*(-((b*m2)/(m1 + m2)) + xp) -
+ (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)))* Power(1 - m1/ (2.*Sqrt(Power(1 +
+ (m2*(1 + m2/(2.*(m1 + m2))))/b,2)* Power(yp,2) + Power(1 + m2/b
+ - (m2*(-((b*m2)/(m1 + m2)) + xp))/Power(b,2), 2)*Power(zp,2) +
+ Power((1 + m2/b)*(-((b*m2)/(m1 + m2)) + xp) -
+ (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))),2)* Power(1 + m1/
+ (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*
+ Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) +
+ xp))/Power(b,2), 2)*Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1
+ + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4))/Power(b,3)
+ - Sqrt((m1 + m2)/Power(b,3))*(1 - (m1*m2)/(b*(m1 + m2)))* (1 +
+ (m2*(1 + m2/(2.*(m1 + m2))))/b)*yp* Power(1 + m1/
+ (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*
+ Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) +
+ xp))/Power(b,2),2)*Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1
+ + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4)* (1 +
+ (m2*(-(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)* Power(yp,2))
+ - Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) + xp))/Power(b,2),
+ 2)*Power(zp,2) + 2*Power((1 + m2/b)*(-((b*m2)/(m1 + m2)) + xp) -
+ (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))* ((-2*Power(m1,2))/ (Power(1 +
+ (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*Power(yp,2) + Power(1 + m2/b -
+ (m2*(-((b*m2)/(m1 + m2)) + xp))/Power(b,2),2)* Power(zp,2) +
+ Power((1 + m2/b)*(-((b*m2)/(m1 + m2)) + xp) -
+ (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2)) + Power(1 + m1/
+ (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*
+ Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) +
+ xp))/Power(b,2),2)* Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1
+ + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),
+ 4)))/Power(b,3))))/Power(b,3) + (Power(m2,2)*(m1 + m2)*(1 +
+ m1/(m1 + m2) - (3*(-((b*m2)/(m1 + m2)) + xp))/b)*Power(yp,2)*zp*
+ ((m2*(-(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*Power(yp,2))
+ - Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) +
+ xp))/Power(b,2),2)* Power(zp,2) + 2*Power((1 +
+ m2/b)*(-((b*m2)/(m1 + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 +
+ m2)) + xp,2) + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))*
+ Power(1 - m1/ (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 +
+ m2))))/b,2)* Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 +
+ m2)) + xp))/Power(b,2), 2)*Power(zp,2) + Power((1 +
+ m2/b)*(-((b*m2)/(m1 + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 +
+ m2)) + xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))),4))/Power(b,3) - Power(1 -
+ m1/ (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*
+ Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) +
+ xp))/Power(b,2),2)*Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1
+ + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),2)/ Power(1 +
+ m1/ (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*
+ Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) +
+ xp))/Power(b,2),2)*Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1
+ + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),2) -
+ (4*m2*Sqrt((m1 + m2)/Power(b,3))*Sqrt((m1 + m2)/b)* (1 -
+ (m1*m2)/(b*(m1 + m2)))* ((1 + m2/b)*(-((b*m2)/(m1 + m2)) + xp) -
+ (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)))* (-(Power(1 + (m2*(1 + m2/(2.*(m1
+ + m2))))/b,2)*Power(yp,2)) + Power(1 + m2/b - (m2*(-((b*m2)/(m1
+ + m2)) + xp))/Power(b,2),2)* Power(zp,2) - Power((1 +
+ m2/b)*(-((b*m2)/(m1 + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 +
+ m2)) + xp,2) + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))*
+ Power(1 - m1/ (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 +
+ m2))))/b,2)* Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 +
+ m2)) + xp))/Power(b,2), 2)*Power(zp,2) + Power((1 +
+ m2/b)*(-((b*m2)/(m1 + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 +
+ m2)) + xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))),2)* Power(1 + m1/
+ (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*
+ Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) +
+ xp))/Power(b,2), 2)*Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1
+ + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4))/Power(b,3)
+ + ((m1 + m2)*Power(1 - (m1*m2)/(b*(m1 + m2)),2)* (Power(1 +
+ (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*Power(yp,2) + Power((1 +
+ m2/b)*(-((b*m2)/(m1 + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 +
+ m2)) + xp,2) + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))*
+ Power(1 + m1/ (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 +
+ m2))))/b,2)* Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 +
+ m2)) + xp))/Power(b,2), 2)*Power(zp,2) + Power((1 +
+ m2/b)*(-((b*m2)/(m1 + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 +
+ m2)) + xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))),4)* (1 + (m2*(-(Power(1 +
+ (m2*(1 + m2/(2.*(m1 + m2))))/b,2)* Power(yp,2)) - Power(1 + m2/b
+ - (m2*(-((b*m2)/(m1 + m2)) + xp))/Power(b,2), 2)*Power(zp,2) +
+ 2*Power((1 + m2/b)*(-((b*m2)/(m1 + m2)) + xp) -
+ (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))* ((-2*Power(m1,2))/ (Power(1 +
+ (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*Power(yp,2) + Power(1 + m2/b -
+ (m2*(-((b*m2)/(m1 + m2)) + xp))/Power(b,2),2)* Power(zp,2) +
+ Power((1 + m2/b)*(-((b*m2)/(m1 + m2)) + xp) -
+ (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2)) + Power(1 + m1/
+ (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*
+ Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) +
+ xp))/Power(b,2),2)* Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1
+ + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),
+ 4)))/Power(b,3)))/Power(b,3)))/Power(b,6) ;
+gyy = (4*m1*Power(m2,2)*Power(1 + (m2*(1 + m2/(2.*(m1 +
+ m2))))/b,2)*Power(yp,2)* ((1 + m2/b)*(-((b*m2)/(m1 + m2)) + xp)
+ - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + Power(yp,2) -
+ Power(zp,2)))/ (2.*Power(b,2)))*(-(Power(1 + (m2*(1 + m2/(2.*(m1
+ + m2))))/b,2)* Power(yp,2)) - Power(1 + m2/b - (m2*(-((b*m2)/(m1
+ + m2)) + xp))/Power(b,2),2)*Power(zp,2) + 2*Power((1 +
+ m2/b)*(-((b*m2)/(m1 + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 +
+ m2)) + xp,2) + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))*
+ (1 + Power(m1,2)/ (4.*(Power(1 + (m2*(1 + m2/(2.*(m1 +
+ m2))))/b,2)*Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 +
+ m2)) + xp))/Power(b,2),2)* Power(zp,2) + Power((1 +
+ m2/b)*(-((b*m2)/(m1 + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 +
+ m2)) + xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))))* Power(1 + m1/
+ (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*Power(yp,2)
+ + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) +
+ xp))/Power(b,2),2)* Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1
+ + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4))/
+ (Power(b,5)*Power(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*
+ Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) +
+ xp))/Power(b,2),2)*Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1
+ + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2),1.5)) + Power(1 +
+ (m2*(1 + m2/(2.*(m1 + m2))))/b,2)* Power(1 + m1/
+ (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*Power(yp,2)
+ + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) +
+ xp))/Power(b,2),2)* Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1
+ + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4)* (1 +
+ (m2*(-(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*Power(yp,2))
+ - Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) +
+ xp))/Power(b,2),2)* Power(zp,2) + 2*Power((1 +
+ m2/b)*(-((b*m2)/(m1 + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 +
+ m2)) + xp,2) + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))*
+ ((-2*m1)/ (Power(1 + (m2*(1 + m2/(2.*(m1 +
+ m2))))/b,2)*Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 +
+ m2)) + xp))/Power(b,2),2)* Power(zp,2) + Power((1 +
+ m2/b)*(-((b*m2)/(m1 + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 +
+ m2)) + xp,2) + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2)) -
+ (2*m1*Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*Power(yp,2)*
+ (1 + Power(m1,2)/ (4.*(Power(1 + (m2*(1 + m2/(2.*(m1 +
+ m2))))/b,2)* Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 +
+ m2)) + xp))/Power(b,2),2)* Power(zp,2) + Power((1 +
+ m2/b)*(-((b*m2)/(m1 + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 +
+ m2)) + xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2)))))/ Power(Power(1 + (m2*(1 +
+ m2/(2.*(m1 + m2))))/b,2)*Power(yp,2) + Power(1 + m2/b -
+ (m2*(-((b*m2)/(m1 + m2)) + xp))/Power(b,2),2)* Power(zp,2) +
+ Power((1 + m2/b)*(-((b*m2)/(m1 + m2)) + xp) -
+ (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2),1.5) + Power(1 + m1/
+ (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*
+ Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) +
+ xp))/Power(b,2), 2)*Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1
+ + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) +
+ Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))),4)))/Power(b,3)) +
+ (Power(m2,2)*Power(yp,2)*Power(1 + m1/(2.*Sqrt(Power(1 + (m2*(1
+ + m2/(2.*(m1 + m2))))/b,2)*Power(yp,2) + Power(1 + m2/b -
+ (m2*(-((b*m2)/(m1 + m2)) + xp))/Power(b,2),2)* Power(zp,2) +
+ Power((1 + m2/b)*(-((b*m2)/(m1 + m2)) + xp) -
+ (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))),4)* (1 + (m2*(-(Power(1 +
+ (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*Power(yp,2)) - Power(1 + m2/b
+ - (m2*(-((b*m2)/(m1 + m2)) + xp))/Power(b,2),2)* Power(zp,2) +
+ 2*Power((1 + m2/b)*(-((b*m2)/(m1 + m2)) + xp) -
+ (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))* ((-2*m1)/ (Power(1 + (m2*(1 +
+ m2/(2.*(m1 + m2))))/b,2)*Power(yp,2) + Power(1 + m2/b -
+ (m2*(-((b*m2)/(m1 + m2)) + xp))/Power(b,2), 2)*Power(zp,2) +
+ Power((1 + m2/b)*(-((b*m2)/(m1 + m2)) + xp) -
+ (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2)) - (2*m1*Power((1 +
+ m2/b)*(-((b*m2)/(m1 + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 +
+ m2)) + xp,2) + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2)*
+ (1 + Power(m1,2)/ (4.*(Power(1 + (m2*(1 + m2/(2.*(m1 +
+ m2))))/b,2)* Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 +
+ m2)) + xp))/Power(b,2),2)* Power(zp,2) + Power((1 +
+ m2/b)*(-((b*m2)/(m1 + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 +
+ m2)) + xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))))) /Power(Power(1 + (m2*(1 +
+ m2/(2.*(m1 + m2))))/b,2)* Power(yp,2) + Power(1 + m2/b -
+ (m2*(-((b*m2)/(m1 + m2)) + xp))/Power(b,2),2)*Power(zp,2) +
+ Power((1 + m2/b)*(-((b*m2)/(m1 + m2)) + xp) -
+ (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2),1.5) + Power(1 + m1/
+ (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*
+ Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) +
+ xp))/Power(b,2),2)* Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1
+ + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) +
+ Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))),4)))/Power(b,3)) )/Power(b,4)
+ - (2*m2*yp*(-(Sqrt((m1 + m2)/b)* (m2/(m1 + m2) + (m2*(3 +
+ Power(m2,2)/(2.*Power(m1 + m2,2)) + m1/(m1 + m2)))/b)) +
+ (m2*Sqrt((m1 + m2)/b)*((1 + m1/(m1 + m2))* (-((b*m2)/(m1 + m2))
+ + xp) - (3*Power(-((b*m2)/(m1 + m2)) + xp,2) - 3*Power(yp,2) -
+ Power(zp,2))/(2.*b)))/Power(b,2))* ((-2*m2*Sqrt((m1 + m2)/b)*(1
+ + (m2*(1 + m2/(2.*(m1 + m2))))/b)*yp* ((1 + m2/b)*(-((b*m2)/(m1
+ + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)))* Power(1 - m1/
+ (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*
+ Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) +
+ xp))/Power(b,2), 2)*Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1
+ + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),2)* Power(1 +
+ m1/ (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*
+ Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) +
+ xp))/Power(b,2), 2)*Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1
+ + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4))/Power(b,3)
+ - Sqrt((m1 + m2)/Power(b,3))*(1 - (m1*m2)/(b*(m1 + m2)))* (1 +
+ (m2*(1 + m2/(2.*(m1 + m2))))/b)*yp* Power(1 + m1/
+ (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*
+ Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) +
+ xp))/Power(b,2),2)*Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1
+ + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4)* (1 +
+ (m2*(-(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)* Power(yp,2))
+ - Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) + xp))/Power(b,2),
+ 2)*Power(zp,2) + 2*Power((1 + m2/b)*(-((b*m2)/(m1 + m2)) + xp) -
+ (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))* ((-2*Power(m1,2))/ (Power(1 +
+ (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*Power(yp,2) + Power(1 + m2/b -
+ (m2*(-((b*m2)/(m1 + m2)) + xp))/Power(b,2),2)* Power(zp,2) +
+ Power((1 + m2/b)*(-((b*m2)/(m1 + m2)) + xp) -
+ (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2)) + Power(1 + m1/
+ (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*
+ Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) +
+ xp))/Power(b,2),2)* Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1
+ + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),
+ 4)))/Power(b,3))))/Power(b,2) + 2*(1 + (m2*(1 + m2/(2.*(m1 +
+ m2))))/b)* (-(Sqrt((m1 + m2)/b)*(m2/(m1 + m2) + (m2*(3 +
+ Power(m2,2)/(2.*Power(m1 + m2,2)) + m1/(m1 + m2)))/b)) +
+ (m2*Sqrt((m1 + m2)/b)*((1 + m1/(m1 + m2))*(-((b*m2)/(m1 + m2)) +
+ xp) - (3*Power(-((b*m2)/(m1 + m2)) + xp,2) - 3*Power(yp,2) -
+ Power(zp,2))/(2.*b)))/Power(b,2))* ((2*m2*Sqrt((m1 +
+ m2)/b)*(-(Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) +
+ xp))/Power(b,2),2)*Power(zp,2)) + Power((1 + m2/b)*(-((b*m2)/(m1
+ + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))* Power(1 - m1/
+ (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*
+ Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) +
+ xp))/Power(b,2),2)*Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1
+ + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),2)* Power(1 +
+ m1/ (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*
+ Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) +
+ xp))/Power(b,2),2)*Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1
+ + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4))/Power(b,3)
+ + Sqrt((m1 + m2)/Power(b,3))*(1 - (m1*m2)/(b*(m1 + m2)))* ((1 +
+ m2/b)*(-((b*m2)/(m1 + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 +
+ m2)) + xp,2) + Power(yp,2) - Power(zp,2)))/
+ (2.*Power(b,2)))*Power(1 + m1/(2.*Sqrt(Power(1 + (m2*(1 +
+ m2/(2.*(m1 + m2))))/b,2)* Power(yp,2) + Power(1 + m2/b -
+ (m2*(-((b*m2)/(m1 + m2)) + xp))/Power(b,2),2)*Power(zp,2) +
+ Power((1 + m2/b)*(-((b*m2)/(m1 + m2)) + xp) -
+ (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))),4)* (1 + (m2*(-(Power(1 +
+ (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*Power(yp,2)) - Power(1 + m2/b
+ - (m2*(-((b*m2)/(m1 + m2)) + xp))/Power(b,2),2)* Power(zp,2) +
+ 2*Power((1 + m2/b)*(-((b*m2)/(m1 + m2)) + xp) -
+ (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))* ((-2*Power(m1,2))/ (Power(1 +
+ (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*Power(yp,2) + Power(1 + m2/b -
+ (m2*(-((b*m2)/(m1 + m2)) + xp))/Power(b,2), 2)*Power(zp,2) +
+ Power((1 + m2/b)*(-((b*m2)/(m1 + m2)) + xp) -
+ (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2)) + Power(1 + m1/
+ (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*
+ Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) +
+ xp))/Power(b,2),2)* Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1
+ + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4)))/Power(b,3)
+ )) + Power(-(Sqrt((m1 + m2)/b)* (m2/(m1 + m2) + (m2*(3 +
+ Power(m2,2)/(2.*Power(m1 + m2,2)) + m1/(m1 + m2)))/b)) +
+ (m2*Sqrt((m1 + m2)/b)*((1 + m1/(m1 + m2))*(-((b*m2)/(m1 + m2)) +
+ xp) - (3*Power(-((b*m2)/(m1 + m2)) + xp,2) - 3*Power(yp,2) -
+ Power(zp,2))/(2.*b)))/Power(b,2),2)* ((m2*(-(Power(1 + (m2*(1 +
+ m2/(2.*(m1 + m2))))/b,2)*Power(yp,2)) - Power(1 + m2/b -
+ (m2*(-((b*m2)/(m1 + m2)) + xp))/Power(b,2),2)* Power(zp,2) +
+ 2*Power((1 + m2/b)*(-((b*m2)/(m1 + m2)) + xp) -
+ (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))* Power(1 - m1/
+ (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*
+ Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) +
+ xp))/Power(b,2),2)*Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1
+ + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4))/Power(b,3)
+ - Power(1 - m1/ (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 +
+ m2))))/b,2)*Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 +
+ m2)) + xp))/Power(b,2),2)* Power(zp,2) + Power((1 +
+ m2/b)*(-((b*m2)/(m1 + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 +
+ m2)) + xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))),2)/ Power(1 + m1/
+ (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*Power(yp,2)
+ + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) +
+ xp))/Power(b,2),2)* Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1
+ + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),2) -
+ (4*m2*Sqrt((m1 + m2)/Power(b,3))*Sqrt((m1 + m2)/b)* (1 -
+ (m1*m2)/(b*(m1 + m2)))* ((1 + m2/b)*(-((b*m2)/(m1 + m2)) + xp) -
+ (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)))* (-(Power(1 + (m2*(1 + m2/(2.*(m1
+ + m2))))/b,2)*Power(yp,2)) + Power(1 + m2/b - (m2*(-((b*m2)/(m1
+ + m2)) + xp))/Power(b,2),2)* Power(zp,2) - Power((1 +
+ m2/b)*(-((b*m2)/(m1 + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 +
+ m2)) + xp,2) + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))*
+ Power(1 - m1/ (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 +
+ m2))))/b,2)* Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 +
+ m2)) + xp))/Power(b,2),2)*Power(zp,2) + Power((1 +
+ m2/b)*(-((b*m2)/(m1 + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 +
+ m2)) + xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))),2)* Power(1 + m1/
+ (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*
+ Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) +
+ xp))/Power(b,2),2)*Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1
+ + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4))/Power(b,3)
+ + ((m1 + m2)*Power(1 - (m1*m2)/(b*(m1 + m2)),2)* (Power(1 +
+ (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*Power(yp,2) + Power((1 +
+ m2/b)*(-((b*m2)/(m1 + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 +
+ m2)) + xp,2) + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))*
+ Power(1 + m1/ (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 +
+ m2))))/b,2)* Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 +
+ m2)) + xp))/Power(b,2),2)*Power(zp,2) + Power((1 +
+ m2/b)*(-((b*m2)/(m1 + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 +
+ m2)) + xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))),4)* (1 + (m2*(-(Power(1 +
+ (m2*(1 + m2/(2.*(m1 + m2))))/b,2)* Power(yp,2)) - Power(1 + m2/b
+ - (m2*(-((b*m2)/(m1 + m2)) + xp))/Power(b,2), 2)*Power(zp,2) +
+ 2*Power((1 + m2/b)*(-((b*m2)/(m1 + m2)) + xp) -
+ (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))* ((-2*Power(m1,2))/ (Power(1 +
+ (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*Power(yp,2) + Power(1 + m2/b -
+ (m2*(-((b*m2)/(m1 + m2)) + xp))/Power(b,2),2)* Power(zp,2) +
+ Power((1 + m2/b)*(-((b*m2)/(m1 + m2)) + xp) -
+ (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2)) + Power(1 + m1/
+ (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*
+ Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) +
+ xp))/Power(b,2),2)* Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1
+ + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),
+ 4)))/Power(b,3)))/Power(b,3)) ;
+gyz = (-2*m1*m2*Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)* Power(1 +
+ m2/b - (m2*(-((b*m2)/(m1 + m2)) + xp))/Power(b,2),2)*yp*zp*
+ (-(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*Power(yp,2)) -
+ Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) + xp))/Power(b,2),2)*
+ Power(zp,2) + 2*Power((1 + m2/b)*(-((b*m2)/(m1 + m2)) + xp) -
+ (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))* (1 + Power(m1,2)/
+ (4.*(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*Power(yp,2) +
+ Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) + xp))/Power(b,2),2)*
+ Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1 + m2)) + xp) -
+ (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))))* Power(1 + m1/
+ (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*Power(yp,2)
+ + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) +
+ xp))/Power(b,2),2)* Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1
+ + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4))/
+ (Power(b,3)*Power(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*
+ Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) +
+ xp))/Power(b,2),2)*Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1
+ + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2),1.5)) -
+ (2*m1*Power(m2,2)*Power(1 + (m2*(1 + m2/(2.*(m1 +
+ m2))))/b,2)*yp*zp* ((1 + m2/b)*(-((b*m2)/(m1 + m2)) + xp) -
+ (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + Power(yp,2) -
+ Power(zp,2)))/ (2.*Power(b,2)))*(-(Power(1 + (m2*(1 + m2/(2.*(m1
+ + m2))))/b,2)* Power(yp,2)) - Power(1 + m2/b - (m2*(-((b*m2)/(m1
+ + m2)) + xp))/Power(b,2),2)*Power(zp,2) + 2*Power((1 +
+ m2/b)*(-((b*m2)/(m1 + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 +
+ m2)) + xp,2) + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))*
+ (1 + Power(m1,2)/ (4.*(Power(1 + (m2*(1 + m2/(2.*(m1 +
+ m2))))/b,2)*Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 +
+ m2)) + xp))/Power(b,2),2)* Power(zp,2) + Power((1 +
+ m2/b)*(-((b*m2)/(m1 + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 +
+ m2)) + xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))))* Power(1 + m1/
+ (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*Power(yp,2)
+ + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) +
+ xp))/Power(b,2),2)* Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1
+ + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4))/
+ (Power(b,5)*Power(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*
+ Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) +
+ xp))/Power(b,2),2)*Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1
+ + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2),1.5)) +
+ (2*m1*Power(m2,2)*Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) +
+ xp))/Power(b,2),2)*yp*zp* ((1 + m2/b)*(-((b*m2)/(m1 + m2)) + xp)
+ - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + Power(yp,2) -
+ Power(zp,2)))/ (2.*Power(b,2)))*(-(Power(1 + (m2*(1 + m2/(2.*(m1
+ + m2))))/b,2)* Power(yp,2)) - Power(1 + m2/b - (m2*(-((b*m2)/(m1
+ + m2)) + xp))/Power(b,2),2)*Power(zp,2) + 2*Power((1 +
+ m2/b)*(-((b*m2)/(m1 + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 +
+ m2)) + xp,2) + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))*
+ (1 + Power(m1,2)/ (4.*(Power(1 + (m2*(1 + m2/(2.*(m1 +
+ m2))))/b,2)*Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 +
+ m2)) + xp))/Power(b,2),2)* Power(zp,2) + Power((1 +
+ m2/b)*(-((b*m2)/(m1 + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 +
+ m2)) + xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))))* Power(1 + m1/
+ (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*Power(yp,2)
+ + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) +
+ xp))/Power(b,2),2)* Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1
+ + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4))/
+ (Power(b,5)*Power(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*
+ Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) +
+ xp))/Power(b,2),2)*Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1
+ + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2),1.5)) +
+ (2*m2*Sqrt((m1 + m2)/b)*(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b)*
+ Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) +
+ xp))/Power(b,2),2)*yp*zp* (-(Sqrt((m1 + m2)/b)*(m2/(m1 + m2) +
+ (m2*(3 + Power(m2,2)/(2.*Power(m1 + m2,2)) + m1/(m1 + m2)))/b))
+ + (m2*Sqrt((m1 + m2)/b)* ((1 + m1/(m1 + m2))*(-((b*m2)/(m1 +
+ m2)) + xp) - (3*Power(-((b*m2)/(m1 + m2)) + xp,2) -
+ 3*Power(yp,2) - Power(zp,2))/(2.*b)))/Power(b,2))* Power(1 - m1/
+ (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*Power(yp,2)
+ + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) +
+ xp))/Power(b,2),2)* Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1
+ + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),2)* Power(1 +
+ m1/ (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 +
+ m2))))/b,2)*Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 +
+ m2)) + xp))/Power(b,2),2)* Power(zp,2) + Power((1 +
+ m2/b)*(-((b*m2)/(m1 + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 +
+ m2)) + xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))),4))/Power(b,3) -
+ (Power(m2,2)*yp*zp*Power(1 + m1/(2.*Sqrt(Power(1 + (m2*(1 +
+ m2/(2.*(m1 + m2))))/b,2)*Power(yp,2) + Power(1 + m2/b -
+ (m2*(-((b*m2)/(m1 + m2)) + xp))/Power(b,2),2)* Power(zp,2) +
+ Power((1 + m2/b)*(-((b*m2)/(m1 + m2)) + xp) -
+ (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))),4)* (1 + (m2*(-(Power(1 +
+ (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*Power(yp,2)) - Power(1 + m2/b
+ - (m2*(-((b*m2)/(m1 + m2)) + xp))/Power(b,2),2)* Power(zp,2) +
+ 2*Power((1 + m2/b)*(-((b*m2)/(m1 + m2)) + xp) -
+ (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))* ((-2*m1)/ (Power(1 + (m2*(1 +
+ m2/(2.*(m1 + m2))))/b,2)*Power(yp,2) + Power(1 + m2/b -
+ (m2*(-((b*m2)/(m1 + m2)) + xp))/Power(b,2), 2)*Power(zp,2) +
+ Power((1 + m2/b)*(-((b*m2)/(m1 + m2)) + xp) -
+ (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2)) - (2*m1*Power((1 +
+ m2/b)*(-((b*m2)/(m1 + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 +
+ m2)) + xp,2) + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2)*
+ (1 + Power(m1,2)/ (4.*(Power(1 + (m2*(1 + m2/(2.*(m1 +
+ m2))))/b,2)* Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 +
+ m2)) + xp))/Power(b,2),2)* Power(zp,2) + Power((1 +
+ m2/b)*(-((b*m2)/(m1 + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 +
+ m2)) + xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))))) /Power(Power(1 + (m2*(1 +
+ m2/(2.*(m1 + m2))))/b,2)* Power(yp,2) + Power(1 + m2/b -
+ (m2*(-((b*m2)/(m1 + m2)) + xp))/Power(b,2),2)*Power(zp,2) +
+ Power((1 + m2/b)*(-((b*m2)/(m1 + m2)) + xp) -
+ (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2),1.5) + Power(1 + m1/
+ (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*
+ Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) +
+ xp))/Power(b,2),2)* Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1
+ + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) +
+ Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))),4)))/Power(b,3)) )/Power(b,4)
+ - (Power(m2,2)*Sqrt((m1 + m2)/b)*Power(yp,2)*zp*
+ ((-2*m2*Sqrt((m1 + m2)/b)*(1 + (m2*(1 + m2/(2.*(m1 +
+ m2))))/b)*yp* ((1 + m2/b)*(-((b*m2)/(m1 + m2)) + xp) -
+ (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)))* Power(1 - m1/ (2.*Sqrt(Power(1 +
+ (m2*(1 + m2/(2.*(m1 + m2))))/b,2)* Power(yp,2) + Power(1 + m2/b
+ - (m2*(-((b*m2)/(m1 + m2)) + xp))/Power(b,2), 2)*Power(zp,2) +
+ Power((1 + m2/b)*(-((b*m2)/(m1 + m2)) + xp) -
+ (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))),2)* Power(1 + m1/
+ (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*
+ Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) +
+ xp))/Power(b,2), 2)*Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1
+ + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4))/Power(b,3)
+ - Sqrt((m1 + m2)/Power(b,3))*(1 - (m1*m2)/(b*(m1 + m2)))* (1 +
+ (m2*(1 + m2/(2.*(m1 + m2))))/b)*yp* Power(1 + m1/
+ (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*
+ Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) +
+ xp))/Power(b,2),2)*Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1
+ + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4)* (1 +
+ (m2*(-(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)* Power(yp,2))
+ - Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) + xp))/Power(b,2),
+ 2)*Power(zp,2) + 2*Power((1 + m2/b)*(-((b*m2)/(m1 + m2)) + xp) -
+ (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))* ((-2*Power(m1,2))/ (Power(1 +
+ (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*Power(yp,2) + Power(1 + m2/b -
+ (m2*(-((b*m2)/(m1 + m2)) + xp))/Power(b,2),2)* Power(zp,2) +
+ Power((1 + m2/b)*(-((b*m2)/(m1 + m2)) + xp) -
+ (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2)) + Power(1 + m1/
+ (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*
+ Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) +
+ xp))/Power(b,2),2)* Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1
+ + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),
+ 4)))/Power(b,3))))/Power(b,5) + (m2*zp*(-(Sqrt((m1 +
+ m2)/b)*(m2/(m1 + m2) + (m2*(3 + Power(m2,2)/(2.*Power(m1 +
+ m2,2)) + m1/(m1 + m2)))/b)) + (m2*Sqrt((m1 + m2)/b)* ((1 +
+ m1/(m1 + m2))*(-((b*m2)/(m1 + m2)) + xp) - (3*Power(-((b*m2)/(m1
+ + m2)) + xp,2) - 3*Power(yp,2) -
+ Power(zp,2))/(2.*b)))/Power(b,2))* ((-2*m2*Sqrt((m1 + m2)/b)*(1
+ + (m2*(1 + m2/(2.*(m1 + m2))))/b)*yp* ((1 + m2/b)*(-((b*m2)/(m1
+ + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)))* Power(1 - m1/
+ (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*
+ Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) +
+ xp))/Power(b,2), 2)*Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1
+ + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),2)* Power(1 +
+ m1/ (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*
+ Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) +
+ xp))/Power(b,2), 2)*Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1
+ + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4))/Power(b,3)
+ - Sqrt((m1 + m2)/Power(b,3))*(1 - (m1*m2)/(b*(m1 + m2)))* (1 +
+ (m2*(1 + m2/(2.*(m1 + m2))))/b)*yp* Power(1 + m1/
+ (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*
+ Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) +
+ xp))/Power(b,2),2)*Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1
+ + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4)* (1 +
+ (m2*(-(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)* Power(yp,2))
+ - Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) + xp))/Power(b,2),
+ 2)*Power(zp,2) + 2*Power((1 + m2/b)*(-((b*m2)/(m1 + m2)) + xp) -
+ (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))* ((-2*Power(m1,2))/ (Power(1 +
+ (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*Power(yp,2) + Power(1 + m2/b -
+ (m2*(-((b*m2)/(m1 + m2)) + xp))/Power(b,2),2)* Power(zp,2) +
+ Power((1 + m2/b)*(-((b*m2)/(m1 + m2)) + xp) -
+ (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2)) + Power(1 + m1/
+ (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*
+ Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) +
+ xp))/Power(b,2),2)* Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1
+ + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),
+ 4)))/Power(b,3))))/Power(b,2) + (m2*Sqrt((m1 + m2)/b)*(1 +
+ (m2*(1 + m2/(2.*(m1 + m2))))/b)*yp*zp* ((2*m2*Sqrt((m1 +
+ m2)/b)*(-(Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) +
+ xp))/Power(b,2),2)*Power(zp,2)) + Power((1 + m2/b)*(-((b*m2)/(m1
+ + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))* Power(1 - m1/
+ (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*
+ Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) +
+ xp))/Power(b,2), 2)*Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1
+ + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),2)* Power(1 +
+ m1/ (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*
+ Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) +
+ xp))/Power(b,2), 2)*Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1
+ + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4))/Power(b,3)
+ + Sqrt((m1 + m2)/Power(b,3))*(1 - (m1*m2)/(b*(m1 + m2)))* ((1 +
+ m2/b)*(-((b*m2)/(m1 + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 +
+ m2)) + xp,2) + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)))*
+ Power(1 + m1/ (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 +
+ m2))))/b,2)* Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 +
+ m2)) + xp))/Power(b,2),2)*Power(zp,2) + Power((1 +
+ m2/b)*(-((b*m2)/(m1 + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 +
+ m2)) + xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))),4)* (1 + (m2*(-(Power(1 +
+ (m2*(1 + m2/(2.*(m1 + m2))))/b,2)* Power(yp,2)) - Power(1 + m2/b
+ - (m2*(-((b*m2)/(m1 + m2)) + xp))/Power(b,2), 2)*Power(zp,2) +
+ 2*Power((1 + m2/b)*(-((b*m2)/(m1 + m2)) + xp) -
+ (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))* ((-2*Power(m1,2))/ (Power(1 +
+ (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*Power(yp,2) + Power(1 + m2/b -
+ (m2*(-((b*m2)/(m1 + m2)) + xp))/Power(b,2),2)* Power(zp,2) +
+ Power((1 + m2/b)*(-((b*m2)/(m1 + m2)) + xp) -
+ (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2)) + Power(1 + m1/
+ (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*
+ Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) +
+ xp))/Power(b,2),2)* Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1
+ + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),
+ 4)))/Power(b,3))))/Power(b,3) + (m2*Sqrt((m1 +
+ m2)/b)*yp*zp*(-(Sqrt((m1 + m2)/b)* (m2/(m1 + m2) + (m2*(3 +
+ Power(m2,2)/(2.*Power(m1 + m2,2)) + m1/(m1 + m2)))/b)) +
+ (m2*Sqrt((m1 + m2)/b)*((1 + m1/(m1 + m2))* (-((b*m2)/(m1 + m2))
+ + xp) - (3*Power(-((b*m2)/(m1 + m2)) + xp,2) - 3*Power(yp,2) -
+ Power(zp,2))/(2.*b)))/Power(b,2))* ((m2*(-(Power(1 + (m2*(1 +
+ m2/(2.*(m1 + m2))))/b,2)*Power(yp,2)) - Power(1 + m2/b -
+ (m2*(-((b*m2)/(m1 + m2)) + xp))/Power(b,2),2)* Power(zp,2) +
+ 2*Power((1 + m2/b)*(-((b*m2)/(m1 + m2)) + xp) -
+ (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))* Power(1 - m1/
+ (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*
+ Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) +
+ xp))/Power(b,2), 2)*Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1
+ + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4))/Power(b,3)
+ - Power(1 - m1/ (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 +
+ m2))))/b,2)* Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 +
+ m2)) + xp))/Power(b,2),2)*Power(zp,2) + Power((1 +
+ m2/b)*(-((b*m2)/(m1 + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 +
+ m2)) + xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))),2)/ Power(1 + m1/
+ (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*
+ Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) +
+ xp))/Power(b,2),2)*Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1
+ + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),2) -
+ (4*m2*Sqrt((m1 + m2)/Power(b,3))*Sqrt((m1 + m2)/b)* (1 -
+ (m1*m2)/(b*(m1 + m2)))* ((1 + m2/b)*(-((b*m2)/(m1 + m2)) + xp) -
+ (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)))* (-(Power(1 + (m2*(1 + m2/(2.*(m1
+ + m2))))/b,2)*Power(yp,2)) + Power(1 + m2/b - (m2*(-((b*m2)/(m1
+ + m2)) + xp))/Power(b,2),2)* Power(zp,2) - Power((1 +
+ m2/b)*(-((b*m2)/(m1 + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 +
+ m2)) + xp,2) + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))*
+ Power(1 - m1/ (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 +
+ m2))))/b,2)* Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 +
+ m2)) + xp))/Power(b,2), 2)*Power(zp,2) + Power((1 +
+ m2/b)*(-((b*m2)/(m1 + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 +
+ m2)) + xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))),2)* Power(1 + m1/
+ (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*
+ Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) +
+ xp))/Power(b,2), 2)*Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1
+ + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4))/Power(b,3)
+ + ((m1 + m2)*Power(1 - (m1*m2)/(b*(m1 + m2)),2)* (Power(1 +
+ (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*Power(yp,2) + Power((1 +
+ m2/b)*(-((b*m2)/(m1 + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 +
+ m2)) + xp,2) + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))*
+ Power(1 + m1/ (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 +
+ m2))))/b,2)* Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 +
+ m2)) + xp))/Power(b,2), 2)*Power(zp,2) + Power((1 +
+ m2/b)*(-((b*m2)/(m1 + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 +
+ m2)) + xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))),4)* (1 + (m2*(-(Power(1 +
+ (m2*(1 + m2/(2.*(m1 + m2))))/b,2)* Power(yp,2)) - Power(1 + m2/b
+ - (m2*(-((b*m2)/(m1 + m2)) + xp))/Power(b,2), 2)*Power(zp,2) +
+ 2*Power((1 + m2/b)*(-((b*m2)/(m1 + m2)) + xp) -
+ (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))* ((-2*Power(m1,2))/ (Power(1 +
+ (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*Power(yp,2) + Power(1 + m2/b -
+ (m2*(-((b*m2)/(m1 + m2)) + xp))/Power(b,2),2)* Power(zp,2) +
+ Power((1 + m2/b)*(-((b*m2)/(m1 + m2)) + xp) -
+ (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2)) + Power(1 + m1/
+ (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*
+ Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) +
+ xp))/Power(b,2),2)* Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1
+ + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),
+ 4)))/Power(b,3)))/Power(b,3)))/Power(b,3) ;
+gzz = (-4*m1*Power(m2,2)*Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) +
+ xp))/Power(b,2),2)*Power(zp,2)* ((1 + m2/b)*(-((b*m2)/(m1 + m2))
+ + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + Power(yp,2) -
+ Power(zp,2)))/ (2.*Power(b,2)))*(-(Power(1 + (m2*(1 + m2/(2.*(m1
+ + m2))))/b,2)* Power(yp,2)) - Power(1 + m2/b - (m2*(-((b*m2)/(m1
+ + m2)) + xp))/Power(b,2),2)*Power(zp,2) + 2*Power((1 +
+ m2/b)*(-((b*m2)/(m1 + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 +
+ m2)) + xp,2) + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))*
+ (1 + Power(m1,2)/ (4.*(Power(1 + (m2*(1 + m2/(2.*(m1 +
+ m2))))/b,2)*Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 +
+ m2)) + xp))/Power(b,2),2)* Power(zp,2) + Power((1 +
+ m2/b)*(-((b*m2)/(m1 + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 +
+ m2)) + xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))))* Power(1 + m1/
+ (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*Power(yp,2)
+ + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) +
+ xp))/Power(b,2),2)* Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1
+ + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4))/
+ (Power(b,5)*Power(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*
+ Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) +
+ xp))/Power(b,2),2)*Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1
+ + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2),1.5)) +
+ (4*Power(m2,2)*(m1 + m2)*(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b)*
+ Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) + xp))/Power(b,2),2)*
+ Power(yp,2)*Power(zp,2)*Power(1 - m1/(2.*Sqrt(Power(1 + (m2*(1 +
+ m2/(2.*(m1 + m2))))/b,2)*Power(yp,2) + Power(1 + m2/b -
+ (m2*(-((b*m2)/(m1 + m2)) + xp))/Power(b,2),2)* Power(zp,2) +
+ Power((1 + m2/b)*(-((b*m2)/(m1 + m2)) + xp) -
+ (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))),2)* Power(1 + m1/
+ (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*Power(yp,2)
+ + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) +
+ xp))/Power(b,2),2)* Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1
+ + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4))/Power(b,7)
+ + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) +
+ xp))/Power(b,2),2)* Power(1 + m1/ (2.*Sqrt(Power(1 + (m2*(1 +
+ m2/(2.*(m1 + m2))))/b,2)*Power(yp,2) + Power(1 + m2/b -
+ (m2*(-((b*m2)/(m1 + m2)) + xp))/Power(b,2),2)* Power(zp,2) +
+ Power((1 + m2/b)*(-((b*m2)/(m1 + m2)) + xp) -
+ (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))),4)* (1 + (m2*(-(Power(1 +
+ (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*Power(yp,2)) - Power(1 + m2/b
+ - (m2*(-((b*m2)/(m1 + m2)) + xp))/Power(b,2),2)* Power(zp,2) +
+ 2*Power((1 + m2/b)*(-((b*m2)/(m1 + m2)) + xp) -
+ (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))* ((-2*m1)/ (Power(1 + (m2*(1 +
+ m2/(2.*(m1 + m2))))/b,2)*Power(yp,2) + Power(1 + m2/b -
+ (m2*(-((b*m2)/(m1 + m2)) + xp))/Power(b,2),2)* Power(zp,2) +
+ Power((1 + m2/b)*(-((b*m2)/(m1 + m2)) + xp) -
+ (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2)) - (2*m1*Power(1 + m2/b -
+ (m2*(-((b*m2)/(m1 + m2)) + xp))/Power(b,2), 2)*Power(zp,2)*(1 +
+ Power(m1,2)/ (4.*(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*
+ Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) +
+ xp))/Power(b,2),2)* Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1
+ + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2)))))/
+ Power(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*Power(yp,2) +
+ Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) + xp))/Power(b,2),2)*
+ Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1 + m2)) + xp) -
+ (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2),1.5) + Power(1 + m1/
+ (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*
+ Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) +
+ xp))/Power(b,2), 2)*Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1
+ + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) +
+ Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))),4)))/Power(b,3)) +
+ (Power(m2,2)*Power(zp,2)*Power(1 + m1/(2.*Sqrt(Power(1 + (m2*(1
+ + m2/(2.*(m1 + m2))))/b,2)*Power(yp,2) + Power(1 + m2/b -
+ (m2*(-((b*m2)/(m1 + m2)) + xp))/Power(b,2),2)* Power(zp,2) +
+ Power((1 + m2/b)*(-((b*m2)/(m1 + m2)) + xp) -
+ (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))),4)* (1 + (m2*(-(Power(1 +
+ (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*Power(yp,2)) - Power(1 + m2/b
+ - (m2*(-((b*m2)/(m1 + m2)) + xp))/Power(b,2),2)* Power(zp,2) +
+ 2*Power((1 + m2/b)*(-((b*m2)/(m1 + m2)) + xp) -
+ (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))* ((-2*m1)/ (Power(1 + (m2*(1 +
+ m2/(2.*(m1 + m2))))/b,2)*Power(yp,2) + Power(1 + m2/b -
+ (m2*(-((b*m2)/(m1 + m2)) + xp))/Power(b,2), 2)*Power(zp,2) +
+ Power((1 + m2/b)*(-((b*m2)/(m1 + m2)) + xp) -
+ (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2)) - (2*m1*Power((1 +
+ m2/b)*(-((b*m2)/(m1 + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 +
+ m2)) + xp,2) + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2)*
+ (1 + Power(m1,2)/ (4.*(Power(1 + (m2*(1 + m2/(2.*(m1 +
+ m2))))/b,2)* Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 +
+ m2)) + xp))/Power(b,2),2)* Power(zp,2) + Power((1 +
+ m2/b)*(-((b*m2)/(m1 + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 +
+ m2)) + xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))))) /Power(Power(1 + (m2*(1 +
+ m2/(2.*(m1 + m2))))/b,2)* Power(yp,2) + Power(1 + m2/b -
+ (m2*(-((b*m2)/(m1 + m2)) + xp))/Power(b,2),2)*Power(zp,2) +
+ Power((1 + m2/b)*(-((b*m2)/(m1 + m2)) + xp) -
+ (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2),1.5) + Power(1 + m1/
+ (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*
+ Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) +
+ xp))/Power(b,2),2)* Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1
+ + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) +
+ Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))),4)))/Power(b,3)) )/Power(b,4)
+ + (2*Power(m2,2)*Sqrt((m1 + m2)/b)*yp*Power(zp,2)*
+ ((-2*m2*Sqrt((m1 + m2)/b)*(1 + (m2*(1 + m2/(2.*(m1 +
+ m2))))/b)*yp* ((1 + m2/b)*(-((b*m2)/(m1 + m2)) + xp) -
+ (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)))* Power(1 - m1/ (2.*Sqrt(Power(1 +
+ (m2*(1 + m2/(2.*(m1 + m2))))/b,2)* Power(yp,2) + Power(1 + m2/b
+ - (m2*(-((b*m2)/(m1 + m2)) + xp))/Power(b,2), 2)*Power(zp,2) +
+ Power((1 + m2/b)*(-((b*m2)/(m1 + m2)) + xp) -
+ (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))),2)* Power(1 + m1/
+ (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*
+ Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) +
+ xp))/Power(b,2), 2)*Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1
+ + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4))/Power(b,3)
+ - Sqrt((m1 + m2)/Power(b,3))*(1 - (m1*m2)/(b*(m1 + m2)))* (1 +
+ (m2*(1 + m2/(2.*(m1 + m2))))/b)*yp* Power(1 + m1/
+ (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*
+ Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) +
+ xp))/Power(b,2),2)*Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1
+ + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4)* (1 +
+ (m2*(-(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)* Power(yp,2))
+ - Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) + xp))/Power(b,2),
+ 2)*Power(zp,2) + 2*Power((1 + m2/b)*(-((b*m2)/(m1 + m2)) + xp) -
+ (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))* ((-2*Power(m1,2))/ (Power(1 +
+ (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*Power(yp,2) + Power(1 + m2/b -
+ (m2*(-((b*m2)/(m1 + m2)) + xp))/Power(b,2),2)* Power(zp,2) +
+ Power((1 + m2/b)*(-((b*m2)/(m1 + m2)) + xp) -
+ (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2)) + Power(1 + m1/
+ (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*
+ Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) +
+ xp))/Power(b,2),2)* Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1
+ + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),
+ 4)))/Power(b,3))))/Power(b,5) + (Power(m2,2)*(m1 +
+ m2)*Power(yp,2)*Power(zp,2)* ((m2*(-(Power(1 + (m2*(1 +
+ m2/(2.*(m1 + m2))))/b,2)*Power(yp,2)) - Power(1 + m2/b -
+ (m2*(-((b*m2)/(m1 + m2)) + xp))/Power(b,2),2)* Power(zp,2) +
+ 2*Power((1 + m2/b)*(-((b*m2)/(m1 + m2)) + xp) -
+ (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))* Power(1 - m1/
+ (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*
+ Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) +
+ xp))/Power(b,2), 2)*Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1
+ + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4))/Power(b,3)
+ - Power(1 - m1/ (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 +
+ m2))))/b,2)* Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 +
+ m2)) + xp))/Power(b,2),2)*Power(zp,2) + Power((1 +
+ m2/b)*(-((b*m2)/(m1 + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 +
+ m2)) + xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))),2)/ Power(1 + m1/
+ (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*
+ Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) +
+ xp))/Power(b,2),2)*Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1
+ + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),2) -
+ (4*m2*Sqrt((m1 + m2)/Power(b,3))*Sqrt((m1 + m2)/b)* (1 -
+ (m1*m2)/(b*(m1 + m2)))* ((1 + m2/b)*(-((b*m2)/(m1 + m2)) + xp) -
+ (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)))* (-(Power(1 + (m2*(1 + m2/(2.*(m1
+ + m2))))/b,2)*Power(yp,2)) + Power(1 + m2/b - (m2*(-((b*m2)/(m1
+ + m2)) + xp))/Power(b,2),2)* Power(zp,2) - Power((1 +
+ m2/b)*(-((b*m2)/(m1 + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 +
+ m2)) + xp,2) + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))*
+ Power(1 - m1/ (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 +
+ m2))))/b,2)* Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 +
+ m2)) + xp))/Power(b,2), 2)*Power(zp,2) + Power((1 +
+ m2/b)*(-((b*m2)/(m1 + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 +
+ m2)) + xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))),2)* Power(1 + m1/
+ (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*
+ Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) +
+ xp))/Power(b,2), 2)*Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1
+ + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4))/Power(b,3)
+ + ((m1 + m2)*Power(1 - (m1*m2)/(b*(m1 + m2)),2)* (Power(1 +
+ (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*Power(yp,2) + Power((1 +
+ m2/b)*(-((b*m2)/(m1 + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 +
+ m2)) + xp,2) + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))*
+ Power(1 + m1/ (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 +
+ m2))))/b,2)* Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 +
+ m2)) + xp))/Power(b,2), 2)*Power(zp,2) + Power((1 +
+ m2/b)*(-((b*m2)/(m1 + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 +
+ m2)) + xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))),4)* (1 + (m2*(-(Power(1 +
+ (m2*(1 + m2/(2.*(m1 + m2))))/b,2)* Power(yp,2)) - Power(1 + m2/b
+ - (m2*(-((b*m2)/(m1 + m2)) + xp))/Power(b,2), 2)*Power(zp,2) +
+ 2*Power((1 + m2/b)*(-((b*m2)/(m1 + m2)) + xp) -
+ (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))* ((-2*Power(m1,2))/ (Power(1 +
+ (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*Power(yp,2) + Power(1 + m2/b -
+ (m2*(-((b*m2)/(m1 + m2)) + xp))/Power(b,2),2)* Power(zp,2) +
+ Power((1 + m2/b)*(-((b*m2)/(m1 + m2)) + xp) -
+ (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2)) + Power(1 + m1/
+ (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*
+ Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) +
+ xp))/Power(b,2),2)* Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1
+ + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),
+ 4)))/Power(b,3)))/Power(b,3)))/Power(b,7) ;
+
+*results=g00;
+*(results+1)=g0x;
+*(results+2)=g0y;
+*(results+3)=g0z;
+*(results+4)=gxx;
+*(results+5)=gxy;
+*(results+6)=gxz;
+*(results+7)=gyy;
+*(results+8)=gyz;
+*(results+9)=gzz;
+
+}
+
+void Alvireg2(double *x, double *y, double *z, double *zm1, double *zm2, double *zr12, double *results ) {
+
+double g00,g0x,g0y,g0z,gxx,gxy,gxz,gyy,gyz,gzz;
+
+double m1;
+double m2;
+double b;
+double xp;
+double yp;
+double zp;
+
+m1 = *zm1;
+m2 = *zm2;
+b=*zr12;
+xp = *x;
+yp = *y;
+zp = *z;
+
+/* finding the 4-metric */
+
+g00 = Power(1 - (m1*(1 + m1/(2.*(m1 + m2))))/b,2)* ((m1*(-(Power(1 +
+ (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*Power(yp,2)) - Power(1 + m1/b
+ - (m1*(-((b*m1)/(m1 + m2)) - xp))/Power(b,2),2)* Power(zp,2) +
+ 2*Power((1 + m1/b)*(-((b*m1)/(m1 + m2)) - xp) -
+ (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))* Power(1 - m2/
+ (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*Power(yp,2)
+ + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) -
+ xp))/Power(b,2),2)* Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1
+ + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4))/Power(b,3)
+ - Power(1 - m2/ (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 +
+ m2))))/b,2)*Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 +
+ m2)) - xp))/Power(b,2),2)* Power(zp,2) + Power((1 +
+ m1/b)*(-((b*m1)/(m1 + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 +
+ m2)) - xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))),2)/ Power(1 + m2/
+ (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*Power(yp,2)
+ + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) -
+ xp))/Power(b,2),2)* Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1
+ + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),2) -
+ (4*m1*Sqrt((m1 + m2)/Power(b,3))*Sqrt((m1 + m2)/b)* (1 -
+ (m1*m2)/(b*(m1 + m2)))* ((1 + m1/b)*(-((b*m1)/(m1 + m2)) - xp) -
+ (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)))* (-(Power(1 + (m1*(1 + m1/(2.*(m1
+ + m2))))/b,2)*Power(yp,2)) + Power(1 + m1/b - (m1*(-((b*m1)/(m1
+ + m2)) - xp))/Power(b,2),2)* Power(zp,2) - Power((1 +
+ m1/b)*(-((b*m1)/(m1 + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 +
+ m2)) - xp,2) + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))*
+ Power(1 - m2/ (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 +
+ m2))))/b,2)*Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 +
+ m2)) - xp))/Power(b,2),2)* Power(zp,2) + Power((1 +
+ m1/b)*(-((b*m1)/(m1 + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 +
+ m2)) - xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))),2)* Power(1 + m2/
+ (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*Power(yp,2)
+ + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) -
+ xp))/Power(b,2),2)* Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1
+ + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4))/Power(b,3)
+ + ((m1 + m2)*Power(1 - (m1*m2)/(b*(m1 + m2)),2)* (Power(1 +
+ (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*Power(yp,2) + Power((1 +
+ m1/b)*(-((b*m1)/(m1 + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 +
+ m2)) - xp,2) + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))*
+ Power(1 + m2/ (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 +
+ m2))))/b,2)*Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 +
+ m2)) - xp))/Power(b,2),2)* Power(zp,2) + Power((1 +
+ m1/b)*(-((b*m1)/(m1 + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 +
+ m2)) - xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))),4)* (1 + (m1*(-(Power(1 +
+ (m1*(1 + m1/(2.*(m1 + m2))))/b,2)* Power(yp,2)) - Power(1 + m1/b
+ - (m1*(-((b*m1)/(m1 + m2)) - xp))/Power(b,2),2)* Power(zp,2) +
+ 2* Power((1 + m1/b)*(-((b*m1)/(m1 + m2)) - xp) -
+ (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))* ((-2*Power(m2,2))/ (Power(1 +
+ (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*Power(yp,2) + Power(1 + m1/b -
+ (m1*(-((b*m1)/(m1 + m2)) - xp))/Power(b,2), 2)*Power(zp,2) +
+ Power((1 + m1/b)*(-((b*m1)/(m1 + m2)) - xp) -
+ (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2)) + Power(1 + m2/
+ (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*
+ Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) -
+ xp))/Power(b,2),2)* Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1
+ + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),
+ 4)))/Power(b,3)))/Power(b,3)) ;
+g0x = (-2*Power(m1,2)*Sqrt((m1 + m2)/b)*(1 - (m1*(1 + m1/(2.*(m1 +
+ m2))))/b)* (1 + (m1*(1 + m1/(2.*(m1 + m2))))/b)* (1 + m1/b -
+ (m1*(-((b*m1)/(m1 + m2)) - xp))/Power(b,2))*yp*Power(zp,2)*
+ Power(1 - m2/ (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 +
+ m2))))/b,2)*Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 +
+ m2)) - xp))/Power(b,2),2)* Power(zp,2) + Power((1 +
+ m1/b)*(-((b*m1)/(m1 + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 +
+ m2)) - xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))),2)* Power(1 + m2/
+ (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*Power(yp,2)
+ + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) -
+ xp))/Power(b,2),2)* Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1
+ + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4))/Power(b,5)
+ - (1 - (m1*(1 + m1/(2.*(m1 + m2))))/b)* (1 + m1/b -
+ (m1*(-((b*m1)/(m1 + m2)) - xp))/Power(b,2))* ((2*m1*Sqrt((m1 +
+ m2)/b)*(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b)*yp* ((1 +
+ m1/b)*(-((b*m1)/(m1 + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 +
+ m2)) - xp,2) + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)))*
+ Power(1 - m2/ (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 +
+ m2))))/b,2)* Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 +
+ m2)) - xp))/Power(b,2),2)*Power(zp,2) + Power((1 +
+ m1/b)*(-((b*m1)/(m1 + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 +
+ m2)) - xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))),2)* Power(1 + m2/
+ (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*
+ Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) -
+ xp))/Power(b,2),2)*Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1
+ + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4))/Power(b,3)
+ + Sqrt((m1 + m2)/Power(b,3))*(1 - (m1*m2)/(b*(m1 + m2)))* (1 +
+ (m1*(1 + m1/(2.*(m1 + m2))))/b)*yp* Power(1 + m2/
+ (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*Power(yp,2)
+ + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) -
+ xp))/Power(b,2),2)* Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1
+ + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4)* (1 +
+ (m1*(-(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*Power(yp,2))
+ - Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) -
+ xp))/Power(b,2),2)* Power(zp,2) + 2*Power((1 +
+ m1/b)*(-((b*m1)/(m1 + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 +
+ m2)) - xp,2) + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))*
+ ((-2*Power(m2,2))/ (Power(1 + (m1*(1 + m1/(2.*(m1 +
+ m2))))/b,2)*Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 +
+ m2)) - xp))/Power(b,2), 2)*Power(zp,2) + Power((1 +
+ m1/b)*(-((b*m1)/(m1 + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 +
+ m2)) - xp,2) + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2)) +
+ Power(1 + m2/ (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 +
+ m2))))/b,2)* Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 +
+ m2)) - xp))/Power(b,2),2)* Power(zp,2) + Power((1 +
+ m1/b)*(-((b*m1)/(m1 + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 +
+ m2)) - xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))),4)))/Power(b,3) )) +
+ (m1*Sqrt((m1 + m2)/b)*(1 - (m1*(1 + m1/(2.*(m1 + m2))))/b)* (1 +
+ m2/(m1 + m2) - (3*(-((b*m1)/(m1 + m2)) - xp))/b)*yp*
+ ((m1*(-(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*Power(yp,2))
+ - Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) -
+ xp))/Power(b,2),2)* Power(zp,2) + 2*Power((1 +
+ m1/b)*(-((b*m1)/(m1 + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 +
+ m2)) - xp,2) + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))*
+ Power(1 - m2/ (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 +
+ m2))))/b,2)* Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 +
+ m2)) - xp))/Power(b,2), 2)*Power(zp,2) + Power((1 +
+ m1/b)*(-((b*m1)/(m1 + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 +
+ m2)) - xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))),4))/Power(b,3) - Power(1 -
+ m2/ (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*
+ Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) -
+ xp))/Power(b,2),2)*Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1
+ + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),2)/ Power(1 +
+ m2/ (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*
+ Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) -
+ xp))/Power(b,2),2)*Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1
+ + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),2) -
+ (4*m1*Sqrt((m1 + m2)/Power(b,3))*Sqrt((m1 + m2)/b)* (1 -
+ (m1*m2)/(b*(m1 + m2)))* ((1 + m1/b)*(-((b*m1)/(m1 + m2)) - xp) -
+ (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)))* (-(Power(1 + (m1*(1 + m1/(2.*(m1
+ + m2))))/b,2)*Power(yp,2)) + Power(1 + m1/b - (m1*(-((b*m1)/(m1
+ + m2)) - xp))/Power(b,2),2)* Power(zp,2) - Power((1 +
+ m1/b)*(-((b*m1)/(m1 + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 +
+ m2)) - xp,2) + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))*
+ Power(1 - m2/ (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 +
+ m2))))/b,2)* Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 +
+ m2)) - xp))/Power(b,2), 2)*Power(zp,2) + Power((1 +
+ m1/b)*(-((b*m1)/(m1 + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 +
+ m2)) - xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))),2)* Power(1 + m2/
+ (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*
+ Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) -
+ xp))/Power(b,2), 2)*Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1
+ + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4))/Power(b,3)
+ + ((m1 + m2)*Power(1 - (m1*m2)/(b*(m1 + m2)),2)* (Power(1 +
+ (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*Power(yp,2) + Power((1 +
+ m1/b)*(-((b*m1)/(m1 + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 +
+ m2)) - xp,2) + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))*
+ Power(1 + m2/ (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 +
+ m2))))/b,2)* Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 +
+ m2)) - xp))/Power(b,2), 2)*Power(zp,2) + Power((1 +
+ m1/b)*(-((b*m1)/(m1 + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 +
+ m2)) - xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))),4)* (1 + (m1*(-(Power(1 +
+ (m1*(1 + m1/(2.*(m1 + m2))))/b,2)* Power(yp,2)) - Power(1 + m1/b
+ - (m1*(-((b*m1)/(m1 + m2)) - xp))/Power(b,2), 2)*Power(zp,2) +
+ 2*Power((1 + m1/b)*(-((b*m1)/(m1 + m2)) - xp) -
+ (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))* ((-2*Power(m2,2))/ (Power(1 +
+ (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*Power(yp,2) + Power(1 + m1/b -
+ (m1*(-((b*m1)/(m1 + m2)) - xp))/Power(b,2),2)* Power(zp,2) +
+ Power((1 + m1/b)*(-((b*m1)/(m1 + m2)) - xp) -
+ (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2)) + Power(1 + m2/
+ (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*
+ Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) -
+ xp))/Power(b,2),2)* Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1
+ + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),
+ 4)))/Power(b,3)))/Power(b,3)))/Power(b,2) ;
+g0y = -((m1*(1 - (m1*(1 + m1/(2.*(m1 + m2))))/b)*yp* ((2*m1*Sqrt((m1 +
+ m2)/b)*(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b)*yp* ((1 +
+ m1/b)*(-((b*m1)/(m1 + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 +
+ m2)) - xp,2) + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)))*
+ Power(1 - m2/ (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 +
+ m2))))/b,2)* Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 +
+ m2)) - xp))/Power(b,2),2)* Power(zp,2) + Power((1 +
+ m1/b)*(-((b*m1)/(m1 + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 +
+ m2)) - xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))),2)* Power(1 + m2/
+ (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*
+ Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) -
+ xp))/Power(b,2),2)* Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1
+ + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4))/Power(b,3)
+ + Sqrt((m1 + m2)/Power(b,3))*(1 - (m1*m2)/(b*(m1 + m2)))* (1 +
+ (m1*(1 + m1/(2.*(m1 + m2))))/b)*yp* Power(1 + m2/
+ (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*
+ Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) -
+ xp))/Power(b,2), 2)*Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1
+ + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4)* (1 +
+ (m1*(-(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)* Power(yp,2))
+ - Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) - xp))/Power(b,2),
+ 2)*Power(zp,2) + 2*Power((1 + m1/b)*(-((b*m1)/(m1 + m2)) - xp) -
+ (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))* ((-2*Power(m2,2))/ (Power(1 +
+ (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*Power(yp,2) + Power(1 + m1/b -
+ (m1*(-((b*m1)/(m1 + m2)) - xp))/Power(b,2),2)* Power(zp,2) +
+ Power((1 + m1/b)*(-((b*m1)/(m1 + m2)) - xp) -
+ (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2)) + Power(1 + m2/
+ (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*
+ Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) -
+ xp))/Power(b,2),2)* Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1
+ + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),
+ 4)))/Power(b,3))))/Power(b,2)) - (1 - (m1*(1 + m1/(2.*(m1 +
+ m2))))/b)*(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b)* ((2*m1*Sqrt((m1
+ + m2)/b)*(-(Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) -
+ xp))/Power(b,2),2)*Power(zp,2)) + Power((1 + m1/b)*(-((b*m1)/(m1
+ + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))* Power(1 - m2/
+ (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*
+ Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) -
+ xp))/Power(b,2),2)*Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1
+ + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),2)* Power(1 +
+ m2/ (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*
+ Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) -
+ xp))/Power(b,2),2)*Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1
+ + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4))/Power(b,3)
+ + Sqrt((m1 + m2)/Power(b,3))*(1 - (m1*m2)/(b*(m1 + m2)))* ((1 +
+ m1/b)*(-((b*m1)/(m1 + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 +
+ m2)) - xp,2) + Power(yp,2) - Power(zp,2)))/
+ (2.*Power(b,2)))*Power(1 + m2/(2.*Sqrt(Power(1 + (m1*(1 +
+ m1/(2.*(m1 + m2))))/b,2)* Power(yp,2) + Power(1 + m1/b -
+ (m1*(-((b*m1)/(m1 + m2)) - xp))/Power(b,2),2)*Power(zp,2) +
+ Power((1 + m1/b)*(-((b*m1)/(m1 + m2)) - xp) -
+ (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))),4)* (1 + (m1*(-(Power(1 +
+ (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*Power(yp,2)) - Power(1 + m1/b
+ - (m1*(-((b*m1)/(m1 + m2)) - xp))/Power(b,2),2)* Power(zp,2) +
+ 2*Power((1 + m1/b)*(-((b*m1)/(m1 + m2)) - xp) -
+ (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))* ((-2*Power(m2,2))/ (Power(1 +
+ (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*Power(yp,2) + Power(1 + m1/b -
+ (m1*(-((b*m1)/(m1 + m2)) - xp))/Power(b,2), 2)*Power(zp,2) +
+ Power((1 + m1/b)*(-((b*m1)/(m1 + m2)) - xp) -
+ (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2)) + Power(1 + m2/
+ (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*
+ Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) -
+ xp))/Power(b,2),2)* Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1
+ + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4)))/Power(b,3)
+ )) - (1 - (m1*(1 + m1/(2.*(m1 + m2))))/b)* (-(Sqrt((m1 +
+ m2)/b)*(m1/(m1 + m2) + (m1*(3 + Power(m1,2)/(2.*Power(m1 +
+ m2,2)) + m2/(m1 + m2)))/b)) + (m1*Sqrt((m1 + m2)/b)*((1 + m2/(m1
+ + m2))*(-((b*m1)/(m1 + m2)) - xp) - (3*Power(-((b*m1)/(m1 + m2))
+ - xp,2) - 3*Power(yp,2) - Power(zp,2))/(2.*b)))/Power(b,2))*
+ ((m1*(-(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*Power(yp,2))
+ - Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) -
+ xp))/Power(b,2),2)* Power(zp,2) + 2*Power((1 +
+ m1/b)*(-((b*m1)/(m1 + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 +
+ m2)) - xp,2) + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))*
+ Power(1 - m2/ (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 +
+ m2))))/b,2)* Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 +
+ m2)) - xp))/Power(b,2),2)*Power(zp,2) + Power((1 +
+ m1/b)*(-((b*m1)/(m1 + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 +
+ m2)) - xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))),4))/Power(b,3) - Power(1 -
+ m2/ (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 +
+ m2))))/b,2)*Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 +
+ m2)) - xp))/Power(b,2),2)* Power(zp,2) + Power((1 +
+ m1/b)*(-((b*m1)/(m1 + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 +
+ m2)) - xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))),2)/ Power(1 + m2/
+ (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*Power(yp,2)
+ + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) -
+ xp))/Power(b,2),2)* Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1
+ + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),2) -
+ (4*m1*Sqrt((m1 + m2)/Power(b,3))*Sqrt((m1 + m2)/b)* (1 -
+ (m1*m2)/(b*(m1 + m2)))* ((1 + m1/b)*(-((b*m1)/(m1 + m2)) - xp) -
+ (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)))* (-(Power(1 + (m1*(1 + m1/(2.*(m1
+ + m2))))/b,2)*Power(yp,2)) + Power(1 + m1/b - (m1*(-((b*m1)/(m1
+ + m2)) - xp))/Power(b,2),2)* Power(zp,2) - Power((1 +
+ m1/b)*(-((b*m1)/(m1 + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 +
+ m2)) - xp,2) + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))*
+ Power(1 - m2/ (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 +
+ m2))))/b,2)* Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 +
+ m2)) - xp))/Power(b,2),2)*Power(zp,2) + Power((1 +
+ m1/b)*(-((b*m1)/(m1 + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 +
+ m2)) - xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))),2)* Power(1 + m2/
+ (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*
+ Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) -
+ xp))/Power(b,2),2)*Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1
+ + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4))/Power(b,3)
+ + ((m1 + m2)*Power(1 - (m1*m2)/(b*(m1 + m2)),2)* (Power(1 +
+ (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*Power(yp,2) + Power((1 +
+ m1/b)*(-((b*m1)/(m1 + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 +
+ m2)) - xp,2) + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))*
+ Power(1 + m2/ (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 +
+ m2))))/b,2)* Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 +
+ m2)) - xp))/Power(b,2),2)*Power(zp,2) + Power((1 +
+ m1/b)*(-((b*m1)/(m1 + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 +
+ m2)) - xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))),4)* (1 + (m1*(-(Power(1 +
+ (m1*(1 + m1/(2.*(m1 + m2))))/b,2)* Power(yp,2)) - Power(1 + m1/b
+ - (m1*(-((b*m1)/(m1 + m2)) - xp))/Power(b,2), 2)*Power(zp,2) +
+ 2*Power((1 + m1/b)*(-((b*m1)/(m1 + m2)) - xp) -
+ (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))* ((-2*Power(m2,2))/ (Power(1 +
+ (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*Power(yp,2) + Power(1 + m1/b -
+ (m1*(-((b*m1)/(m1 + m2)) - xp))/Power(b,2),2)* Power(zp,2) +
+ Power((1 + m1/b)*(-((b*m1)/(m1 + m2)) - xp) -
+ (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2)) + Power(1 + m2/
+ (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*
+ Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) -
+ xp))/Power(b,2),2)* Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1
+ + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),
+ 4)))/Power(b,3)))/Power(b,3)) ;
+g0z = (-2*m1*Sqrt((m1 + m2)/b)*(1 - (m1*(1 + m1/(2.*(m1 + m2))))/b)*
+ (1 + (m1*(1 + m1/(2.*(m1 + m2))))/b)* Power(1 + m1/b -
+ (m1*(-((b*m1)/(m1 + m2)) - xp))/Power(b,2),2)*yp*zp* Power(1 -
+ m2/ (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 +
+ m2))))/b,2)*Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 +
+ m2)) - xp))/Power(b,2),2)* Power(zp,2) + Power((1 +
+ m1/b)*(-((b*m1)/(m1 + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 +
+ m2)) - xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))),2)* Power(1 + m2/
+ (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*Power(yp,2)
+ + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) -
+ xp))/Power(b,2),2)* Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1
+ + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4))/Power(b,3)
+ + (m1*(1 - (m1*(1 + m1/(2.*(m1 + m2))))/b)*zp* ((2*m1*Sqrt((m1 +
+ m2)/b)*(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b)*yp* ((1 +
+ m1/b)*(-((b*m1)/(m1 + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 +
+ m2)) - xp,2) + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)))*
+ Power(1 - m2/ (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 +
+ m2))))/b,2)* Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 +
+ m2)) - xp))/Power(b,2), 2)*Power(zp,2) + Power((1 +
+ m1/b)*(-((b*m1)/(m1 + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 +
+ m2)) - xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))),2)* Power(1 + m2/
+ (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*
+ Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) -
+ xp))/Power(b,2), 2)*Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1
+ + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4))/Power(b,3)
+ + Sqrt((m1 + m2)/Power(b,3))*(1 - (m1*m2)/(b*(m1 + m2)))* (1 +
+ (m1*(1 + m1/(2.*(m1 + m2))))/b)*yp* Power(1 + m2/
+ (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*
+ Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) -
+ xp))/Power(b,2),2)*Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1
+ + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4)* (1 +
+ (m1*(-(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)* Power(yp,2))
+ - Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) - xp))/Power(b,2),
+ 2)*Power(zp,2) + 2*Power((1 + m1/b)*(-((b*m1)/(m1 + m2)) - xp) -
+ (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))* ((-2*Power(m2,2))/ (Power(1 +
+ (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*Power(yp,2) + Power(1 + m1/b -
+ (m1*(-((b*m1)/(m1 + m2)) - xp))/Power(b,2),2)* Power(zp,2) +
+ Power((1 + m1/b)*(-((b*m1)/(m1 + m2)) - xp) -
+ (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2)) + Power(1 + m2/
+ (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*
+ Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) -
+ xp))/Power(b,2),2)* Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1
+ + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),
+ 4)))/Power(b,3))))/Power(b,2) - (m1*Sqrt((m1 + m2)/b)*(1 -
+ (m1*(1 + m1/(2.*(m1 + m2))))/b)*yp*zp* ((m1*(-(Power(1 + (m1*(1
+ + m1/(2.*(m1 + m2))))/b,2)*Power(yp,2)) - Power(1 + m1/b -
+ (m1*(-((b*m1)/(m1 + m2)) - xp))/Power(b,2),2)* Power(zp,2) +
+ 2*Power((1 + m1/b)*(-((b*m1)/(m1 + m2)) - xp) -
+ (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))* Power(1 - m2/
+ (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*
+ Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) -
+ xp))/Power(b,2), 2)*Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1
+ + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4))/Power(b,3)
+ - Power(1 - m2/ (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 +
+ m2))))/b,2)* Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 +
+ m2)) - xp))/Power(b,2),2)*Power(zp,2) + Power((1 +
+ m1/b)*(-((b*m1)/(m1 + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 +
+ m2)) - xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))),2)/ Power(1 + m2/
+ (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*
+ Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) -
+ xp))/Power(b,2),2)*Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1
+ + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),2) -
+ (4*m1*Sqrt((m1 + m2)/Power(b,3))*Sqrt((m1 + m2)/b)* (1 -
+ (m1*m2)/(b*(m1 + m2)))* ((1 + m1/b)*(-((b*m1)/(m1 + m2)) - xp) -
+ (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)))* (-(Power(1 + (m1*(1 + m1/(2.*(m1
+ + m2))))/b,2)*Power(yp,2)) + Power(1 + m1/b - (m1*(-((b*m1)/(m1
+ + m2)) - xp))/Power(b,2),2)* Power(zp,2) - Power((1 +
+ m1/b)*(-((b*m1)/(m1 + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 +
+ m2)) - xp,2) + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))*
+ Power(1 - m2/ (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 +
+ m2))))/b,2)* Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 +
+ m2)) - xp))/Power(b,2), 2)*Power(zp,2) + Power((1 +
+ m1/b)*(-((b*m1)/(m1 + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 +
+ m2)) - xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))),2)* Power(1 + m2/
+ (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*
+ Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) -
+ xp))/Power(b,2), 2)*Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1
+ + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4))/Power(b,3)
+ + ((m1 + m2)*Power(1 - (m1*m2)/(b*(m1 + m2)),2)* (Power(1 +
+ (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*Power(yp,2) + Power((1 +
+ m1/b)*(-((b*m1)/(m1 + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 +
+ m2)) - xp,2) + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))*
+ Power(1 + m2/ (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 +
+ m2))))/b,2)* Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 +
+ m2)) - xp))/Power(b,2), 2)*Power(zp,2) + Power((1 +
+ m1/b)*(-((b*m1)/(m1 + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 +
+ m2)) - xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))),4)* (1 + (m1*(-(Power(1 +
+ (m1*(1 + m1/(2.*(m1 + m2))))/b,2)* Power(yp,2)) - Power(1 + m1/b
+ - (m1*(-((b*m1)/(m1 + m2)) - xp))/Power(b,2), 2)*Power(zp,2) +
+ 2*Power((1 + m1/b)*(-((b*m1)/(m1 + m2)) - xp) -
+ (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))* ((-2*Power(m2,2))/ (Power(1 +
+ (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*Power(yp,2) + Power(1 + m1/b -
+ (m1*(-((b*m1)/(m1 + m2)) - xp))/Power(b,2),2)* Power(zp,2) +
+ Power((1 + m1/b)*(-((b*m1)/(m1 + m2)) - xp) -
+ (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2)) + Power(1 + m2/
+ (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*
+ Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) -
+ xp))/Power(b,2),2)* Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1
+ + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),
+ 4)))/Power(b,3)))/Power(b,3)))/Power(b,3) ;
+gxx = (4*Power(m1,2)*m2*Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) -
+ xp))/Power(b,2), 2)*Power(zp,2)*((1 + m1/b)*(-((b*m1)/(m1 + m2))
+ - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + Power(yp,2) -
+ Power(zp,2)))/ (2.*Power(b,2)))*(-(Power(1 + (m1*(1 + m1/(2.*(m1
+ + m2))))/b,2)* Power(yp,2)) - Power(1 + m1/b - (m1*(-((b*m1)/(m1
+ + m2)) - xp))/Power(b,2),2)*Power(zp,2) + 2*Power((1 +
+ m1/b)*(-((b*m1)/(m1 + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 +
+ m2)) - xp,2) + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))*
+ (1 + Power(m2,2)/ (4.*(Power(1 + (m1*(1 + m1/(2.*(m1 +
+ m2))))/b,2)*Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 +
+ m2)) - xp))/Power(b,2),2)* Power(zp,2) + Power((1 +
+ m1/b)*(-((b*m1)/(m1 + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 +
+ m2)) - xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))))* Power(1 + m2/
+ (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*Power(yp,2)
+ + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) -
+ xp))/Power(b,2),2)* Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1
+ + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4))/
+ (Power(b,5)*Power(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*
+ Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) -
+ xp))/Power(b,2),2)*Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1
+ + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2),1.5)) -
+ (4*Power(m1,3)*(m1 + m2)*(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b)*
+ (1 + m2/(m1 + m2) - (3*(-((b*m1)/(m1 + m2)) - xp))/b)* (1 + m1/b
+ - (m1*(-((b*m1)/(m1 + m2)) - xp))/Power(b,2))*Power(yp,2)*
+ Power(zp,2)*Power(1 - m2/ (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1
+ + m2))))/b,2)*Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 +
+ m2)) - xp))/Power(b,2),2)* Power(zp,2) + Power((1 +
+ m1/b)*(-((b*m1)/(m1 + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 +
+ m2)) - xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))),2)* Power(1 + m2/
+ (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*Power(yp,2)
+ + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) -
+ xp))/Power(b,2),2)* Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1
+ + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4))/Power(b,8)
+ + (Power(m1,2)*Power(zp,2)*Power(1 + m2/(2.*Sqrt(Power(1 +
+ (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*Power(yp,2) + Power(1 + m1/b -
+ (m1*(-((b*m1)/(m1 + m2)) - xp))/Power(b,2),2)* Power(zp,2) +
+ Power((1 + m1/b)*(-((b*m1)/(m1 + m2)) - xp) -
+ (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))),4)* (1 + (m1*(-(Power(1 +
+ (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*Power(yp,2)) - Power(1 + m1/b
+ - (m1*(-((b*m1)/(m1 + m2)) - xp))/Power(b,2),2)* Power(zp,2) +
+ 2*Power((1 + m1/b)*(-((b*m1)/(m1 + m2)) - xp) -
+ (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))* ((-2*m2)/ (Power(1 + (m1*(1 +
+ m1/(2.*(m1 + m2))))/b,2)*Power(yp,2) + Power(1 + m1/b -
+ (m1*(-((b*m1)/(m1 + m2)) - xp))/Power(b,2), 2)*Power(zp,2) +
+ Power((1 + m1/b)*(-((b*m1)/(m1 + m2)) - xp) -
+ (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2)) - (2*m2*Power(1 + m1/b -
+ (m1*(-((b*m1)/(m1 + m2)) - xp))/Power(b,2),2)*Power(zp,2)* (1 +
+ Power(m2,2)/ (4.*(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*
+ Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) -
+ xp))/Power(b,2),2)* Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1
+ + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2)))))
+ /Power(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)* Power(yp,2)
+ + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) -
+ xp))/Power(b,2),2)*Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1
+ + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2),1.5) + Power(1 +
+ m2/ (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*
+ Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) -
+ xp))/Power(b,2),2)* Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1
+ + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) +
+ Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))),4)))/Power(b,3)) )/Power(b,4)
+ + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) -
+ xp))/Power(b,2),2)* Power(1 + m2/ (2.*Sqrt(Power(1 + (m1*(1 +
+ m1/(2.*(m1 + m2))))/b,2)*Power(yp,2) + Power(1 + m1/b -
+ (m1*(-((b*m1)/(m1 + m2)) - xp))/Power(b,2),2)* Power(zp,2) +
+ Power((1 + m1/b)*(-((b*m1)/(m1 + m2)) - xp) -
+ (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))),4)* (1 + (m1*(-(Power(1 +
+ (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*Power(yp,2)) - Power(1 + m1/b
+ - (m1*(-((b*m1)/(m1 + m2)) - xp))/Power(b,2),2)* Power(zp,2) +
+ 2*Power((1 + m1/b)*(-((b*m1)/(m1 + m2)) - xp) -
+ (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))* ((-2*m2)/ (Power(1 + (m1*(1 +
+ m1/(2.*(m1 + m2))))/b,2)*Power(yp,2) + Power(1 + m1/b -
+ (m1*(-((b*m1)/(m1 + m2)) - xp))/Power(b,2),2)* Power(zp,2) +
+ Power((1 + m1/b)*(-((b*m1)/(m1 + m2)) - xp) -
+ (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2)) - (2*m2*Power((1 +
+ m1/b)*(-((b*m1)/(m1 + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 +
+ m2)) - xp,2) + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2)*
+ (1 + Power(m2,2)/ (4.*(Power(1 + (m1*(1 + m1/(2.*(m1 +
+ m2))))/b,2)* Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 +
+ m2)) - xp))/Power(b,2),2)* Power(zp,2) + Power((1 +
+ m1/b)*(-((b*m1)/(m1 + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 +
+ m2)) - xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2)))))/ Power(Power(1 + (m1*(1 +
+ m1/(2.*(m1 + m2))))/b,2)*Power(yp,2) + Power(1 + m1/b -
+ (m1*(-((b*m1)/(m1 + m2)) - xp))/Power(b,2),2)* Power(zp,2) +
+ Power((1 + m1/b)*(-((b*m1)/(m1 + m2)) - xp) -
+ (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2),1.5) + Power(1 + m2/
+ (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*
+ Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) -
+ xp))/Power(b,2), 2)*Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1
+ + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) +
+ Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))),4)))/Power(b,3)) -
+ (2*m1*Sqrt((m1 + m2)/b)*(1 + m2/(m1 + m2) - (3*(-((b*m1)/(m1 +
+ m2)) - xp))/b)* (1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) -
+ xp))/Power(b,2))*yp* ((2*m1*Sqrt((m1 + m2)/b)*(1 + (m1*(1 +
+ m1/(2.*(m1 + m2))))/b)*yp* ((1 + m1/b)*(-((b*m1)/(m1 + m2)) -
+ xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)))* Power(1 - m2/ (2.*Sqrt(Power(1 +
+ (m1*(1 + m1/(2.*(m1 + m2))))/b,2)* Power(yp,2) + Power(1 + m1/b
+ - (m1*(-((b*m1)/(m1 + m2)) - xp))/Power(b,2), 2)*Power(zp,2) +
+ Power((1 + m1/b)*(-((b*m1)/(m1 + m2)) - xp) -
+ (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))),2)* Power(1 + m2/
+ (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*
+ Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) -
+ xp))/Power(b,2), 2)*Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1
+ + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4))/Power(b,3)
+ + Sqrt((m1 + m2)/Power(b,3))*(1 - (m1*m2)/(b*(m1 + m2)))* (1 +
+ (m1*(1 + m1/(2.*(m1 + m2))))/b)*yp* Power(1 + m2/
+ (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*
+ Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) -
+ xp))/Power(b,2),2)*Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1
+ + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4)* (1 +
+ (m1*(-(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)* Power(yp,2))
+ - Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) - xp))/Power(b,2),
+ 2)*Power(zp,2) + 2*Power((1 + m1/b)*(-((b*m1)/(m1 + m2)) - xp) -
+ (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))* ((-2*Power(m2,2))/ (Power(1 +
+ (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*Power(yp,2) + Power(1 + m1/b -
+ (m1*(-((b*m1)/(m1 + m2)) - xp))/Power(b,2),2)* Power(zp,2) +
+ Power((1 + m1/b)*(-((b*m1)/(m1 + m2)) - xp) -
+ (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2)) + Power(1 + m2/
+ (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*
+ Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) -
+ xp))/Power(b,2),2)* Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1
+ + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),
+ 4)))/Power(b,3))))/Power(b,2) + (Power(m1,2)*(m1 + m2)*Power(1 +
+ m2/(m1 + m2) - (3*(-((b*m1)/(m1 + m2)) - xp))/b,2)*Power(yp,2)*
+ ((m1*(-(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*Power(yp,2))
+ - Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) -
+ xp))/Power(b,2),2)* Power(zp,2) + 2*Power((1 +
+ m1/b)*(-((b*m1)/(m1 + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 +
+ m2)) - xp,2) + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))*
+ Power(1 - m2/ (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 +
+ m2))))/b,2)* Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 +
+ m2)) - xp))/Power(b,2), 2)*Power(zp,2) + Power((1 +
+ m1/b)*(-((b*m1)/(m1 + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 +
+ m2)) - xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))),4))/Power(b,3) - Power(1 -
+ m2/ (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*
+ Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) -
+ xp))/Power(b,2),2)*Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1
+ + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),2)/ Power(1 +
+ m2/ (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*
+ Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) -
+ xp))/Power(b,2),2)*Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1
+ + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),2) -
+ (4*m1*Sqrt((m1 + m2)/Power(b,3))*Sqrt((m1 + m2)/b)* (1 -
+ (m1*m2)/(b*(m1 + m2)))* ((1 + m1/b)*(-((b*m1)/(m1 + m2)) - xp) -
+ (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)))* (-(Power(1 + (m1*(1 + m1/(2.*(m1
+ + m2))))/b,2)*Power(yp,2)) + Power(1 + m1/b - (m1*(-((b*m1)/(m1
+ + m2)) - xp))/Power(b,2),2)* Power(zp,2) - Power((1 +
+ m1/b)*(-((b*m1)/(m1 + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 +
+ m2)) - xp,2) + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))*
+ Power(1 - m2/ (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 +
+ m2))))/b,2)* Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 +
+ m2)) - xp))/Power(b,2), 2)*Power(zp,2) + Power((1 +
+ m1/b)*(-((b*m1)/(m1 + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 +
+ m2)) - xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))),2)* Power(1 + m2/
+ (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*
+ Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) -
+ xp))/Power(b,2), 2)*Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1
+ + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4))/Power(b,3)
+ + ((m1 + m2)*Power(1 - (m1*m2)/(b*(m1 + m2)),2)* (Power(1 +
+ (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*Power(yp,2) + Power((1 +
+ m1/b)*(-((b*m1)/(m1 + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 +
+ m2)) - xp,2) + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))*
+ Power(1 + m2/ (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 +
+ m2))))/b,2)* Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 +
+ m2)) - xp))/Power(b,2), 2)*Power(zp,2) + Power((1 +
+ m1/b)*(-((b*m1)/(m1 + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 +
+ m2)) - xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))),4)* (1 + (m1*(-(Power(1 +
+ (m1*(1 + m1/(2.*(m1 + m2))))/b,2)* Power(yp,2)) - Power(1 + m1/b
+ - (m1*(-((b*m1)/(m1 + m2)) - xp))/Power(b,2), 2)*Power(zp,2) +
+ 2*Power((1 + m1/b)*(-((b*m1)/(m1 + m2)) - xp) -
+ (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))* ((-2*Power(m2,2))/ (Power(1 +
+ (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*Power(yp,2) + Power(1 + m1/b -
+ (m1*(-((b*m1)/(m1 + m2)) - xp))/Power(b,2),2)* Power(zp,2) +
+ Power((1 + m1/b)*(-((b*m1)/(m1 + m2)) - xp) -
+ (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2)) + Power(1 + m2/
+ (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*
+ Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) -
+ xp))/Power(b,2),2)* Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1
+ + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),
+ 4)))/Power(b,3)))/Power(b,3)))/Power(b,5) ;
+
+gxy = (-2*Power(m1,2)*m2*Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*
+ (1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) -
+ xp))/Power(b,2))*yp*Power(zp,2)* (-(Power(1 + (m1*(1 +
+ m1/(2.*(m1 + m2))))/b,2)*Power(yp,2)) - Power(1 + m1/b -
+ (m1*(-((b*m1)/(m1 + m2)) - xp))/Power(b,2),2)* Power(zp,2) +
+ 2*Power((1 + m1/b)*(-((b*m1)/(m1 + m2)) - xp) -
+ (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))* (1 + Power(m2,2)/
+ (4.*(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*Power(yp,2) +
+ Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) - xp))/Power(b,2),2)*
+ Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1 + m2)) - xp) -
+ (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))))* Power(1 + m2/
+ (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*Power(yp,2)
+ + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) -
+ xp))/Power(b,2),2)* Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1
+ + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4))/
+ (Power(b,5)*Power(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*
+ Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) -
+ xp))/Power(b,2),2)*Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1
+ + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2),1.5)) +
+ (2*m1*m2*Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)* (1 + m1/b
+ - (m1*(-((b*m1)/(m1 + m2)) - xp))/Power(b,2))*yp* ((1 +
+ m1/b)*(-((b*m1)/(m1 + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 +
+ m2)) - xp,2) + Power(yp,2) - Power(zp,2)))/
+ (2.*Power(b,2)))*(-(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*
+ Power(yp,2)) - Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) -
+ xp))/Power(b,2),2)*Power(zp,2) + 2*Power((1 +
+ m1/b)*(-((b*m1)/(m1 + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 +
+ m2)) - xp,2) + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))*
+ (1 + Power(m2,2)/ (4.*(Power(1 + (m1*(1 + m1/(2.*(m1 +
+ m2))))/b,2)*Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 +
+ m2)) - xp))/Power(b,2),2)* Power(zp,2) + Power((1 +
+ m1/b)*(-((b*m1)/(m1 + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 +
+ m2)) - xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))))* Power(1 + m2/
+ (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*Power(yp,2)
+ + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) -
+ xp))/Power(b,2),2)* Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1
+ + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4))/
+ (Power(b,3)*Power(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*
+ Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) -
+ xp))/Power(b,2),2)*Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1
+ + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2),1.5)) +
+ (2*Power(m1,3)*m2*(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) -
+ xp))/Power(b,2))* yp*Power(zp,2)*((1 + m1/b)*(-((b*m1)/(m1 +
+ m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) +
+ Power(yp,2) - Power(zp,2)))/ (2.*Power(b,2)))*(-(Power(1 +
+ (m1*(1 + m1/(2.*(m1 + m2))))/b,2)* Power(yp,2)) - Power(1 + m1/b
+ - (m1*(-((b*m1)/(m1 + m2)) - xp))/Power(b,2),2)*Power(zp,2) +
+ 2*Power((1 + m1/b)*(-((b*m1)/(m1 + m2)) - xp) -
+ (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))* (1 + Power(m2,2)/
+ (4.*(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*Power(yp,2) +
+ Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) - xp))/Power(b,2),2)*
+ Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1 + m2)) - xp) -
+ (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))))* Power(1 + m2/
+ (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*Power(yp,2)
+ + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) -
+ xp))/Power(b,2),2)* Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1
+ + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4))/
+ (Power(b,7)*Power(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*
+ Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) -
+ xp))/Power(b,2),2)*Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1
+ + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2),1.5)) +
+ (2*Power(m1,2)*Sqrt((m1 + m2)/b)*(1 + (m1*(1 + m1/(2.*(m1 +
+ m2))))/b)* (1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) -
+ xp))/Power(b,2))*yp*Power(zp,2)* (-(Sqrt((m1 + m2)/b)*(m1/(m1 +
+ m2) + (m1*(3 + Power(m1,2)/(2.*Power(m1 + m2,2)) + m2/(m1 +
+ m2)))/b)) + (m1*Sqrt((m1 + m2)/b)* ((1 + m2/(m1 +
+ m2))*(-((b*m1)/(m1 + m2)) - xp) - (3*Power(-((b*m1)/(m1 + m2)) -
+ xp,2) - 3*Power(yp,2) - Power(zp,2))/(2.*b)))/Power(b,2))*
+ Power(1 - m2/ (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 +
+ m2))))/b,2)*Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 +
+ m2)) - xp))/Power(b,2),2)* Power(zp,2) + Power((1 +
+ m1/b)*(-((b*m1)/(m1 + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 +
+ m2)) - xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))),2)* Power(1 + m2/
+ (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*Power(yp,2)
+ + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) -
+ xp))/Power(b,2),2)* Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1
+ + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4))/Power(b,5)
+ + (m1*(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) -
+ xp))/Power(b,2))*yp* Power(1 + m2/ (2.*Sqrt(Power(1 + (m1*(1 +
+ m1/(2.*(m1 + m2))))/b,2)*Power(yp,2) + Power(1 + m1/b -
+ (m1*(-((b*m1)/(m1 + m2)) - xp))/Power(b,2),2)* Power(zp,2) +
+ Power((1 + m1/b)*(-((b*m1)/(m1 + m2)) - xp) -
+ (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))),4)* (1 + (m1*(-(Power(1 +
+ (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*Power(yp,2)) - Power(1 + m1/b
+ - (m1*(-((b*m1)/(m1 + m2)) - xp))/Power(b,2),2)* Power(zp,2) +
+ 2*Power((1 + m1/b)*(-((b*m1)/(m1 + m2)) - xp) -
+ (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))* ((-2*m2)/ (Power(1 + (m1*(1 +
+ m1/(2.*(m1 + m2))))/b,2)*Power(yp,2) + Power(1 + m1/b -
+ (m1*(-((b*m1)/(m1 + m2)) - xp))/Power(b,2), 2)*Power(zp,2) +
+ Power((1 + m1/b)*(-((b*m1)/(m1 + m2)) - xp) -
+ (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2)) - (2*m2*Power((1 +
+ m1/b)*(-((b*m1)/(m1 + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 +
+ m2)) - xp,2) + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2)*
+ (1 + Power(m2,2)/ (4.*(Power(1 + (m1*(1 + m1/(2.*(m1 +
+ m2))))/b,2)* Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 +
+ m2)) - xp))/Power(b,2),2)* Power(zp,2) + Power((1 +
+ m1/b)*(-((b*m1)/(m1 + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 +
+ m2)) - xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))))) /Power(Power(1 + (m1*(1 +
+ m1/(2.*(m1 + m2))))/b,2)* Power(yp,2) + Power(1 + m1/b -
+ (m1*(-((b*m1)/(m1 + m2)) - xp))/Power(b,2),2)*Power(zp,2) +
+ Power((1 + m1/b)*(-((b*m1)/(m1 + m2)) - xp) -
+ (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2),1.5) + Power(1 + m2/
+ (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*
+ Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) -
+ xp))/Power(b,2),2)* Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1
+ + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) +
+ Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))),4)))/Power(b,3)) )/Power(b,2)
+ - (Power(m1,2)*Sqrt((m1 + m2)/b)* (1 + m2/(m1 + m2) -
+ (3*(-((b*m1)/(m1 + m2)) - xp))/b)*Power(yp,2)* ((2*m1*Sqrt((m1 +
+ m2)/b)*(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b)*yp* ((1 +
+ m1/b)*(-((b*m1)/(m1 + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 +
+ m2)) - xp,2) + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)))*
+ Power(1 - m2/ (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 +
+ m2))))/b,2)* Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 +
+ m2)) - xp))/Power(b,2), 2)*Power(zp,2) + Power((1 +
+ m1/b)*(-((b*m1)/(m1 + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 +
+ m2)) - xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))),2)* Power(1 + m2/
+ (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*
+ Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) -
+ xp))/Power(b,2), 2)*Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1
+ + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4))/Power(b,3)
+ + Sqrt((m1 + m2)/Power(b,3))*(1 - (m1*m2)/(b*(m1 + m2)))* (1 +
+ (m1*(1 + m1/(2.*(m1 + m2))))/b)*yp* Power(1 + m2/
+ (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*
+ Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) -
+ xp))/Power(b,2),2)*Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1
+ + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4)* (1 +
+ (m1*(-(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)* Power(yp,2))
+ - Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) - xp))/Power(b,2),
+ 2)*Power(zp,2) + 2*Power((1 + m1/b)*(-((b*m1)/(m1 + m2)) - xp) -
+ (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))* ((-2*Power(m2,2))/ (Power(1 +
+ (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*Power(yp,2) + Power(1 + m1/b -
+ (m1*(-((b*m1)/(m1 + m2)) - xp))/Power(b,2),2)* Power(zp,2) +
+ Power((1 + m1/b)*(-((b*m1)/(m1 + m2)) - xp) -
+ (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2)) + Power(1 + m2/
+ (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*
+ Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) -
+ xp))/Power(b,2),2)* Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1
+ + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),
+ 4)))/Power(b,3))))/Power(b,4) + (1 + m1/b - (m1*(-((b*m1)/(m1 +
+ m2)) - xp))/Power(b,2))* (-(Sqrt((m1 + m2)/b)*(m1/(m1 + m2) +
+ (m1*(3 + Power(m1,2)/(2.*Power(m1 + m2,2)) + m2/(m1 + m2)))/b))
+ + (m1*Sqrt((m1 + m2)/b)*((1 + m2/(m1 + m2))*(-((b*m1)/(m1 + m2))
+ - xp) - (3*Power(-((b*m1)/(m1 + m2)) - xp,2) - 3*Power(yp,2) -
+ Power(zp,2))/(2.*b)))/Power(b,2))* ((2*m1*Sqrt((m1 + m2)/b)*(1 +
+ (m1*(1 + m1/(2.*(m1 + m2))))/b)*yp* ((1 + m1/b)*(-((b*m1)/(m1 +
+ m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)))* Power(1 - m2/
+ (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*
+ Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) -
+ xp))/Power(b,2),2)*Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1
+ + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),2)* Power(1 +
+ m2/ (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*
+ Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) -
+ xp))/Power(b,2),2)*Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1
+ + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4))/Power(b,3)
+ + Sqrt((m1 + m2)/Power(b,3))*(1 - (m1*m2)/(b*(m1 + m2)))* (1 +
+ (m1*(1 + m1/(2.*(m1 + m2))))/b)*yp* Power(1 + m2/
+ (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*Power(yp,2)
+ + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) -
+ xp))/Power(b,2),2)* Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1
+ + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4)* (1 +
+ (m1*(-(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*Power(yp,2))
+ - Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) -
+ xp))/Power(b,2),2)* Power(zp,2) + 2*Power((1 +
+ m1/b)*(-((b*m1)/(m1 + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 +
+ m2)) - xp,2) + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))*
+ ((-2*Power(m2,2))/ (Power(1 + (m1*(1 + m1/(2.*(m1 +
+ m2))))/b,2)*Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 +
+ m2)) - xp))/Power(b,2), 2)*Power(zp,2) + Power((1 +
+ m1/b)*(-((b*m1)/(m1 + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 +
+ m2)) - xp,2) + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2)) +
+ Power(1 + m2/ (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 +
+ m2))))/b,2)* Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 +
+ m2)) - xp))/Power(b,2),2)* Power(zp,2) + Power((1 +
+ m1/b)*(-((b*m1)/(m1 + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 +
+ m2)) - xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))),4)))/Power(b,3) )) -
+ (m1*Sqrt((m1 + m2)/b)*(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b)* (1 +
+ m2/(m1 + m2) - (3*(-((b*m1)/(m1 + m2)) - xp))/b)*yp*
+ ((2*m1*Sqrt((m1 + m2)/b)*(-(Power(1 + m1/b - (m1*(-((b*m1)/(m1 +
+ m2)) - xp))/Power(b,2),2)*Power(zp,2)) + Power((1 +
+ m1/b)*(-((b*m1)/(m1 + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 +
+ m2)) - xp,2) + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))*
+ Power(1 - m2/ (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 +
+ m2))))/b,2)* Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 +
+ m2)) - xp))/Power(b,2), 2)*Power(zp,2) + Power((1 +
+ m1/b)*(-((b*m1)/(m1 + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 +
+ m2)) - xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))),2)* Power(1 + m2/
+ (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*
+ Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) -
+ xp))/Power(b,2), 2)*Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1
+ + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4))/Power(b,3)
+ + Sqrt((m1 + m2)/Power(b,3))*(1 - (m1*m2)/(b*(m1 + m2)))* ((1 +
+ m1/b)*(-((b*m1)/(m1 + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 +
+ m2)) - xp,2) + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)))*
+ Power(1 + m2/ (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 +
+ m2))))/b,2)* Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 +
+ m2)) - xp))/Power(b,2),2)*Power(zp,2) + Power((1 +
+ m1/b)*(-((b*m1)/(m1 + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 +
+ m2)) - xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))),4)* (1 + (m1*(-(Power(1 +
+ (m1*(1 + m1/(2.*(m1 + m2))))/b,2)* Power(yp,2)) - Power(1 + m1/b
+ - (m1*(-((b*m1)/(m1 + m2)) - xp))/Power(b,2), 2)*Power(zp,2) +
+ 2*Power((1 + m1/b)*(-((b*m1)/(m1 + m2)) - xp) -
+ (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))* ((-2*Power(m2,2))/ (Power(1 +
+ (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*Power(yp,2) + Power(1 + m1/b -
+ (m1*(-((b*m1)/(m1 + m2)) - xp))/Power(b,2),2)* Power(zp,2) +
+ Power((1 + m1/b)*(-((b*m1)/(m1 + m2)) - xp) -
+ (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2)) + Power(1 + m2/
+ (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*
+ Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) -
+ xp))/Power(b,2),2)* Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1
+ + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),
+ 4)))/Power(b,3))))/Power(b,2) - (m1*Sqrt((m1 + m2)/b)*(1 +
+ m2/(m1 + m2) - (3*(-((b*m1)/(m1 + m2)) - xp))/b)*yp* (-(Sqrt((m1
+ + m2)/b)*(m1/(m1 + m2) + (m1*(3 + Power(m1,2)/(2.*Power(m1 +
+ m2,2)) + m2/(m1 + m2)))/b)) + (m1*Sqrt((m1 + m2)/b)* ((1 +
+ m2/(m1 + m2))*(-((b*m1)/(m1 + m2)) - xp) - (3*Power(-((b*m1)/(m1
+ + m2)) - xp,2) - 3*Power(yp,2) -
+ Power(zp,2))/(2.*b)))/Power(b,2))* ((m1*(-(Power(1 + (m1*(1 +
+ m1/(2.*(m1 + m2))))/b,2)*Power(yp,2)) - Power(1 + m1/b -
+ (m1*(-((b*m1)/(m1 + m2)) - xp))/Power(b,2),2)* Power(zp,2) +
+ 2*Power((1 + m1/b)*(-((b*m1)/(m1 + m2)) - xp) -
+ (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))* Power(1 - m2/
+ (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*
+ Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) -
+ xp))/Power(b,2), 2)*Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1
+ + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4))/Power(b,3)
+ - Power(1 - m2/ (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 +
+ m2))))/b,2)* Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 +
+ m2)) - xp))/Power(b,2),2)*Power(zp,2) + Power((1 +
+ m1/b)*(-((b*m1)/(m1 + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 +
+ m2)) - xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))),2)/ Power(1 + m2/
+ (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*
+ Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) -
+ xp))/Power(b,2),2)*Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1
+ + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),2) -
+ (4*m1*Sqrt((m1 + m2)/Power(b,3))*Sqrt((m1 + m2)/b)* (1 -
+ (m1*m2)/(b*(m1 + m2)))* ((1 + m1/b)*(-((b*m1)/(m1 + m2)) - xp) -
+ (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)))* (-(Power(1 + (m1*(1 + m1/(2.*(m1
+ + m2))))/b,2)*Power(yp,2)) + Power(1 + m1/b - (m1*(-((b*m1)/(m1
+ + m2)) - xp))/Power(b,2),2)* Power(zp,2) - Power((1 +
+ m1/b)*(-((b*m1)/(m1 + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 +
+ m2)) - xp,2) + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))*
+ Power(1 - m2/ (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 +
+ m2))))/b,2)* Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 +
+ m2)) - xp))/Power(b,2), 2)*Power(zp,2) + Power((1 +
+ m1/b)*(-((b*m1)/(m1 + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 +
+ m2)) - xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))),2)* Power(1 + m2/
+ (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*
+ Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) -
+ xp))/Power(b,2), 2)*Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1
+ + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4))/Power(b,3)
+ + ((m1 + m2)*Power(1 - (m1*m2)/(b*(m1 + m2)),2)* (Power(1 +
+ (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*Power(yp,2) + Power((1 +
+ m1/b)*(-((b*m1)/(m1 + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 +
+ m2)) - xp,2) + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))*
+ Power(1 + m2/ (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 +
+ m2))))/b,2)* Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 +
+ m2)) - xp))/Power(b,2), 2)*Power(zp,2) + Power((1 +
+ m1/b)*(-((b*m1)/(m1 + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 +
+ m2)) - xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))),4)* (1 + (m1*(-(Power(1 +
+ (m1*(1 + m1/(2.*(m1 + m2))))/b,2)* Power(yp,2)) - Power(1 + m1/b
+ - (m1*(-((b*m1)/(m1 + m2)) - xp))/Power(b,2), 2)*Power(zp,2) +
+ 2*Power((1 + m1/b)*(-((b*m1)/(m1 + m2)) - xp) -
+ (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))* ((-2*Power(m2,2))/ (Power(1 +
+ (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*Power(yp,2) + Power(1 + m1/b -
+ (m1*(-((b*m1)/(m1 + m2)) - xp))/Power(b,2),2)* Power(zp,2) +
+ Power((1 + m1/b)*(-((b*m1)/(m1 + m2)) - xp) -
+ (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2)) + Power(1 + m2/
+ (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*
+ Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) -
+ xp))/Power(b,2),2)* Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1
+ + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),
+ 4)))/Power(b,3)))/Power(b,3)))/Power(b,2) ;
+
+gxz = (2*m1*m2*Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) -
+ xp))/Power(b,2),3)*zp* ((1 + m1/b)*(-((b*m1)/(m1 + m2)) - xp) -
+ (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + Power(yp,2) -
+ Power(zp,2)))/ (2.*Power(b,2)))*(-(Power(1 + (m1*(1 + m1/(2.*(m1
+ + m2))))/b,2)* Power(yp,2)) - Power(1 + m1/b - (m1*(-((b*m1)/(m1
+ + m2)) - xp))/Power(b,2),2)*Power(zp,2) + 2*Power((1 +
+ m1/b)*(-((b*m1)/(m1 + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 +
+ m2)) - xp,2) + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))*
+ (1 + Power(m2,2)/ (4.*(Power(1 + (m1*(1 + m1/(2.*(m1 +
+ m2))))/b,2)*Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 +
+ m2)) - xp))/Power(b,2),2)* Power(zp,2) + Power((1 +
+ m1/b)*(-((b*m1)/(m1 + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 +
+ m2)) - xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))))* Power(1 + m2/
+ (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*Power(yp,2)
+ + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) -
+ xp))/Power(b,2),2)* Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1
+ + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4))/
+ (Power(b,3)*Power(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*
+ Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) -
+ xp))/Power(b,2),2)*Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1
+ + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2),1.5)) -
+ (2*Power(m1,3)*m2*(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) -
+ xp))/Power(b,2))* Power(zp,3)*((1 + m1/b)*(-((b*m1)/(m1 + m2)) -
+ xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + Power(yp,2) -
+ Power(zp,2)))/ (2.*Power(b,2)))*(-(Power(1 + (m1*(1 + m1/(2.*(m1
+ + m2))))/b,2)* Power(yp,2)) - Power(1 + m1/b - (m1*(-((b*m1)/(m1
+ + m2)) - xp))/Power(b,2),2)*Power(zp,2) + 2*Power((1 +
+ m1/b)*(-((b*m1)/(m1 + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 +
+ m2)) - xp,2) + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))*
+ (1 + Power(m2,2)/ (4.*(Power(1 + (m1*(1 + m1/(2.*(m1 +
+ m2))))/b,2)*Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 +
+ m2)) - xp))/Power(b,2),2)* Power(zp,2) + Power((1 +
+ m1/b)*(-((b*m1)/(m1 + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 +
+ m2)) - xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))))* Power(1 + m2/
+ (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*Power(yp,2)
+ + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) -
+ xp))/Power(b,2),2)* Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1
+ + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4))/
+ (Power(b,7)*Power(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*
+ Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) -
+ xp))/Power(b,2),2)*Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1
+ + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2),1.5)) -
+ (2*Power(m1,2)*(m1 + m2)*(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b)*
+ (1 + m2/(m1 + m2) - (3*(-((b*m1)/(m1 + m2)) - xp))/b)* Power(1 +
+ m1/b - (m1*(-((b*m1)/(m1 + m2)) - xp))/Power(b,2),2)*
+ Power(yp,2)*zp*Power(1 - m2/ (2.*Sqrt(Power(1 + (m1*(1 +
+ m1/(2.*(m1 + m2))))/b,2)*Power(yp,2) + Power(1 + m1/b -
+ (m1*(-((b*m1)/(m1 + m2)) - xp))/Power(b,2),2)* Power(zp,2) +
+ Power((1 + m1/b)*(-((b*m1)/(m1 + m2)) - xp) -
+ (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))),2)* Power(1 + m2/
+ (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*Power(yp,2)
+ + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) -
+ xp))/Power(b,2),2)* Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1
+ + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4))/Power(b,6)
+ + (2*Power(m1,3)*(m1 + m2)*(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b)*
+ (1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) -
+ xp))/Power(b,2))*Power(yp,2)* Power(zp,3)*Power(1 - m2/
+ (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*Power(yp,2)
+ + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) -
+ xp))/Power(b,2),2)* Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1
+ + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),2)* Power(1 +
+ m2/ (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 +
+ m2))))/b,2)*Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 +
+ m2)) - xp))/Power(b,2),2)* Power(zp,2) + Power((1 +
+ m1/b)*(-((b*m1)/(m1 + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 +
+ m2)) - xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))),4))/Power(b,9) + (m1*(1 +
+ m1/b - (m1*(-((b*m1)/(m1 + m2)) - xp))/Power(b,2))*zp* Power(1 +
+ m2/ (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 +
+ m2))))/b,2)*Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 +
+ m2)) - xp))/Power(b,2),2)* Power(zp,2) + Power((1 +
+ m1/b)*(-((b*m1)/(m1 + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 +
+ m2)) - xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))),4)* (1 + (m1*(-(Power(1 +
+ (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*Power(yp,2)) - Power(1 + m1/b
+ - (m1*(-((b*m1)/(m1 + m2)) - xp))/Power(b,2),2)* Power(zp,2) +
+ 2*Power((1 + m1/b)*(-((b*m1)/(m1 + m2)) - xp) -
+ (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))* ((-2*m2)/ (Power(1 + (m1*(1 +
+ m1/(2.*(m1 + m2))))/b,2)*Power(yp,2) + Power(1 + m1/b -
+ (m1*(-((b*m1)/(m1 + m2)) - xp))/Power(b,2), 2)*Power(zp,2) +
+ Power((1 + m1/b)*(-((b*m1)/(m1 + m2)) - xp) -
+ (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2)) - (2*m2*Power(1 + m1/b -
+ (m1*(-((b*m1)/(m1 + m2)) - xp))/Power(b,2),2)*Power(zp,2)* (1 +
+ Power(m2,2)/ (4.*(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*
+ Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) -
+ xp))/Power(b,2),2)* Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1
+ + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2)))))
+ /Power(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)* Power(yp,2)
+ + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) -
+ xp))/Power(b,2),2)*Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1
+ + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2),1.5) + Power(1 +
+ m2/ (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*
+ Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) -
+ xp))/Power(b,2),2)* Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1
+ + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) +
+ Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))),4)))/Power(b,3)) )/Power(b,2)
+ - (m1*(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) -
+ xp))/Power(b,2))*zp* Power(1 + m2/ (2.*Sqrt(Power(1 + (m1*(1 +
+ m1/(2.*(m1 + m2))))/b,2)*Power(yp,2) + Power(1 + m1/b -
+ (m1*(-((b*m1)/(m1 + m2)) - xp))/Power(b,2),2)* Power(zp,2) +
+ Power((1 + m1/b)*(-((b*m1)/(m1 + m2)) - xp) -
+ (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))),4)* (1 + (m1*(-(Power(1 +
+ (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*Power(yp,2)) - Power(1 + m1/b
+ - (m1*(-((b*m1)/(m1 + m2)) - xp))/Power(b,2),2)* Power(zp,2) +
+ 2*Power((1 + m1/b)*(-((b*m1)/(m1 + m2)) - xp) -
+ (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))* ((-2*m2)/ (Power(1 + (m1*(1 +
+ m1/(2.*(m1 + m2))))/b,2)*Power(yp,2) + Power(1 + m1/b -
+ (m1*(-((b*m1)/(m1 + m2)) - xp))/Power(b,2), 2)*Power(zp,2) +
+ Power((1 + m1/b)*(-((b*m1)/(m1 + m2)) - xp) -
+ (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2)) - (2*m2*Power((1 +
+ m1/b)*(-((b*m1)/(m1 + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 +
+ m2)) - xp,2) + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2)*
+ (1 + Power(m2,2)/ (4.*(Power(1 + (m1*(1 + m1/(2.*(m1 +
+ m2))))/b,2)* Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 +
+ m2)) - xp))/Power(b,2),2)* Power(zp,2) + Power((1 +
+ m1/b)*(-((b*m1)/(m1 + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 +
+ m2)) - xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))))) /Power(Power(1 + (m1*(1 +
+ m1/(2.*(m1 + m2))))/b,2)* Power(yp,2) + Power(1 + m1/b -
+ (m1*(-((b*m1)/(m1 + m2)) - xp))/Power(b,2),2)*Power(zp,2) +
+ Power((1 + m1/b)*(-((b*m1)/(m1 + m2)) - xp) -
+ (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2),1.5) + Power(1 + m2/
+ (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*
+ Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) -
+ xp))/Power(b,2),2)* Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1
+ + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) +
+ Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))),4)))/Power(b,3)) )/Power(b,2)
+ + (Power(m1,2)*Sqrt((m1 + m2)/b)* (1 + m2/(m1 + m2) -
+ (3*(-((b*m1)/(m1 + m2)) - xp))/b)*yp*zp* ((2*m1*Sqrt((m1 +
+ m2)/b)*(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b)*yp* ((1 +
+ m1/b)*(-((b*m1)/(m1 + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 +
+ m2)) - xp,2) + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)))*
+ Power(1 - m2/ (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 +
+ m2))))/b,2)* Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 +
+ m2)) - xp))/Power(b,2), 2)*Power(zp,2) + Power((1 +
+ m1/b)*(-((b*m1)/(m1 + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 +
+ m2)) - xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))),2)* Power(1 + m2/
+ (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*
+ Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) -
+ xp))/Power(b,2), 2)*Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1
+ + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4))/Power(b,3)
+ + Sqrt((m1 + m2)/Power(b,3))*(1 - (m1*m2)/(b*(m1 + m2)))* (1 +
+ (m1*(1 + m1/(2.*(m1 + m2))))/b)*yp* Power(1 + m2/
+ (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*
+ Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) -
+ xp))/Power(b,2),2)*Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1
+ + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4)* (1 +
+ (m1*(-(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)* Power(yp,2))
+ - Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) - xp))/Power(b,2),
+ 2)*Power(zp,2) + 2*Power((1 + m1/b)*(-((b*m1)/(m1 + m2)) - xp) -
+ (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))* ((-2*Power(m2,2))/ (Power(1 +
+ (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*Power(yp,2) + Power(1 + m1/b -
+ (m1*(-((b*m1)/(m1 + m2)) - xp))/Power(b,2),2)* Power(zp,2) +
+ Power((1 + m1/b)*(-((b*m1)/(m1 + m2)) - xp) -
+ (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2)) + Power(1 + m2/
+ (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*
+ Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) -
+ xp))/Power(b,2),2)* Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1
+ + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),
+ 4)))/Power(b,3))))/Power(b,4) + (m1*Sqrt((m1 + m2)/b)*(1 + m1/b
+ - (m1*(-((b*m1)/(m1 + m2)) - xp))/Power(b,2))*yp*zp*
+ ((2*m1*Sqrt((m1 + m2)/b)*(1 + (m1*(1 + m1/(2.*(m1 +
+ m2))))/b)*yp* ((1 + m1/b)*(-((b*m1)/(m1 + m2)) - xp) -
+ (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)))* Power(1 - m2/ (2.*Sqrt(Power(1 +
+ (m1*(1 + m1/(2.*(m1 + m2))))/b,2)* Power(yp,2) + Power(1 + m1/b
+ - (m1*(-((b*m1)/(m1 + m2)) - xp))/Power(b,2), 2)*Power(zp,2) +
+ Power((1 + m1/b)*(-((b*m1)/(m1 + m2)) - xp) -
+ (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))),2)* Power(1 + m2/
+ (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*
+ Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) -
+ xp))/Power(b,2), 2)*Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1
+ + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4))/Power(b,3)
+ + Sqrt((m1 + m2)/Power(b,3))*(1 - (m1*m2)/(b*(m1 + m2)))* (1 +
+ (m1*(1 + m1/(2.*(m1 + m2))))/b)*yp* Power(1 + m2/
+ (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*
+ Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) -
+ xp))/Power(b,2),2)*Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1
+ + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4)* (1 +
+ (m1*(-(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)* Power(yp,2))
+ - Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) - xp))/Power(b,2),
+ 2)*Power(zp,2) + 2*Power((1 + m1/b)*(-((b*m1)/(m1 + m2)) - xp) -
+ (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))* ((-2*Power(m2,2))/ (Power(1 +
+ (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*Power(yp,2) + Power(1 + m1/b -
+ (m1*(-((b*m1)/(m1 + m2)) - xp))/Power(b,2),2)* Power(zp,2) +
+ Power((1 + m1/b)*(-((b*m1)/(m1 + m2)) - xp) -
+ (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2)) + Power(1 + m2/
+ (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*
+ Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) -
+ xp))/Power(b,2),2)* Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1
+ + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),
+ 4)))/Power(b,3))))/Power(b,3) - (Power(m1,2)*(m1 + m2)*(1 +
+ m2/(m1 + m2) - (3*(-((b*m1)/(m1 + m2)) - xp))/b)*Power(yp,2)*zp*
+ ((m1*(-(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*Power(yp,2))
+ - Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) -
+ xp))/Power(b,2),2)* Power(zp,2) + 2*Power((1 +
+ m1/b)*(-((b*m1)/(m1 + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 +
+ m2)) - xp,2) + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))*
+ Power(1 - m2/ (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 +
+ m2))))/b,2)* Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 +
+ m2)) - xp))/Power(b,2), 2)*Power(zp,2) + Power((1 +
+ m1/b)*(-((b*m1)/(m1 + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 +
+ m2)) - xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))),4))/Power(b,3) - Power(1 -
+ m2/ (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*
+ Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) -
+ xp))/Power(b,2),2)*Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1
+ + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),2)/ Power(1 +
+ m2/ (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*
+ Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) -
+ xp))/Power(b,2),2)*Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1
+ + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),2) -
+ (4*m1*Sqrt((m1 + m2)/Power(b,3))*Sqrt((m1 + m2)/b)* (1 -
+ (m1*m2)/(b*(m1 + m2)))* ((1 + m1/b)*(-((b*m1)/(m1 + m2)) - xp) -
+ (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)))* (-(Power(1 + (m1*(1 + m1/(2.*(m1
+ + m2))))/b,2)*Power(yp,2)) + Power(1 + m1/b - (m1*(-((b*m1)/(m1
+ + m2)) - xp))/Power(b,2),2)* Power(zp,2) - Power((1 +
+ m1/b)*(-((b*m1)/(m1 + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 +
+ m2)) - xp,2) + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))*
+ Power(1 - m2/ (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 +
+ m2))))/b,2)* Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 +
+ m2)) - xp))/Power(b,2), 2)*Power(zp,2) + Power((1 +
+ m1/b)*(-((b*m1)/(m1 + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 +
+ m2)) - xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))),2)* Power(1 + m2/
+ (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*
+ Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) -
+ xp))/Power(b,2), 2)*Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1
+ + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4))/Power(b,3)
+ + ((m1 + m2)*Power(1 - (m1*m2)/(b*(m1 + m2)),2)* (Power(1 +
+ (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*Power(yp,2) + Power((1 +
+ m1/b)*(-((b*m1)/(m1 + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 +
+ m2)) - xp,2) + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))*
+ Power(1 + m2/ (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 +
+ m2))))/b,2)* Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 +
+ m2)) - xp))/Power(b,2), 2)*Power(zp,2) + Power((1 +
+ m1/b)*(-((b*m1)/(m1 + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 +
+ m2)) - xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))),4)* (1 + (m1*(-(Power(1 +
+ (m1*(1 + m1/(2.*(m1 + m2))))/b,2)* Power(yp,2)) - Power(1 + m1/b
+ - (m1*(-((b*m1)/(m1 + m2)) - xp))/Power(b,2), 2)*Power(zp,2) +
+ 2*Power((1 + m1/b)*(-((b*m1)/(m1 + m2)) - xp) -
+ (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))* ((-2*Power(m2,2))/ (Power(1 +
+ (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*Power(yp,2) + Power(1 + m1/b -
+ (m1*(-((b*m1)/(m1 + m2)) - xp))/Power(b,2),2)* Power(zp,2) +
+ Power((1 + m1/b)*(-((b*m1)/(m1 + m2)) - xp) -
+ (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2)) + Power(1 + m2/
+ (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*
+ Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) -
+ xp))/Power(b,2),2)* Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1
+ + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),
+ 4)))/Power(b,3)))/Power(b,3)))/Power(b,6) ;
+gyy = (4*Power(m1,2)*m2*Power(1 + (m1*(1 + m1/(2.*(m1 +
+ m2))))/b,2)*Power(yp,2)* ((1 + m1/b)*(-((b*m1)/(m1 + m2)) - xp)
+ - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + Power(yp,2) -
+ Power(zp,2)))/ (2.*Power(b,2)))*(-(Power(1 + (m1*(1 + m1/(2.*(m1
+ + m2))))/b,2)* Power(yp,2)) - Power(1 + m1/b - (m1*(-((b*m1)/(m1
+ + m2)) - xp))/Power(b,2),2)*Power(zp,2) + 2*Power((1 +
+ m1/b)*(-((b*m1)/(m1 + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 +
+ m2)) - xp,2) + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))*
+ (1 + Power(m2,2)/ (4.*(Power(1 + (m1*(1 + m1/(2.*(m1 +
+ m2))))/b,2)*Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 +
+ m2)) - xp))/Power(b,2),2)* Power(zp,2) + Power((1 +
+ m1/b)*(-((b*m1)/(m1 + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 +
+ m2)) - xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))))* Power(1 + m2/
+ (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*Power(yp,2)
+ + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) -
+ xp))/Power(b,2),2)* Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1
+ + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4))/
+ (Power(b,5)*Power(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*
+ Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) -
+ xp))/Power(b,2),2)*Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1
+ + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2),1.5)) + Power(1 +
+ (m1*(1 + m1/(2.*(m1 + m2))))/b,2)* Power(1 + m2/
+ (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*Power(yp,2)
+ + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) -
+ xp))/Power(b,2),2)* Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1
+ + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4)* (1 +
+ (m1*(-(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*Power(yp,2))
+ - Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) -
+ xp))/Power(b,2),2)* Power(zp,2) + 2*Power((1 +
+ m1/b)*(-((b*m1)/(m1 + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 +
+ m2)) - xp,2) + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))*
+ ((-2*m2)/ (Power(1 + (m1*(1 + m1/(2.*(m1 +
+ m2))))/b,2)*Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 +
+ m2)) - xp))/Power(b,2),2)* Power(zp,2) + Power((1 +
+ m1/b)*(-((b*m1)/(m1 + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 +
+ m2)) - xp,2) + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2)) -
+ (2*m2*Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*Power(yp,2)*
+ (1 + Power(m2,2)/ (4.*(Power(1 + (m1*(1 + m1/(2.*(m1 +
+ m2))))/b,2)* Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 +
+ m2)) - xp))/Power(b,2),2)* Power(zp,2) + Power((1 +
+ m1/b)*(-((b*m1)/(m1 + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 +
+ m2)) - xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2)))))/ Power(Power(1 + (m1*(1 +
+ m1/(2.*(m1 + m2))))/b,2)*Power(yp,2) + Power(1 + m1/b -
+ (m1*(-((b*m1)/(m1 + m2)) - xp))/Power(b,2),2)* Power(zp,2) +
+ Power((1 + m1/b)*(-((b*m1)/(m1 + m2)) - xp) -
+ (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2),1.5) + Power(1 + m2/
+ (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*
+ Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) -
+ xp))/Power(b,2), 2)*Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1
+ + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) +
+ Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))),4)))/Power(b,3)) +
+ (Power(m1,2)*Power(yp,2)*Power(1 + m2/(2.*Sqrt(Power(1 + (m1*(1
+ + m1/(2.*(m1 + m2))))/b,2)*Power(yp,2) + Power(1 + m1/b -
+ (m1*(-((b*m1)/(m1 + m2)) - xp))/Power(b,2),2)* Power(zp,2) +
+ Power((1 + m1/b)*(-((b*m1)/(m1 + m2)) - xp) -
+ (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))),4)* (1 + (m1*(-(Power(1 +
+ (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*Power(yp,2)) - Power(1 + m1/b
+ - (m1*(-((b*m1)/(m1 + m2)) - xp))/Power(b,2),2)* Power(zp,2) +
+ 2*Power((1 + m1/b)*(-((b*m1)/(m1 + m2)) - xp) -
+ (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))* ((-2*m2)/ (Power(1 + (m1*(1 +
+ m1/(2.*(m1 + m2))))/b,2)*Power(yp,2) + Power(1 + m1/b -
+ (m1*(-((b*m1)/(m1 + m2)) - xp))/Power(b,2), 2)*Power(zp,2) +
+ Power((1 + m1/b)*(-((b*m1)/(m1 + m2)) - xp) -
+ (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2)) - (2*m2*Power((1 +
+ m1/b)*(-((b*m1)/(m1 + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 +
+ m2)) - xp,2) + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2)*
+ (1 + Power(m2,2)/ (4.*(Power(1 + (m1*(1 + m1/(2.*(m1 +
+ m2))))/b,2)* Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 +
+ m2)) - xp))/Power(b,2),2)* Power(zp,2) + Power((1 +
+ m1/b)*(-((b*m1)/(m1 + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 +
+ m2)) - xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))))) /Power(Power(1 + (m1*(1 +
+ m1/(2.*(m1 + m2))))/b,2)* Power(yp,2) + Power(1 + m1/b -
+ (m1*(-((b*m1)/(m1 + m2)) - xp))/Power(b,2),2)*Power(zp,2) +
+ Power((1 + m1/b)*(-((b*m1)/(m1 + m2)) - xp) -
+ (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2),1.5) + Power(1 + m2/
+ (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*
+ Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) -
+ xp))/Power(b,2),2)* Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1
+ + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) +
+ Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))),4)))/Power(b,3)) )/Power(b,4)
+ + (2*m1*yp*(-(Sqrt((m1 + m2)/b)* (m1/(m1 + m2) + (m1*(3 +
+ Power(m1,2)/(2.*Power(m1 + m2,2)) + m2/(m1 + m2)))/b)) +
+ (m1*Sqrt((m1 + m2)/b)*((1 + m2/(m1 + m2))* (-((b*m1)/(m1 + m2))
+ - xp) - (3*Power(-((b*m1)/(m1 + m2)) - xp,2) - 3*Power(yp,2) -
+ Power(zp,2))/(2.*b)))/Power(b,2))* ((2*m1*Sqrt((m1 + m2)/b)*(1 +
+ (m1*(1 + m1/(2.*(m1 + m2))))/b)*yp* ((1 + m1/b)*(-((b*m1)/(m1 +
+ m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)))* Power(1 - m2/
+ (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*
+ Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) -
+ xp))/Power(b,2), 2)*Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1
+ + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),2)* Power(1 +
+ m2/ (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*
+ Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) -
+ xp))/Power(b,2), 2)*Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1
+ + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4))/Power(b,3)
+ + Sqrt((m1 + m2)/Power(b,3))*(1 - (m1*m2)/(b*(m1 + m2)))* (1 +
+ (m1*(1 + m1/(2.*(m1 + m2))))/b)*yp* Power(1 + m2/
+ (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*
+ Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) -
+ xp))/Power(b,2),2)*Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1
+ + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4)* (1 +
+ (m1*(-(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)* Power(yp,2))
+ - Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) - xp))/Power(b,2),
+ 2)*Power(zp,2) + 2*Power((1 + m1/b)*(-((b*m1)/(m1 + m2)) - xp) -
+ (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))* ((-2*Power(m2,2))/ (Power(1 +
+ (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*Power(yp,2) + Power(1 + m1/b -
+ (m1*(-((b*m1)/(m1 + m2)) - xp))/Power(b,2),2)* Power(zp,2) +
+ Power((1 + m1/b)*(-((b*m1)/(m1 + m2)) - xp) -
+ (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2)) + Power(1 + m2/
+ (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*
+ Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) -
+ xp))/Power(b,2),2)* Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1
+ + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),
+ 4)))/Power(b,3))))/Power(b,2) + 2*(1 + (m1*(1 + m1/(2.*(m1 +
+ m2))))/b)* (-(Sqrt((m1 + m2)/b)*(m1/(m1 + m2) + (m1*(3 +
+ Power(m1,2)/(2.*Power(m1 + m2,2)) + m2/(m1 + m2)))/b)) +
+ (m1*Sqrt((m1 + m2)/b)*((1 + m2/(m1 + m2))*(-((b*m1)/(m1 + m2)) -
+ xp) - (3*Power(-((b*m1)/(m1 + m2)) - xp,2) - 3*Power(yp,2) -
+ Power(zp,2))/(2.*b)))/Power(b,2))* ((2*m1*Sqrt((m1 +
+ m2)/b)*(-(Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) -
+ xp))/Power(b,2),2)*Power(zp,2)) + Power((1 + m1/b)*(-((b*m1)/(m1
+ + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))* Power(1 - m2/
+ (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*
+ Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) -
+ xp))/Power(b,2),2)*Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1
+ + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),2)* Power(1 +
+ m2/ (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*
+ Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) -
+ xp))/Power(b,2),2)*Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1
+ + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4))/Power(b,3)
+ + Sqrt((m1 + m2)/Power(b,3))*(1 - (m1*m2)/(b*(m1 + m2)))* ((1 +
+ m1/b)*(-((b*m1)/(m1 + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 +
+ m2)) - xp,2) + Power(yp,2) - Power(zp,2)))/
+ (2.*Power(b,2)))*Power(1 + m2/(2.*Sqrt(Power(1 + (m1*(1 +
+ m1/(2.*(m1 + m2))))/b,2)* Power(yp,2) + Power(1 + m1/b -
+ (m1*(-((b*m1)/(m1 + m2)) - xp))/Power(b,2),2)*Power(zp,2) +
+ Power((1 + m1/b)*(-((b*m1)/(m1 + m2)) - xp) -
+ (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))),4)* (1 + (m1*(-(Power(1 +
+ (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*Power(yp,2)) - Power(1 + m1/b
+ - (m1*(-((b*m1)/(m1 + m2)) - xp))/Power(b,2),2)* Power(zp,2) +
+ 2*Power((1 + m1/b)*(-((b*m1)/(m1 + m2)) - xp) -
+ (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))* ((-2*Power(m2,2))/ (Power(1 +
+ (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*Power(yp,2) + Power(1 + m1/b -
+ (m1*(-((b*m1)/(m1 + m2)) - xp))/Power(b,2), 2)*Power(zp,2) +
+ Power((1 + m1/b)*(-((b*m1)/(m1 + m2)) - xp) -
+ (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2)) + Power(1 + m2/
+ (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*
+ Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) -
+ xp))/Power(b,2),2)* Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1
+ + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4)))/Power(b,3)
+ )) + Power(-(Sqrt((m1 + m2)/b)* (m1/(m1 + m2) + (m1*(3 +
+ Power(m1,2)/(2.*Power(m1 + m2,2)) + m2/(m1 + m2)))/b)) +
+ (m1*Sqrt((m1 + m2)/b)*((1 + m2/(m1 + m2))*(-((b*m1)/(m1 + m2)) -
+ xp) - (3*Power(-((b*m1)/(m1 + m2)) - xp,2) - 3*Power(yp,2) -
+ Power(zp,2))/(2.*b)))/Power(b,2),2)* ((m1*(-(Power(1 + (m1*(1 +
+ m1/(2.*(m1 + m2))))/b,2)*Power(yp,2)) - Power(1 + m1/b -
+ (m1*(-((b*m1)/(m1 + m2)) - xp))/Power(b,2),2)* Power(zp,2) +
+ 2*Power((1 + m1/b)*(-((b*m1)/(m1 + m2)) - xp) -
+ (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))* Power(1 - m2/
+ (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*
+ Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) -
+ xp))/Power(b,2),2)*Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1
+ + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4))/Power(b,3)
+ - Power(1 - m2/ (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 +
+ m2))))/b,2)*Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 +
+ m2)) - xp))/Power(b,2),2)* Power(zp,2) + Power((1 +
+ m1/b)*(-((b*m1)/(m1 + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 +
+ m2)) - xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))),2)/ Power(1 + m2/
+ (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*Power(yp,2)
+ + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) -
+ xp))/Power(b,2),2)* Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1
+ + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),2) -
+ (4*m1*Sqrt((m1 + m2)/Power(b,3))*Sqrt((m1 + m2)/b)* (1 -
+ (m1*m2)/(b*(m1 + m2)))* ((1 + m1/b)*(-((b*m1)/(m1 + m2)) - xp) -
+ (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)))* (-(Power(1 + (m1*(1 + m1/(2.*(m1
+ + m2))))/b,2)*Power(yp,2)) + Power(1 + m1/b - (m1*(-((b*m1)/(m1
+ + m2)) - xp))/Power(b,2),2)* Power(zp,2) - Power((1 +
+ m1/b)*(-((b*m1)/(m1 + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 +
+ m2)) - xp,2) + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))*
+ Power(1 - m2/ (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 +
+ m2))))/b,2)* Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 +
+ m2)) - xp))/Power(b,2),2)*Power(zp,2) + Power((1 +
+ m1/b)*(-((b*m1)/(m1 + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 +
+ m2)) - xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))),2)* Power(1 + m2/
+ (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*
+ Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) -
+ xp))/Power(b,2),2)*Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1
+ + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4))/Power(b,3)
+ + ((m1 + m2)*Power(1 - (m1*m2)/(b*(m1 + m2)),2)* (Power(1 +
+ (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*Power(yp,2) + Power((1 +
+ m1/b)*(-((b*m1)/(m1 + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 +
+ m2)) - xp,2) + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))*
+ Power(1 + m2/ (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 +
+ m2))))/b,2)* Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 +
+ m2)) - xp))/Power(b,2),2)*Power(zp,2) + Power((1 +
+ m1/b)*(-((b*m1)/(m1 + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 +
+ m2)) - xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))),4)* (1 + (m1*(-(Power(1 +
+ (m1*(1 + m1/(2.*(m1 + m2))))/b,2)* Power(yp,2)) - Power(1 + m1/b
+ - (m1*(-((b*m1)/(m1 + m2)) - xp))/Power(b,2), 2)*Power(zp,2) +
+ 2*Power((1 + m1/b)*(-((b*m1)/(m1 + m2)) - xp) -
+ (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))* ((-2*Power(m2,2))/ (Power(1 +
+ (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*Power(yp,2) + Power(1 + m1/b -
+ (m1*(-((b*m1)/(m1 + m2)) - xp))/Power(b,2),2)* Power(zp,2) +
+ Power((1 + m1/b)*(-((b*m1)/(m1 + m2)) - xp) -
+ (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2)) + Power(1 + m2/
+ (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*
+ Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) -
+ xp))/Power(b,2),2)* Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1
+ + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),
+ 4)))/Power(b,3)))/Power(b,3)) ;
+gyz = (-2*m1*m2*Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)* Power(1 +
+ m1/b - (m1*(-((b*m1)/(m1 + m2)) - xp))/Power(b,2),2)*yp*zp*
+ (-(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*Power(yp,2)) -
+ Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) - xp))/Power(b,2),2)*
+ Power(zp,2) + 2*Power((1 + m1/b)*(-((b*m1)/(m1 + m2)) - xp) -
+ (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))* (1 + Power(m2,2)/
+ (4.*(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*Power(yp,2) +
+ Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) - xp))/Power(b,2),2)*
+ Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1 + m2)) - xp) -
+ (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))))* Power(1 + m2/
+ (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*Power(yp,2)
+ + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) -
+ xp))/Power(b,2),2)* Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1
+ + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4))/
+ (Power(b,3)*Power(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*
+ Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) -
+ xp))/Power(b,2),2)*Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1
+ + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2),1.5)) -
+ (2*Power(m1,2)*m2*Power(1 + (m1*(1 + m1/(2.*(m1 +
+ m2))))/b,2)*yp*zp* ((1 + m1/b)*(-((b*m1)/(m1 + m2)) - xp) -
+ (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + Power(yp,2) -
+ Power(zp,2)))/ (2.*Power(b,2)))*(-(Power(1 + (m1*(1 + m1/(2.*(m1
+ + m2))))/b,2)* Power(yp,2)) - Power(1 + m1/b - (m1*(-((b*m1)/(m1
+ + m2)) - xp))/Power(b,2),2)*Power(zp,2) + 2*Power((1 +
+ m1/b)*(-((b*m1)/(m1 + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 +
+ m2)) - xp,2) + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))*
+ (1 + Power(m2,2)/ (4.*(Power(1 + (m1*(1 + m1/(2.*(m1 +
+ m2))))/b,2)*Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 +
+ m2)) - xp))/Power(b,2),2)* Power(zp,2) + Power((1 +
+ m1/b)*(-((b*m1)/(m1 + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 +
+ m2)) - xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))))* Power(1 + m2/
+ (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*Power(yp,2)
+ + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) -
+ xp))/Power(b,2),2)* Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1
+ + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4))/
+ (Power(b,5)*Power(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*
+ Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) -
+ xp))/Power(b,2),2)*Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1
+ + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2),1.5)) +
+ (2*Power(m1,2)*m2*Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) -
+ xp))/Power(b,2),2)*yp*zp* ((1 + m1/b)*(-((b*m1)/(m1 + m2)) - xp)
+ - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + Power(yp,2) -
+ Power(zp,2)))/ (2.*Power(b,2)))*(-(Power(1 + (m1*(1 + m1/(2.*(m1
+ + m2))))/b,2)* Power(yp,2)) - Power(1 + m1/b - (m1*(-((b*m1)/(m1
+ + m2)) - xp))/Power(b,2),2)*Power(zp,2) + 2*Power((1 +
+ m1/b)*(-((b*m1)/(m1 + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 +
+ m2)) - xp,2) + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))*
+ (1 + Power(m2,2)/ (4.*(Power(1 + (m1*(1 + m1/(2.*(m1 +
+ m2))))/b,2)*Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 +
+ m2)) - xp))/Power(b,2),2)* Power(zp,2) + Power((1 +
+ m1/b)*(-((b*m1)/(m1 + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 +
+ m2)) - xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))))* Power(1 + m2/
+ (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*Power(yp,2)
+ + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) -
+ xp))/Power(b,2),2)* Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1
+ + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4))/
+ (Power(b,5)*Power(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*
+ Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) -
+ xp))/Power(b,2),2)*Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1
+ + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2),1.5)) +
+ (2*m1*Sqrt((m1 + m2)/b)*(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b)*
+ Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) -
+ xp))/Power(b,2),2)*yp*zp* (-(Sqrt((m1 + m2)/b)*(m1/(m1 + m2) +
+ (m1*(3 + Power(m1,2)/(2.*Power(m1 + m2,2)) + m2/(m1 + m2)))/b))
+ + (m1*Sqrt((m1 + m2)/b)* ((1 + m2/(m1 + m2))*(-((b*m1)/(m1 +
+ m2)) - xp) - (3*Power(-((b*m1)/(m1 + m2)) - xp,2) -
+ 3*Power(yp,2) - Power(zp,2))/(2.*b)))/Power(b,2))* Power(1 - m2/
+ (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*Power(yp,2)
+ + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) -
+ xp))/Power(b,2),2)* Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1
+ + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),2)* Power(1 +
+ m2/ (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 +
+ m2))))/b,2)*Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 +
+ m2)) - xp))/Power(b,2),2)* Power(zp,2) + Power((1 +
+ m1/b)*(-((b*m1)/(m1 + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 +
+ m2)) - xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))),4))/Power(b,3) -
+ (Power(m1,2)*yp*zp*Power(1 + m2/(2.*Sqrt(Power(1 + (m1*(1 +
+ m1/(2.*(m1 + m2))))/b,2)*Power(yp,2) + Power(1 + m1/b -
+ (m1*(-((b*m1)/(m1 + m2)) - xp))/Power(b,2),2)* Power(zp,2) +
+ Power((1 + m1/b)*(-((b*m1)/(m1 + m2)) - xp) -
+ (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))),4)* (1 + (m1*(-(Power(1 +
+ (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*Power(yp,2)) - Power(1 + m1/b
+ - (m1*(-((b*m1)/(m1 + m2)) - xp))/Power(b,2),2)* Power(zp,2) +
+ 2*Power((1 + m1/b)*(-((b*m1)/(m1 + m2)) - xp) -
+ (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))* ((-2*m2)/ (Power(1 + (m1*(1 +
+ m1/(2.*(m1 + m2))))/b,2)*Power(yp,2) + Power(1 + m1/b -
+ (m1*(-((b*m1)/(m1 + m2)) - xp))/Power(b,2), 2)*Power(zp,2) +
+ Power((1 + m1/b)*(-((b*m1)/(m1 + m2)) - xp) -
+ (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2)) - (2*m2*Power((1 +
+ m1/b)*(-((b*m1)/(m1 + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 +
+ m2)) - xp,2) + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2)*
+ (1 + Power(m2,2)/ (4.*(Power(1 + (m1*(1 + m1/(2.*(m1 +
+ m2))))/b,2)* Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 +
+ m2)) - xp))/Power(b,2),2)* Power(zp,2) + Power((1 +
+ m1/b)*(-((b*m1)/(m1 + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 +
+ m2)) - xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))))) /Power(Power(1 + (m1*(1 +
+ m1/(2.*(m1 + m2))))/b,2)* Power(yp,2) + Power(1 + m1/b -
+ (m1*(-((b*m1)/(m1 + m2)) - xp))/Power(b,2),2)*Power(zp,2) +
+ Power((1 + m1/b)*(-((b*m1)/(m1 + m2)) - xp) -
+ (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2),1.5) + Power(1 + m2/
+ (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*
+ Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) -
+ xp))/Power(b,2),2)* Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1
+ + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) +
+ Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))),4)))/Power(b,3)) )/Power(b,4)
+ + (Power(m1,2)*Sqrt((m1 + m2)/b)*Power(yp,2)*zp* ((2*m1*Sqrt((m1
+ + m2)/b)*(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b)*yp* ((1 +
+ m1/b)*(-((b*m1)/(m1 + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 +
+ m2)) - xp,2) + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)))*
+ Power(1 - m2/ (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 +
+ m2))))/b,2)* Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 +
+ m2)) - xp))/Power(b,2), 2)*Power(zp,2) + Power((1 +
+ m1/b)*(-((b*m1)/(m1 + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 +
+ m2)) - xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))),2)* Power(1 + m2/
+ (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*
+ Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) -
+ xp))/Power(b,2), 2)*Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1
+ + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4))/Power(b,3)
+ + Sqrt((m1 + m2)/Power(b,3))*(1 - (m1*m2)/(b*(m1 + m2)))* (1 +
+ (m1*(1 + m1/(2.*(m1 + m2))))/b)*yp* Power(1 + m2/
+ (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*
+ Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) -
+ xp))/Power(b,2),2)*Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1
+ + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4)* (1 +
+ (m1*(-(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)* Power(yp,2))
+ - Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) - xp))/Power(b,2),
+ 2)*Power(zp,2) + 2*Power((1 + m1/b)*(-((b*m1)/(m1 + m2)) - xp) -
+ (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))* ((-2*Power(m2,2))/ (Power(1 +
+ (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*Power(yp,2) + Power(1 + m1/b -
+ (m1*(-((b*m1)/(m1 + m2)) - xp))/Power(b,2),2)* Power(zp,2) +
+ Power((1 + m1/b)*(-((b*m1)/(m1 + m2)) - xp) -
+ (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2)) + Power(1 + m2/
+ (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*
+ Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) -
+ xp))/Power(b,2),2)* Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1
+ + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),
+ 4)))/Power(b,3))))/Power(b,5) - (m1*zp*(-(Sqrt((m1 +
+ m2)/b)*(m1/(m1 + m2) + (m1*(3 + Power(m1,2)/(2.*Power(m1 +
+ m2,2)) + m2/(m1 + m2)))/b)) + (m1*Sqrt((m1 + m2)/b)* ((1 +
+ m2/(m1 + m2))*(-((b*m1)/(m1 + m2)) - xp) - (3*Power(-((b*m1)/(m1
+ + m2)) - xp,2) - 3*Power(yp,2) -
+ Power(zp,2))/(2.*b)))/Power(b,2))* ((2*m1*Sqrt((m1 + m2)/b)*(1 +
+ (m1*(1 + m1/(2.*(m1 + m2))))/b)*yp* ((1 + m1/b)*(-((b*m1)/(m1 +
+ m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)))* Power(1 - m2/
+ (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*
+ Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) -
+ xp))/Power(b,2), 2)*Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1
+ + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),2)* Power(1 +
+ m2/ (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*
+ Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) -
+ xp))/Power(b,2), 2)*Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1
+ + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4))/Power(b,3)
+ + Sqrt((m1 + m2)/Power(b,3))*(1 - (m1*m2)/(b*(m1 + m2)))* (1 +
+ (m1*(1 + m1/(2.*(m1 + m2))))/b)*yp* Power(1 + m2/
+ (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*
+ Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) -
+ xp))/Power(b,2),2)*Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1
+ + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4)* (1 +
+ (m1*(-(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)* Power(yp,2))
+ - Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) - xp))/Power(b,2),
+ 2)*Power(zp,2) + 2*Power((1 + m1/b)*(-((b*m1)/(m1 + m2)) - xp) -
+ (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))* ((-2*Power(m2,2))/ (Power(1 +
+ (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*Power(yp,2) + Power(1 + m1/b -
+ (m1*(-((b*m1)/(m1 + m2)) - xp))/Power(b,2),2)* Power(zp,2) +
+ Power((1 + m1/b)*(-((b*m1)/(m1 + m2)) - xp) -
+ (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2)) + Power(1 + m2/
+ (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*
+ Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) -
+ xp))/Power(b,2),2)* Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1
+ + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),
+ 4)))/Power(b,3))))/Power(b,2) + (m1*Sqrt((m1 + m2)/b)*(1 +
+ (m1*(1 + m1/(2.*(m1 + m2))))/b)*yp*zp* ((2*m1*Sqrt((m1 +
+ m2)/b)*(-(Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) -
+ xp))/Power(b,2),2)*Power(zp,2)) + Power((1 + m1/b)*(-((b*m1)/(m1
+ + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))* Power(1 - m2/
+ (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*
+ Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) -
+ xp))/Power(b,2), 2)*Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1
+ + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),2)* Power(1 +
+ m2/ (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*
+ Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) -
+ xp))/Power(b,2), 2)*Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1
+ + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4))/Power(b,3)
+ + Sqrt((m1 + m2)/Power(b,3))*(1 - (m1*m2)/(b*(m1 + m2)))* ((1 +
+ m1/b)*(-((b*m1)/(m1 + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 +
+ m2)) - xp,2) + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)))*
+ Power(1 + m2/ (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 +
+ m2))))/b,2)* Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 +
+ m2)) - xp))/Power(b,2),2)*Power(zp,2) + Power((1 +
+ m1/b)*(-((b*m1)/(m1 + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 +
+ m2)) - xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))),4)* (1 + (m1*(-(Power(1 +
+ (m1*(1 + m1/(2.*(m1 + m2))))/b,2)* Power(yp,2)) - Power(1 + m1/b
+ - (m1*(-((b*m1)/(m1 + m2)) - xp))/Power(b,2), 2)*Power(zp,2) +
+ 2*Power((1 + m1/b)*(-((b*m1)/(m1 + m2)) - xp) -
+ (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))* ((-2*Power(m2,2))/ (Power(1 +
+ (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*Power(yp,2) + Power(1 + m1/b -
+ (m1*(-((b*m1)/(m1 + m2)) - xp))/Power(b,2),2)* Power(zp,2) +
+ Power((1 + m1/b)*(-((b*m1)/(m1 + m2)) - xp) -
+ (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2)) + Power(1 + m2/
+ (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*
+ Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) -
+ xp))/Power(b,2),2)* Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1
+ + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),
+ 4)))/Power(b,3))))/Power(b,3) + (m1*Sqrt((m1 +
+ m2)/b)*yp*zp*(-(Sqrt((m1 + m2)/b)* (m1/(m1 + m2) + (m1*(3 +
+ Power(m1,2)/(2.*Power(m1 + m2,2)) + m2/(m1 + m2)))/b)) +
+ (m1*Sqrt((m1 + m2)/b)*((1 + m2/(m1 + m2))* (-((b*m1)/(m1 + m2))
+ - xp) - (3*Power(-((b*m1)/(m1 + m2)) - xp,2) - 3*Power(yp,2) -
+ Power(zp,2))/(2.*b)))/Power(b,2))* ((m1*(-(Power(1 + (m1*(1 +
+ m1/(2.*(m1 + m2))))/b,2)*Power(yp,2)) - Power(1 + m1/b -
+ (m1*(-((b*m1)/(m1 + m2)) - xp))/Power(b,2),2)* Power(zp,2) +
+ 2*Power((1 + m1/b)*(-((b*m1)/(m1 + m2)) - xp) -
+ (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))* Power(1 - m2/
+ (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*
+ Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) -
+ xp))/Power(b,2), 2)*Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1
+ + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4))/Power(b,3)
+ - Power(1 - m2/ (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 +
+ m2))))/b,2)* Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 +
+ m2)) - xp))/Power(b,2),2)*Power(zp,2) + Power((1 +
+ m1/b)*(-((b*m1)/(m1 + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 +
+ m2)) - xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))),2)/ Power(1 + m2/
+ (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*
+ Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) -
+ xp))/Power(b,2),2)*Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1
+ + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),2) -
+ (4*m1*Sqrt((m1 + m2)/Power(b,3))*Sqrt((m1 + m2)/b)* (1 -
+ (m1*m2)/(b*(m1 + m2)))* ((1 + m1/b)*(-((b*m1)/(m1 + m2)) - xp) -
+ (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)))* (-(Power(1 + (m1*(1 + m1/(2.*(m1
+ + m2))))/b,2)*Power(yp,2)) + Power(1 + m1/b - (m1*(-((b*m1)/(m1
+ + m2)) - xp))/Power(b,2),2)* Power(zp,2) - Power((1 +
+ m1/b)*(-((b*m1)/(m1 + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 +
+ m2)) - xp,2) + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))*
+ Power(1 - m2/ (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 +
+ m2))))/b,2)* Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 +
+ m2)) - xp))/Power(b,2), 2)*Power(zp,2) + Power((1 +
+ m1/b)*(-((b*m1)/(m1 + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 +
+ m2)) - xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))),2)* Power(1 + m2/
+ (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*
+ Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) -
+ xp))/Power(b,2), 2)*Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1
+ + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4))/Power(b,3)
+ + ((m1 + m2)*Power(1 - (m1*m2)/(b*(m1 + m2)),2)* (Power(1 +
+ (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*Power(yp,2) + Power((1 +
+ m1/b)*(-((b*m1)/(m1 + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 +
+ m2)) - xp,2) + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))*
+ Power(1 + m2/ (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 +
+ m2))))/b,2)* Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 +
+ m2)) - xp))/Power(b,2), 2)*Power(zp,2) + Power((1 +
+ m1/b)*(-((b*m1)/(m1 + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 +
+ m2)) - xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))),4)* (1 + (m1*(-(Power(1 +
+ (m1*(1 + m1/(2.*(m1 + m2))))/b,2)* Power(yp,2)) - Power(1 + m1/b
+ - (m1*(-((b*m1)/(m1 + m2)) - xp))/Power(b,2), 2)*Power(zp,2) +
+ 2*Power((1 + m1/b)*(-((b*m1)/(m1 + m2)) - xp) -
+ (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))* ((-2*Power(m2,2))/ (Power(1 +
+ (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*Power(yp,2) + Power(1 + m1/b -
+ (m1*(-((b*m1)/(m1 + m2)) - xp))/Power(b,2),2)* Power(zp,2) +
+ Power((1 + m1/b)*(-((b*m1)/(m1 + m2)) - xp) -
+ (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2)) + Power(1 + m2/
+ (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*
+ Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) -
+ xp))/Power(b,2),2)* Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1
+ + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),
+ 4)))/Power(b,3)))/Power(b,3)))/Power(b,3) ;
+
+gzz = (-4*Power(m1,2)*m2*Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) -
+ xp))/Power(b,2),2)*Power(zp,2)* ((1 + m1/b)*(-((b*m1)/(m1 + m2))
+ - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + Power(yp,2) -
+ Power(zp,2)))/ (2.*Power(b,2)))*(-(Power(1 + (m1*(1 + m1/(2.*(m1
+ + m2))))/b,2)* Power(yp,2)) - Power(1 + m1/b - (m1*(-((b*m1)/(m1
+ + m2)) - xp))/Power(b,2),2)*Power(zp,2) + 2*Power((1 +
+ m1/b)*(-((b*m1)/(m1 + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 +
+ m2)) - xp,2) + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))*
+ (1 + Power(m2,2)/ (4.*(Power(1 + (m1*(1 + m1/(2.*(m1 +
+ m2))))/b,2)*Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 +
+ m2)) - xp))/Power(b,2),2)* Power(zp,2) + Power((1 +
+ m1/b)*(-((b*m1)/(m1 + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 +
+ m2)) - xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))))* Power(1 + m2/
+ (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*Power(yp,2)
+ + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) -
+ xp))/Power(b,2),2)* Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1
+ + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4))/
+ (Power(b,5)*Power(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*
+ Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) -
+ xp))/Power(b,2),2)*Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1
+ + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2),1.5)) +
+ (4*Power(m1,2)*(m1 + m2)*(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b)*
+ Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) - xp))/Power(b,2),2)*
+ Power(yp,2)*Power(zp,2)*Power(1 - m2/(2.*Sqrt(Power(1 + (m1*(1 +
+ m1/(2.*(m1 + m2))))/b,2)*Power(yp,2) + Power(1 + m1/b -
+ (m1*(-((b*m1)/(m1 + m2)) - xp))/Power(b,2),2)* Power(zp,2) +
+ Power((1 + m1/b)*(-((b*m1)/(m1 + m2)) - xp) -
+ (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))),2)* Power(1 + m2/
+ (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*Power(yp,2)
+ + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) -
+ xp))/Power(b,2),2)* Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1
+ + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4))/Power(b,7)
+ + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) -
+ xp))/Power(b,2),2)* Power(1 + m2/ (2.*Sqrt(Power(1 + (m1*(1 +
+ m1/(2.*(m1 + m2))))/b,2)*Power(yp,2) + Power(1 + m1/b -
+ (m1*(-((b*m1)/(m1 + m2)) - xp))/Power(b,2),2)* Power(zp,2) +
+ Power((1 + m1/b)*(-((b*m1)/(m1 + m2)) - xp) -
+ (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))),4)* (1 + (m1*(-(Power(1 +
+ (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*Power(yp,2)) - Power(1 + m1/b
+ - (m1*(-((b*m1)/(m1 + m2)) - xp))/Power(b,2),2)* Power(zp,2) +
+ 2*Power((1 + m1/b)*(-((b*m1)/(m1 + m2)) - xp) -
+ (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))* ((-2*m2)/ (Power(1 + (m1*(1 +
+ m1/(2.*(m1 + m2))))/b,2)*Power(yp,2) + Power(1 + m1/b -
+ (m1*(-((b*m1)/(m1 + m2)) - xp))/Power(b,2),2)* Power(zp,2) +
+ Power((1 + m1/b)*(-((b*m1)/(m1 + m2)) - xp) -
+ (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2)) - (2*m2*Power(1 + m1/b -
+ (m1*(-((b*m1)/(m1 + m2)) - xp))/Power(b,2), 2)*Power(zp,2)*(1 +
+ Power(m2,2)/ (4.*(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*
+ Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) -
+ xp))/Power(b,2),2)* Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1
+ + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2)))))/
+ Power(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*Power(yp,2) +
+ Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) - xp))/Power(b,2),2)*
+ Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1 + m2)) - xp) -
+ (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2),1.5) + Power(1 + m2/
+ (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*
+ Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) -
+ xp))/Power(b,2), 2)*Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1
+ + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) +
+ Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))),4)))/Power(b,3)) +
+ (Power(m1,2)*Power(zp,2)*Power(1 + m2/(2.*Sqrt(Power(1 + (m1*(1
+ + m1/(2.*(m1 + m2))))/b,2)*Power(yp,2) + Power(1 + m1/b -
+ (m1*(-((b*m1)/(m1 + m2)) - xp))/Power(b,2),2)* Power(zp,2) +
+ Power((1 + m1/b)*(-((b*m1)/(m1 + m2)) - xp) -
+ (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))),4)* (1 + (m1*(-(Power(1 +
+ (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*Power(yp,2)) - Power(1 + m1/b
+ - (m1*(-((b*m1)/(m1 + m2)) - xp))/Power(b,2),2)* Power(zp,2) +
+ 2*Power((1 + m1/b)*(-((b*m1)/(m1 + m2)) - xp) -
+ (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))* ((-2*m2)/ (Power(1 + (m1*(1 +
+ m1/(2.*(m1 + m2))))/b,2)*Power(yp,2) + Power(1 + m1/b -
+ (m1*(-((b*m1)/(m1 + m2)) - xp))/Power(b,2), 2)*Power(zp,2) +
+ Power((1 + m1/b)*(-((b*m1)/(m1 + m2)) - xp) -
+ (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2)) - (2*m2*Power((1 +
+ m1/b)*(-((b*m1)/(m1 + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 +
+ m2)) - xp,2) + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2)*
+ (1 + Power(m2,2)/ (4.*(Power(1 + (m1*(1 + m1/(2.*(m1 +
+ m2))))/b,2)* Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 +
+ m2)) - xp))/Power(b,2),2)* Power(zp,2) + Power((1 +
+ m1/b)*(-((b*m1)/(m1 + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 +
+ m2)) - xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))))) /Power(Power(1 + (m1*(1 +
+ m1/(2.*(m1 + m2))))/b,2)* Power(yp,2) + Power(1 + m1/b -
+ (m1*(-((b*m1)/(m1 + m2)) - xp))/Power(b,2),2)*Power(zp,2) +
+ Power((1 + m1/b)*(-((b*m1)/(m1 + m2)) - xp) -
+ (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2),1.5) + Power(1 + m2/
+ (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*
+ Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) -
+ xp))/Power(b,2),2)* Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1
+ + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) +
+ Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))),4)))/Power(b,3)) )/Power(b,4)
+ - (2*Power(m1,2)*Sqrt((m1 + m2)/b)*yp*Power(zp,2)*
+ ((2*m1*Sqrt((m1 + m2)/b)*(1 + (m1*(1 + m1/(2.*(m1 +
+ m2))))/b)*yp* ((1 + m1/b)*(-((b*m1)/(m1 + m2)) - xp) -
+ (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)))* Power(1 - m2/ (2.*Sqrt(Power(1 +
+ (m1*(1 + m1/(2.*(m1 + m2))))/b,2)* Power(yp,2) + Power(1 + m1/b
+ - (m1*(-((b*m1)/(m1 + m2)) - xp))/Power(b,2), 2)*Power(zp,2) +
+ Power((1 + m1/b)*(-((b*m1)/(m1 + m2)) - xp) -
+ (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))),2)* Power(1 + m2/
+ (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*
+ Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) -
+ xp))/Power(b,2), 2)*Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1
+ + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4))/Power(b,3)
+ + Sqrt((m1 + m2)/Power(b,3))*(1 - (m1*m2)/(b*(m1 + m2)))* (1 +
+ (m1*(1 + m1/(2.*(m1 + m2))))/b)*yp* Power(1 + m2/
+ (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*
+ Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) -
+ xp))/Power(b,2),2)*Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1
+ + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4)* (1 +
+ (m1*(-(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)* Power(yp,2))
+ - Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) - xp))/Power(b,2),
+ 2)*Power(zp,2) + 2*Power((1 + m1/b)*(-((b*m1)/(m1 + m2)) - xp) -
+ (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))* ((-2*Power(m2,2))/ (Power(1 +
+ (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*Power(yp,2) + Power(1 + m1/b -
+ (m1*(-((b*m1)/(m1 + m2)) - xp))/Power(b,2),2)* Power(zp,2) +
+ Power((1 + m1/b)*(-((b*m1)/(m1 + m2)) - xp) -
+ (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2)) + Power(1 + m2/
+ (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*
+ Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) -
+ xp))/Power(b,2),2)* Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1
+ + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),
+ 4)))/Power(b,3))))/Power(b,5) + (Power(m1,2)*(m1 +
+ m2)*Power(yp,2)*Power(zp,2)* ((m1*(-(Power(1 + (m1*(1 +
+ m1/(2.*(m1 + m2))))/b,2)*Power(yp,2)) - Power(1 + m1/b -
+ (m1*(-((b*m1)/(m1 + m2)) - xp))/Power(b,2),2)* Power(zp,2) +
+ 2*Power((1 + m1/b)*(-((b*m1)/(m1 + m2)) - xp) -
+ (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))* Power(1 - m2/
+ (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*
+ Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) -
+ xp))/Power(b,2), 2)*Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1
+ + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4))/Power(b,3)
+ - Power(1 - m2/ (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 +
+ m2))))/b,2)* Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 +
+ m2)) - xp))/Power(b,2),2)*Power(zp,2) + Power((1 +
+ m1/b)*(-((b*m1)/(m1 + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 +
+ m2)) - xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))),2)/ Power(1 + m2/
+ (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*
+ Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) -
+ xp))/Power(b,2),2)*Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1
+ + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),2) -
+ (4*m1*Sqrt((m1 + m2)/Power(b,3))*Sqrt((m1 + m2)/b)* (1 -
+ (m1*m2)/(b*(m1 + m2)))* ((1 + m1/b)*(-((b*m1)/(m1 + m2)) - xp) -
+ (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)))* (-(Power(1 + (m1*(1 + m1/(2.*(m1
+ + m2))))/b,2)*Power(yp,2)) + Power(1 + m1/b - (m1*(-((b*m1)/(m1
+ + m2)) - xp))/Power(b,2),2)* Power(zp,2) - Power((1 +
+ m1/b)*(-((b*m1)/(m1 + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 +
+ m2)) - xp,2) + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))*
+ Power(1 - m2/ (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 +
+ m2))))/b,2)* Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 +
+ m2)) - xp))/Power(b,2), 2)*Power(zp,2) + Power((1 +
+ m1/b)*(-((b*m1)/(m1 + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 +
+ m2)) - xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))),2)* Power(1 + m2/
+ (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*
+ Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) -
+ xp))/Power(b,2), 2)*Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1
+ + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4))/Power(b,3)
+ + ((m1 + m2)*Power(1 - (m1*m2)/(b*(m1 + m2)),2)* (Power(1 +
+ (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*Power(yp,2) + Power((1 +
+ m1/b)*(-((b*m1)/(m1 + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 +
+ m2)) - xp,2) + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))*
+ Power(1 + m2/ (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 +
+ m2))))/b,2)* Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 +
+ m2)) - xp))/Power(b,2), 2)*Power(zp,2) + Power((1 +
+ m1/b)*(-((b*m1)/(m1 + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 +
+ m2)) - xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))),4)* (1 + (m1*(-(Power(1 +
+ (m1*(1 + m1/(2.*(m1 + m2))))/b,2)* Power(yp,2)) - Power(1 + m1/b
+ - (m1*(-((b*m1)/(m1 + m2)) - xp))/Power(b,2), 2)*Power(zp,2) +
+ 2*Power((1 + m1/b)*(-((b*m1)/(m1 + m2)) - xp) -
+ (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2))* ((-2*Power(m2,2))/ (Power(1 +
+ (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*Power(yp,2) + Power(1 + m1/b -
+ (m1*(-((b*m1)/(m1 + m2)) - xp))/Power(b,2),2)* Power(zp,2) +
+ Power((1 + m1/b)*(-((b*m1)/(m1 + m2)) - xp) -
+ (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + Power(yp,2) -
+ Power(zp,2)))/(2.*Power(b,2)),2)) + Power(1 + m2/
+ (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*
+ Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) -
+ xp))/Power(b,2),2)* Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1
+ + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) +
+ Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),
+ 4)))/Power(b,3)))/Power(b,3)))/Power(b,7) ;
+
+*results=g00;
+*(results+1)=g0x;
+*(results+2)=g0y;
+*(results+3)=g0z;
+*(results+4)=gxx;
+*(results+5)=gxy;
+*(results+6)=gxz;
+*(results+7)=gyy;
+*(results+8)=gyz;
+*(results+9)=gzz;
+
+
+}
+
+void Alvireg3(double *x, double *y, double *z, double *zm1, double *zm2, double *zr12, double *results) {
+
+double g00,g0x,g0y,g0z,gxx,gxy,gxz,gyy,gyz,gzz;
+
+double m1;
+double m2;
+double b;
+double xp;
+double yp;
+double zp;
+
+m1 = *zm1;
+m2 = *zm2;
+b=*zr12;
+xp = *x;
+yp = *y;
+zp = *z;
+
+g00 =
+ -1 + (2*m1)/Sqrt(Power(-b/2. + xp,2) + Power(yp,2) +
+ Power(zp,2)) + (2*m2)/Sqrt(Power(b/2. + xp,2) + Power(yp,2) +
+ Power(zp,2)) - (m1*m2*Power(yp,2)*(m2/ Power(Power(-b/2. + xp,2)
+ + Power(yp,2) + Power(zp,2),1.5) + m1/Power(Power(b/2. + xp,2) +
+ Power(yp,2) + Power(zp,2),1.5)))/ (b*(m1 + m2)) - (7*m1*m2*(1/
+ Sqrt(Power(-b/2. + xp,2) + Power(yp,2) + Power(zp,2)) -
+ 1/Sqrt(Power(b/2. + xp,2) + Power(yp,2) + Power(zp,2))))/b -
+ (2*m1*m2*(1/Sqrt(Power(-b/2. + xp,2) + Power(yp,2) +
+ Power(zp,2)) + 1/Sqrt(Power(b/2. + xp,2) + Power(yp,2) +
+ Power(zp,2))))/b + (3*m1*m2*(m2/Sqrt(Power(-b/2. + xp,2) +
+ Power(yp,2) + Power(zp,2)) + m1/Sqrt(Power(b/2. + xp,2) +
+ Power(yp,2) + Power(zp,2))))/ (b*(m1 + m2)) - 2*Power(m1/
+ Sqrt(Power(-b/2. + xp,2) + Power(yp,2) + Power(zp,2)) +
+ m2/Sqrt(Power(b/2. + xp,2) + Power(yp,2) + Power(zp,2)),2) +
+ ((m1 + m2)*(Power(xp,2) + Power(yp,2))* (1 +
+ (2*m1)/Sqrt(Power(-b/2. + xp,2) + Power(yp,2) + Power(zp,2)) +
+ (2*m2)/Sqrt(Power(b/2. + xp,2) + Power(yp,2) + Power(zp,2))))/
+ Power(b,3) ;
+g0x =
+ Sqrt((m1 + m2)/Power(b,3))*yp*(1 + (2*m1)/Sqrt(Power(-b/2. +
+ xp,2) + Power(yp,2) + Power(zp,2)) + (2*m2)/Sqrt(Power(b/2. +
+ xp,2) + Power(yp,2) + Power(zp,2))) ;
+g0y =
+ (-4*m1*m2*Sqrt((m1 + m2)/b)*(1/ Sqrt(Power(-b/2. + xp,2) +
+ Power(yp,2) + Power(zp,2)) - 1/Sqrt(Power(b/2. + xp,2) +
+ Power(yp,2) + Power(zp,2))))/(m1 + m2) + Sqrt((m1 +
+ m2)/Power(b,3))*xp* (1 + (2*m1)/Sqrt(Power(-b/2. + xp,2) +
+ Power(yp,2) + Power(zp,2)) + (2*m2)/Sqrt(Power(b/2. + xp,2) +
+ Power(yp,2) + Power(zp,2))) ;
+g0z = 0;
+gxx =
+ 1 + (2*m1)/Sqrt(Power(-b/2. + xp,2) + Power(yp,2) + Power(zp,2))
+ + (2*m2)/Sqrt(Power(b/2. + xp,2) + Power(yp,2) + Power(zp,2)) ;
+gxy = 0;
+gxz = 0;
+gyy =
+ 1 + (2*m1)/Sqrt(Power(-b/2. + xp,2) + Power(yp,2) + Power(zp,2))
+ + (2*m2)/Sqrt(Power(b/2. + xp,2) + Power(yp,2) + Power(zp,2)) ;
+gyz = 0;
+gzz =
+ 1 + (2*m1)/Sqrt(Power(-b/2. + xp,2) + Power(yp,2) + Power(zp,2))
+ + (2*m2)/Sqrt(Power(b/2. + xp,2) + Power(yp,2) + Power(zp,2)) ;
+
+*results=g00;
+*(results+1)=g0x;
+*(results+2)=g0y;
+*(results+3)=g0z;
+*(results+4)=gxx;
+*(results+5)=gxy;
+*(results+6)=gxz;
+*(results+7)=gyy;
+*(results+8)=gyz;
+*(results+9)=gzz;
+
+}
+
+void Alvireg4(double *x, double *y, double *z, double *zm1, double *zm2, double *zr12, double *results) {
+
+double g00,g0x,g0y,g0z,gxx,gxy,gxz,gyy,gyz,gzz;
+
+double m1;
+double m2;
+double b;
+double xp;
+double yp;
+double zp;
+
+m1 = *zm1;
+m2 = *zm2;
+b=*zr12;
+xp = *x;
+yp = *y;
+zp = *z;
+
+g00 =
+ -1 - (2*Power(m1 + m2,2))/(Power(xp,2) + Power(yp,2) +
+ Power(zp,2)) + (2*(m1 + m2)*(1 - (m1*m2)/(2.*b*(m1 + m2))))/
+ Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2)) - (12*m1*(m1 -
+ m2)*m2*Power((m1 + m2)/b,2.5)* (yp*cos(Sqrt((m1 +
+ m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2)))
+ + xp*sin(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) +
+ Power(yp,2) + Power(zp,2)))))/ (Power(b,2)*Power(m1 +
+ m2,2)*(Power(xp,2) + Power(yp,2) + Power(zp,2))) + (4*m1*m2*(m1
+ + m2)*Power(xp*cos(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2)
+ + Power(yp,2) + Power(zp,2))) - yp*sin(Sqrt((m1 +
+ m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) +
+ Power(zp,2))),2)* (1 - ((m1 - m2)*((Sqrt((m1 + m2)/b)*
+ (yp*cos(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) +
+ Power(yp,2) + Power(zp,2))) + xp*sin(Sqrt((m1 + m2)/Power(b,3))*
+ Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2)))))/
+ Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2)) +
+ (b*(xp*cos(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) +
+ Power(yp,2) + Power(zp,2))) - yp*sin(Sqrt((m1 + m2)/Power(b,3))*
+ Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2)))))/ (Power(xp,2) +
+ Power(yp,2) + Power(zp,2))))/(m1 + m2)))/
+ (Power(b,4)*Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))) +
+ (2*m1*m2*(m1 + m2)*Power(yp*cos(Sqrt((m1 + m2)/Power(b,3))*
+ Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))) + xp*sin(Sqrt((m1
+ + m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) +
+ Power(zp,2))),2)* (-2/b + ((m1 - m2)*((Sqrt((m1 + m2)/b)*
+ (yp*cos(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) +
+ Power(yp,2) + Power(zp,2))) + xp*sin(Sqrt((m1 + m2)/Power(b,3))*
+ Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2)))))/b +
+ (xp*cos(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) +
+ Power(yp,2) + Power(zp,2))) - yp*sin(Sqrt((m1 + m2)/Power(b,3))*
+ Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))))/
+ Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))))/ ((m1 +
+ m2)*Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2)))))/
+ (Power(b,3)*Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))) +
+ (m1*m2*((6*b*Sqrt((m1 + m2)/b)* (yp*cos(Sqrt((m1 +
+ m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2)))
+ + xp*sin(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) +
+ Power(yp,2) + Power(zp,2))))* (xp*cos(Sqrt((m1 +
+ m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2)))
+ - yp*sin(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) +
+ Power(yp,2) + Power(zp,2)))))/ Sqrt(Power(xp,2) + Power(yp,2) +
+ Power(zp,2)) + (2*(m1 + m2)*(Power(yp*cos(Sqrt((m1 +
+ m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2)))
+ + xp*sin(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) +
+ Power(yp,2) + Power(zp,2))),2) - Power(xp*cos(Sqrt((m1 +
+ m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2)))
+ - yp*sin(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) +
+ Power(yp,2) + Power(zp,2))),2)))/b + (Power(b,2)*(-Power(xp,2) -
+ Power(yp,2) - Power(zp,2) + 3*Power(xp*cos(Sqrt((m1 +
+ m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2)))
+ - yp*sin(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) +
+ Power(yp,2) + Power(zp,2))),2)))/ (Power(xp,2) + Power(yp,2) +
+ Power(zp,2))))/ ((m1 + m2)*Power(Power(xp,2) + Power(yp,2) +
+ Power(zp,2),1.5)) + (m1*(m1 - m2)*m2*((3*Power(b,2)*Sqrt((m1 +
+ m2)/b)* (yp*cos(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) +
+ Power(yp,2) + Power(zp,2))) + xp*sin(Sqrt((m1 + m2)/Power(b,3))*
+ Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))))* (Power(xp,2) +
+ Power(yp,2) + Power(zp,2) - 5*Power(xp*cos(Sqrt((m1 +
+ m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2)))
+ - yp*sin(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) +
+ Power(yp,2) + Power(zp,2))),2)))/ (Power(xp,2) + Power(yp,2) +
+ Power(zp,2)) + (Power(b,3)*(xp*cos(Sqrt((m1 + m2)/Power(b,3))*
+ Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))) - yp*sin(Sqrt((m1
+ + m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) +
+ Power(zp,2))))* (3*(Power(xp,2) + Power(yp,2) + Power(zp,2)) -
+ 5*Power(xp*cos(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) +
+ Power(yp,2) + Power(zp,2))) - yp*sin(Sqrt((m1 + m2)/Power(b,3))*
+ Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))),2)))/
+ Power(Power(xp,2) + Power(yp,2) + Power(zp,2),1.5) + (2*(m1 +
+ m2)*(xp*cos(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) +
+ Power(yp,2) + Power(zp,2))) - yp*sin(Sqrt((m1 + m2)/Power(b,3))*
+ Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))))* (-Power(xp,2) -
+ Power(yp,2) - Power(zp,2) - 6*Power(yp*cos(Sqrt((m1 +
+ m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2)))
+ + xp*sin(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) +
+ Power(yp,2) + Power(zp,2))),2) + 3*Power(xp*cos(Sqrt((m1 +
+ m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2)))
+ - yp*sin(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) +
+ Power(yp,2) + Power(zp,2))),2)))/ Sqrt(Power(xp,2) + Power(yp,2)
+ + Power(zp,2)) + Power((m1 + m2)/b,1.5)*(yp* cos(Sqrt((m1 +
+ m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2)))
+ + xp*sin(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) +
+ Power(yp,2) + Power(zp,2))))* (-Power(xp,2) - Power(yp,2) -
+ Power(zp,2) - 2*Power(yp*cos(Sqrt((m1 + m2)/Power(b,3))*
+ Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))) + xp*sin(Sqrt((m1
+ + m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) +
+ Power(zp,2))),2) + 7*Power(xp*cos(Sqrt((m1 + m2)/Power(b,3))*
+ Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))) - yp*sin(Sqrt((m1
+ + m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) +
+ Power(zp,2))),2))))/ (Power(m1 + m2,2)*Power(Power(xp,2) +
+ Power(yp,2) + Power(zp,2),2)) + (2*(m1 + m2)*(xp*cos(Sqrt((m1 +
+ m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2)))
+ - yp*sin(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) +
+ Power(yp,2) + Power(zp,2))))* ((-4*m1*m2*(Sqrt((m1 + m2)/b)*
+ (yp*cos(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) +
+ Power(yp,2) + Power(zp,2))) + xp*sin(Sqrt((m1 + m2)/Power(b,3))*
+ Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2)))) +
+ (b*(xp*cos(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) +
+ Power(yp,2) + Power(zp,2))) - yp*sin(Sqrt((m1 + m2)/Power(b,3))*
+ Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2)))))/
+ Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))))/ ((m1 +
+ m2)*(Power(xp,2) + Power(yp,2) + Power(zp,2))) + (2*m1*(m1 -
+ m2)*m2*((6*b*Sqrt((m1 + m2)/b)* (yp*cos(Sqrt((m1 +
+ m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2)))
+ + xp*sin(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) +
+ Power(yp,2) + Power(zp,2))))* (xp*cos(Sqrt((m1 +
+ m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2)))
+ - yp*sin(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) +
+ Power(yp,2) + Power(zp,2)))))/ Sqrt(Power(xp,2) + Power(yp,2) +
+ Power(zp,2)) + (Power(b,2)*(-Power(xp,2) - Power(yp,2) -
+ Power(zp,2) + 3*(xp*cos(Sqrt((m1 + m2)/Power(b,3))*
+ Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))) - yp*sin(Sqrt((m1
+ + m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) +
+ Power(zp,2))))))/ (Power(xp,2) + Power(yp,2) + Power(zp,2)) +
+ ((m1 + m2)*(2*Power(yp* cos(Sqrt((m1 + m2)/Power(b,3))*
+ Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))) + xp*sin(Sqrt((m1
+ + m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) +
+ Power(zp,2))),2) - 3*Power(xp*cos(Sqrt((m1 + m2)/Power(b,3))*
+ Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))) - yp*sin(Sqrt((m1
+ + m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) +
+ Power(zp,2))),2)))/b) )/(Power(m1 + m2,2)*Power(Power(xp,2) +
+ Power(yp,2) + Power(zp,2), 1.5))))/Power(b,2) -
+ (4*m1*m2*Sqrt((m1 + m2)/b)*(yp* cos(Sqrt((m1 + m2)/Power(b,3))*
+ Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))) + xp*sin(Sqrt((m1
+ + m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) +
+ Power(zp,2))))* ((2*(xp*cos(Sqrt((m1 + m2)/Power(b,3))*
+ Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))) - yp*sin(Sqrt((m1
+ + m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) +
+ Power(zp,2)))))/b - ((m1 - m2)*((4*Sqrt((m1 + m2)/b)*
+ (yp*cos(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) +
+ Power(yp,2) + Power(zp,2))) + xp*sin(Sqrt((m1 + m2)/Power(b,3))*
+ Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))))*
+ (xp*cos(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) +
+ Power(yp,2) + Power(zp,2))) - yp*sin(Sqrt((m1 + m2)/Power(b,3))*
+ Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2)))))/b +
+ (-Power(xp,2) - Power(yp,2) - Power(zp,2) +
+ 3*Power(xp*cos(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) +
+ Power(yp,2) + Power(zp,2))) - yp*sin(Sqrt((m1 + m2)/Power(b,3))*
+ Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))),2))/
+ Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))))/ ((m1 +
+ m2)*Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2)))))/
+ (b*(Power(xp,2) + Power(yp,2) + Power(zp,2))) + ((m1 +
+ m2)*(Power(xp,2) + Power(yp,2))* (1 + Power(m1 +
+ m2,2)/(Power(xp,2) + Power(yp,2) + Power(zp,2)) + (2*(m1 +
+ m2)*(1 - (m1*m2)/(2.*b*(m1 + m2))))/ Sqrt(Power(xp,2) +
+ Power(yp,2) + Power(zp,2)) + (2*m1*(m1 - m2)*m2*(Sqrt((m1 +
+ m2)/b)* (yp*cos(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) +
+ Power(yp,2) + Power(zp,2))) + xp*sin(Sqrt((m1 + m2)/Power(b,3))*
+ Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2)))) +
+ (b*(xp*cos(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) +
+ Power(yp,2) + Power(zp,2))) - yp*sin(Sqrt((m1 + m2)/Power(b,3))*
+ Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2)))))/
+ Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))))/ (b*(m1 +
+ m2)*(Power(xp,2) + Power(yp,2) + Power(zp,2))) +
+ (m1*m2*((6*b*Sqrt((m1 + m2)/b)* (yp*cos(Sqrt((m1 +
+ m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2)))
+ + xp*sin(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) +
+ Power(yp,2) + Power(zp,2))))* (xp*cos(Sqrt((m1 +
+ m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2)))
+ - yp*sin(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) +
+ Power(yp,2) + Power(zp,2)))))/ Sqrt(Power(xp,2) + Power(yp,2) +
+ Power(zp,2)) + (2*(m1 + m2)*(Power(yp* cos(Sqrt((m1 +
+ m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2)))
+ + xp*sin(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) +
+ Power(yp,2) + Power(zp,2))),2) - Power(xp*cos(Sqrt((m1 +
+ m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2)))
+ - yp*sin(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) +
+ Power(yp,2) + Power(zp,2))),2)))/b + (Power(b,2)*(-Power(xp,2) -
+ Power(yp,2) - Power(zp,2) + 3*Power(xp*cos(Sqrt((m1 +
+ m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2)))
+ - yp*sin(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) +
+ Power(yp,2) + Power(zp,2))),2)))/ (Power(xp,2) + Power(yp,2) +
+ Power(zp,2))))/ ((m1 + m2)*Power(Power(xp,2) + Power(yp,2) +
+ Power(zp,2),1.5)) + (m1*(m1 - m2)*m2*((3*Power(b,2)*Sqrt((m1 +
+ m2)/b)* (yp*cos(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) +
+ Power(yp,2) + Power(zp,2))) + xp*sin(Sqrt((m1 + m2)/Power(b,3))*
+ Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))))* (Power(xp,2) +
+ Power(yp,2) + Power(zp,2) - 5*Power(xp*cos(Sqrt((m1 +
+ m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2)))
+ - yp*sin(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) +
+ Power(yp,2) + Power(zp,2))),2)))/ (Power(xp,2) + Power(yp,2) +
+ Power(zp,2)) + (Power(b,3)*(xp*cos(Sqrt((m1 + m2)/Power(b,3))*
+ Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))) - yp*sin(Sqrt((m1
+ + m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) +
+ Power(zp,2))))* (3*(Power(xp,2) + Power(yp,2) + Power(zp,2)) -
+ 5*Power(xp*cos(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) +
+ Power(yp,2) + Power(zp,2))) - yp*sin(Sqrt((m1 + m2)/Power(b,3))*
+ Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))),2)))/
+ Power(Power(xp,2) + Power(yp,2) + Power(zp,2),1.5) + (2*(m1 +
+ m2)*(xp*cos(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) +
+ Power(yp,2) + Power(zp,2))) - yp*sin(Sqrt((m1 + m2)/Power(b,3))*
+ Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))))* (-Power(xp,2) -
+ Power(yp,2) - Power(zp,2) - 6*Power(yp*cos(Sqrt((m1 +
+ m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2)))
+ + xp*sin(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) +
+ Power(yp,2) + Power(zp,2))),2) + 3*Power(xp*cos(Sqrt((m1 +
+ m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2)))
+ - yp*sin(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) +
+ Power(yp,2) + Power(zp,2))),2)))/ Sqrt(Power(xp,2) + Power(yp,2)
+ + Power(zp,2)) + Power((m1 + m2)/b,1.5)* (yp*cos(Sqrt((m1 +
+ m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2)))
+ + xp*sin(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) +
+ Power(yp,2) + Power(zp,2))))* (-Power(xp,2) - Power(yp,2) -
+ Power(zp,2) - 2*Power(yp*cos(Sqrt((m1 + m2)/Power(b,3))*
+ Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))) + xp*sin(Sqrt((m1
+ + m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) +
+ Power(zp,2))),2) + 7*Power(xp*cos(Sqrt((m1 + m2)/Power(b,3))*
+ Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))) - yp*sin(Sqrt((m1
+ + m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) +
+ Power(zp,2))),2))))/ (Power(m1 + m2,2)*Power(Power(xp,2) +
+ Power(yp,2) + Power(zp,2),2)))) /Power(b,3) ;
+g0x =
+ (4*m1*m2*Power((m1 + m2)/b,1.5)* sin(Sqrt((m1 + m2)/Power(b,3))*
+ Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2)))* (xp*cos(Sqrt((m1
+ + m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) +
+ Power(zp,2))) - yp*sin(Sqrt((m1 + m2)/Power(b,3))*
+ Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))))* (1 - ((m1 -
+ m2)*((Sqrt((m1 + m2)/b)* (yp*cos(Sqrt((m1 + m2)/Power(b,3))*
+ Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))) + xp*sin(Sqrt((m1
+ + m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) +
+ Power(zp,2)))))/ Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2)) +
+ (b*(xp*cos(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) +
+ Power(yp,2) + Power(zp,2))) - yp*sin(Sqrt((m1 + m2)/Power(b,3))*
+ Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2)))))/ (Power(xp,2) +
+ Power(yp,2) + Power(zp,2))))/(m1 + m2)))/ (b*(m1 +
+ m2)*Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))) -
+ (2*m1*m2*Sqrt((m1 + m2)/b)*cos(Sqrt((m1 + m2)/Power(b,3))*
+ Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2)))* (yp*cos(Sqrt((m1
+ + m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) +
+ Power(zp,2))) + xp*sin(Sqrt((m1 + m2)/Power(b,3))*
+ Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))))* (-2/b + ((m1 -
+ m2)*((Sqrt((m1 + m2)/b)* (yp*cos(Sqrt((m1 + m2)/Power(b,3))*
+ Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))) + xp*sin(Sqrt((m1
+ + m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) +
+ Power(zp,2)))))/b + (xp*cos(Sqrt((m1 + m2)/Power(b,3))*
+ Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))) - yp*sin(Sqrt((m1
+ + m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) +
+ Power(zp,2))))/ Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))))/
+ ((m1 + m2)*Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2)))))/
+ (b*Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))) + Sqrt((m1 +
+ m2)/b)*sin(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) +
+ Power(yp,2) + Power(zp,2)))* ((-4*m1*m2*(Sqrt((m1 + m2)/b)*
+ (yp*cos(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) +
+ Power(yp,2) + Power(zp,2))) + xp*sin(Sqrt((m1 + m2)/Power(b,3))*
+ Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2)))) +
+ (b*(xp*cos(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) +
+ Power(yp,2) + Power(zp,2))) - yp*sin(Sqrt((m1 + m2)/Power(b,3))*
+ Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2)))))/
+ Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))))/ ((m1 +
+ m2)*(Power(xp,2) + Power(yp,2) + Power(zp,2))) + (2*m1*(m1 -
+ m2)*m2*((6*b*Sqrt((m1 + m2)/b)* (yp*cos(Sqrt((m1 +
+ m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2)))
+ + xp*sin(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) +
+ Power(yp,2) + Power(zp,2))))* (xp*cos(Sqrt((m1 +
+ m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2)))
+ - yp*sin(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) +
+ Power(yp,2) + Power(zp,2)))))/ Sqrt(Power(xp,2) + Power(yp,2) +
+ Power(zp,2)) + (Power(b,2)*(-Power(xp,2) - Power(yp,2) -
+ Power(zp,2) + 3*(xp*cos(Sqrt((m1 + m2)/Power(b,3))*
+ Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))) - yp*sin(Sqrt((m1
+ + m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) +
+ Power(zp,2))))))/ (Power(xp,2) + Power(yp,2) + Power(zp,2)) +
+ ((m1 + m2)*(2*Power(yp* cos(Sqrt((m1 + m2)/Power(b,3))*
+ Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))) + xp*sin(Sqrt((m1
+ + m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) +
+ Power(zp,2))),2) - 3*Power(xp*cos(Sqrt((m1 + m2)/Power(b,3))*
+ Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))) - yp*sin(Sqrt((m1
+ + m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) +
+ Power(zp,2))),2)))/b))/ (Power(m1 + m2,2)*Power(Power(xp,2) +
+ Power(yp,2) + Power(zp,2),1.5))) + (2*m1*m2*cos(Sqrt((m1 +
+ m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2)))*
+ ((2*(xp*cos(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) +
+ Power(yp,2) + Power(zp,2))) - yp*sin(Sqrt((m1 + m2)/Power(b,3))*
+ Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2)))))/b - ((m1 -
+ m2)*((4*Sqrt((m1 + m2)/b)* (yp*cos(Sqrt((m1 + m2)/Power(b,3))*
+ Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))) + xp*sin(Sqrt((m1
+ + m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) +
+ Power(zp,2))))* (xp*cos(Sqrt((m1 + m2)/Power(b,3))*
+ Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))) - yp*sin(Sqrt((m1
+ + m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) +
+ Power(zp,2)))))/b + (-Power(xp,2) - Power(yp,2) - Power(zp,2) +
+ 3*Power(xp*cos(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) +
+ Power(yp,2) + Power(zp,2))) - yp*sin(Sqrt((m1 + m2)/Power(b,3))*
+ Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))),2))/
+ Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))))/ ((m1 +
+ m2)*Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2)))))/
+ (Power(xp,2) + Power(yp,2) + Power(zp,2)) - Sqrt((m1 +
+ m2)/Power(b,3))*yp* (1 + Power(m1 + m2,2)/(Power(xp,2) +
+ Power(yp,2) + Power(zp,2)) + (2*(m1 + m2)*(1 - (m1*m2)/(2.*b*(m1
+ + m2))))/ Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2)) +
+ (2*m1*(m1 - m2)*m2*(Sqrt((m1 + m2)/b)* (yp*cos(Sqrt((m1 +
+ m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2)))
+ + xp*sin(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) +
+ Power(yp,2) + Power(zp,2)))) + (b*(xp*cos(Sqrt((m1 +
+ m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2)))
+ - yp*sin(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) +
+ Power(yp,2) + Power(zp,2)))))/ Sqrt(Power(xp,2) + Power(yp,2) +
+ Power(zp,2))))/ (b*(m1 + m2)*(Power(xp,2) + Power(yp,2) +
+ Power(zp,2))) + (m1*m2*((6*b*Sqrt((m1 + m2)/b)* (yp*cos(Sqrt((m1
+ + m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) +
+ Power(zp,2))) + xp*sin(Sqrt((m1 + m2)/Power(b,3))*
+ Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))))*
+ (xp*cos(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) +
+ Power(yp,2) + Power(zp,2))) - yp*sin(Sqrt((m1 + m2)/Power(b,3))*
+ Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2)))))/
+ Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2)) + (2*(m1 +
+ m2)*(Power(yp* cos(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2)
+ + Power(yp,2) + Power(zp,2))) + xp*sin(Sqrt((m1 +
+ m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) +
+ Power(zp,2))),2) - Power(xp*cos(Sqrt((m1 + m2)/Power(b,3))*
+ Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))) - yp*sin(Sqrt((m1
+ + m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) +
+ Power(zp,2))),2)))/b + (Power(b,2)*(-Power(xp,2) - Power(yp,2) -
+ Power(zp,2) + 3*Power(xp*cos(Sqrt((m1 + m2)/Power(b,3))*
+ Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))) - yp*sin(Sqrt((m1
+ + m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) +
+ Power(zp,2))),2)))/ (Power(xp,2) + Power(yp,2) + Power(zp,2))))/
+ ((m1 + m2)*Power(Power(xp,2) + Power(yp,2) + Power(zp,2),1.5)) +
+ (m1*(m1 - m2)*m2*((3*Power(b,2)*Sqrt((m1 + m2)/b)*
+ (yp*cos(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) +
+ Power(yp,2) + Power(zp,2))) + xp*sin(Sqrt((m1 + m2)/Power(b,3))*
+ Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))))* (Power(xp,2) +
+ Power(yp,2) + Power(zp,2) - 5*Power(xp*cos(Sqrt((m1 +
+ m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2)))
+ - yp*sin(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) +
+ Power(yp,2) + Power(zp,2))),2)))/ (Power(xp,2) + Power(yp,2) +
+ Power(zp,2)) + (Power(b,3)*(xp*cos(Sqrt((m1 + m2)/Power(b,3))*
+ Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))) - yp*sin(Sqrt((m1
+ + m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) +
+ Power(zp,2))))* (3*(Power(xp,2) + Power(yp,2) + Power(zp,2)) -
+ 5*Power(xp*cos(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) +
+ Power(yp,2) + Power(zp,2))) - yp*sin(Sqrt((m1 + m2)/Power(b,3))*
+ Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))),2)))/
+ Power(Power(xp,2) + Power(yp,2) + Power(zp,2),1.5) + (2*(m1 +
+ m2)*(xp*cos(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) +
+ Power(yp,2) + Power(zp,2))) - yp*sin(Sqrt((m1 + m2)/Power(b,3))*
+ Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))))* (-Power(xp,2) -
+ Power(yp,2) - Power(zp,2) - 6*Power(yp*cos(Sqrt((m1 +
+ m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2)))
+ + xp*sin(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) +
+ Power(yp,2) + Power(zp,2))),2) + 3*Power(xp*cos(Sqrt((m1 +
+ m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2)))
+ - yp*sin(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) +
+ Power(yp,2) + Power(zp,2))),2)))/ Sqrt(Power(xp,2) + Power(yp,2)
+ + Power(zp,2)) + Power((m1 + m2)/b,1.5)* (yp*cos(Sqrt((m1 +
+ m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2)))
+ + xp*sin(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) +
+ Power(yp,2) + Power(zp,2))))* (-Power(xp,2) - Power(yp,2) -
+ Power(zp,2) - 2*Power(yp*cos(Sqrt((m1 + m2)/Power(b,3))*
+ Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))) + xp*sin(Sqrt((m1
+ + m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) +
+ Power(zp,2))),2) + 7*Power(xp*cos(Sqrt((m1 + m2)/Power(b,3))*
+ Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))) - yp*sin(Sqrt((m1
+ + m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) +
+ Power(zp,2))),2))))/ (Power(m1 + m2,2)*Power(Power(xp,2) +
+ Power(yp,2) + Power(zp,2),2))) + (6*m1*(m1 -
+ m2)*m2*(xp*cos(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) +
+ Power(yp,2) + Power(zp,2))) - yp*sin(Sqrt((m1 + m2)/Power(b,3))*
+ Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))))*
+ (xp*cos(2*Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) +
+ Power(yp,2) + Power(zp,2))) - yp*sin(2*Sqrt((m1 +
+ m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) +
+ Power(zp,2)))))/ (Power(b,3)*(Power(xp,2) + Power(yp,2) +
+ Power(zp,2))) ;
+g0y =
+ (4*m1*m2*Power((m1 + m2)/b,1.5)* cos(Sqrt((m1 + m2)/Power(b,3))*
+ Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2)))* (xp*cos(Sqrt((m1
+ + m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) +
+ Power(zp,2))) - yp*sin(Sqrt((m1 + m2)/Power(b,3))*
+ Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))))* (1 - ((m1 -
+ m2)*((Sqrt((m1 + m2)/b)* (yp*cos(Sqrt((m1 + m2)/Power(b,3))*
+ Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))) + xp*sin(Sqrt((m1
+ + m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) +
+ Power(zp,2)))))/ Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2)) +
+ (b*(xp*cos(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) +
+ Power(yp,2) + Power(zp,2))) - yp*sin(Sqrt((m1 + m2)/Power(b,3))*
+ Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2)))))/ (Power(xp,2) +
+ Power(yp,2) + Power(zp,2))))/(m1 + m2)))/ (b*(m1 +
+ m2)*Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))) +
+ (2*m1*m2*Sqrt((m1 + m2)/b)*sin(Sqrt((m1 + m2)/Power(b,3))*
+ Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2)))* (yp*cos(Sqrt((m1
+ + m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) +
+ Power(zp,2))) + xp*sin(Sqrt((m1 + m2)/Power(b,3))*
+ Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))))* (-2/b + ((m1 -
+ m2)*((Sqrt((m1 + m2)/b)* (yp*cos(Sqrt((m1 + m2)/Power(b,3))*
+ Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))) + xp*sin(Sqrt((m1
+ + m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) +
+ Power(zp,2)))))/b + (xp*cos(Sqrt((m1 + m2)/Power(b,3))*
+ Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))) - yp*sin(Sqrt((m1
+ + m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) +
+ Power(zp,2))))/ Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))))/
+ ((m1 + m2)*Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2)))))/
+ (b*Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))) + Sqrt((m1 +
+ m2)/b)*cos(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) +
+ Power(yp,2) + Power(zp,2)))* ((-4*m1*m2*(Sqrt((m1 + m2)/b)*
+ (yp*cos(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) +
+ Power(yp,2) + Power(zp,2))) + xp*sin(Sqrt((m1 + m2)/Power(b,3))*
+ Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2)))) +
+ (b*(xp*cos(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) +
+ Power(yp,2) + Power(zp,2))) - yp*sin(Sqrt((m1 + m2)/Power(b,3))*
+ Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2)))))/
+ Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))))/ ((m1 +
+ m2)*(Power(xp,2) + Power(yp,2) + Power(zp,2))) + (2*m1*(m1 -
+ m2)*m2*((6*b*Sqrt((m1 + m2)/b)* (yp*cos(Sqrt((m1 +
+ m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2)))
+ + xp*sin(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) +
+ Power(yp,2) + Power(zp,2))))* (xp*cos(Sqrt((m1 +
+ m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2)))
+ - yp*sin(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) +
+ Power(yp,2) + Power(zp,2)))))/ Sqrt(Power(xp,2) + Power(yp,2) +
+ Power(zp,2)) + (Power(b,2)*(-Power(xp,2) - Power(yp,2) -
+ Power(zp,2) + 3*(xp*cos(Sqrt((m1 + m2)/Power(b,3))*
+ Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))) - yp*sin(Sqrt((m1
+ + m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) +
+ Power(zp,2))))))/ (Power(xp,2) + Power(yp,2) + Power(zp,2)) +
+ ((m1 + m2)*(2*Power(yp* cos(Sqrt((m1 + m2)/Power(b,3))*
+ Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))) + xp*sin(Sqrt((m1
+ + m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) +
+ Power(zp,2))),2) - 3*Power(xp*cos(Sqrt((m1 + m2)/Power(b,3))*
+ Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))) - yp*sin(Sqrt((m1
+ + m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) +
+ Power(zp,2))),2)))/b))/ (Power(m1 + m2,2)*Power(Power(xp,2) +
+ Power(yp,2) + Power(zp,2),1.5))) + (2*m1*m2*sin(Sqrt((m1 +
+ m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2)))*
+ ((2*(xp*cos(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) +
+ Power(yp,2) + Power(zp,2))) - yp*sin(Sqrt((m1 + m2)/Power(b,3))*
+ Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2)))))/b - ((m1 -
+ m2)*((4*Sqrt((m1 + m2)/b)* (yp*cos(Sqrt((m1 + m2)/Power(b,3))*
+ Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))) + xp*sin(Sqrt((m1
+ + m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) +
+ Power(zp,2))))* (xp*cos(Sqrt((m1 + m2)/Power(b,3))*
+ Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))) - yp*sin(Sqrt((m1
+ + m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) +
+ Power(zp,2)))))/b + (-Power(xp,2) - Power(yp,2) - Power(zp,2) +
+ 3*Power(xp*cos(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) +
+ Power(yp,2) + Power(zp,2))) - yp*sin(Sqrt((m1 + m2)/Power(b,3))*
+ Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))),2))/
+ Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))))/ ((m1 +
+ m2)*Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2)))))/
+ (Power(xp,2) + Power(yp,2) + Power(zp,2)) + Sqrt((m1 +
+ m2)/Power(b,3))*xp* (1 + Power(m1 + m2,2)/(Power(xp,2) +
+ Power(yp,2) + Power(zp,2)) + (2*(m1 + m2)*(1 - (m1*m2)/(2.*b*(m1
+ + m2))))/ Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2)) +
+ (2*m1*(m1 - m2)*m2*(Sqrt((m1 + m2)/b)* (yp*cos(Sqrt((m1 +
+ m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2)))
+ + xp*sin(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) +
+ Power(yp,2) + Power(zp,2)))) + (b*(xp*cos(Sqrt((m1 +
+ m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2)))
+ - yp*sin(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) +
+ Power(yp,2) + Power(zp,2)))))/ Sqrt(Power(xp,2) + Power(yp,2) +
+ Power(zp,2))))/ (b*(m1 + m2)*(Power(xp,2) + Power(yp,2) +
+ Power(zp,2))) + (m1*m2*((6*b*Sqrt((m1 + m2)/b)* (yp*cos(Sqrt((m1
+ + m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) +
+ Power(zp,2))) + xp*sin(Sqrt((m1 + m2)/Power(b,3))*
+ Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))))*
+ (xp*cos(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) +
+ Power(yp,2) + Power(zp,2))) - yp*sin(Sqrt((m1 + m2)/Power(b,3))*
+ Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2)))))/
+ Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2)) + (2*(m1 +
+ m2)*(Power(yp* cos(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2)
+ + Power(yp,2) + Power(zp,2))) + xp*sin(Sqrt((m1 +
+ m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) +
+ Power(zp,2))),2) - Power(xp*cos(Sqrt((m1 + m2)/Power(b,3))*
+ Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))) - yp*sin(Sqrt((m1
+ + m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) +
+ Power(zp,2))),2)))/b + (Power(b,2)*(-Power(xp,2) - Power(yp,2) -
+ Power(zp,2) + 3*Power(xp*cos(Sqrt((m1 + m2)/Power(b,3))*
+ Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))) - yp*sin(Sqrt((m1
+ + m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) +
+ Power(zp,2))),2)))/ (Power(xp,2) + Power(yp,2) + Power(zp,2))))/
+ ((m1 + m2)*Power(Power(xp,2) + Power(yp,2) + Power(zp,2),1.5)) +
+ (m1*(m1 - m2)*m2*((3*Power(b,2)*Sqrt((m1 + m2)/b)*
+ (yp*cos(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) +
+ Power(yp,2) + Power(zp,2))) + xp*sin(Sqrt((m1 + m2)/Power(b,3))*
+ Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))))* (Power(xp,2) +
+ Power(yp,2) + Power(zp,2) - 5*Power(xp*cos(Sqrt((m1 +
+ m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2)))
+ - yp*sin(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) +
+ Power(yp,2) + Power(zp,2))),2)))/ (Power(xp,2) + Power(yp,2) +
+ Power(zp,2)) + (Power(b,3)*(xp*cos(Sqrt((m1 + m2)/Power(b,3))*
+ Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))) - yp*sin(Sqrt((m1
+ + m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) +
+ Power(zp,2))))* (3*(Power(xp,2) + Power(yp,2) + Power(zp,2)) -
+ 5*Power(xp*cos(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) +
+ Power(yp,2) + Power(zp,2))) - yp*sin(Sqrt((m1 + m2)/Power(b,3))*
+ Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))),2)))/
+ Power(Power(xp,2) + Power(yp,2) + Power(zp,2),1.5) + (2*(m1 +
+ m2)*(xp*cos(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) +
+ Power(yp,2) + Power(zp,2))) - yp*sin(Sqrt((m1 + m2)/Power(b,3))*
+ Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))))* (-Power(xp,2) -
+ Power(yp,2) - Power(zp,2) - 6*Power(yp*cos(Sqrt((m1 +
+ m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2)))
+ + xp*sin(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) +
+ Power(yp,2) + Power(zp,2))),2) + 3*Power(xp*cos(Sqrt((m1 +
+ m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2)))
+ - yp*sin(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) +
+ Power(yp,2) + Power(zp,2))),2)))/ Sqrt(Power(xp,2) + Power(yp,2)
+ + Power(zp,2)) + Power((m1 + m2)/b,1.5)* (yp*cos(Sqrt((m1 +
+ m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2)))
+ + xp*sin(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) +
+ Power(yp,2) + Power(zp,2))))* (-Power(xp,2) - Power(yp,2) -
+ Power(zp,2) - 2*Power(yp*cos(Sqrt((m1 + m2)/Power(b,3))*
+ Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))) + xp*sin(Sqrt((m1
+ + m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) +
+ Power(zp,2))),2) + 7*Power(xp*cos(Sqrt((m1 + m2)/Power(b,3))*
+ Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))) - yp*sin(Sqrt((m1
+ + m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) +
+ Power(zp,2))),2))))/ (Power(m1 + m2,2)*Power(Power(xp,2) +
+ Power(yp,2) + Power(zp,2),2))) - (6*m1*(m1 -
+ m2)*m2*(xp*cos(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) +
+ Power(yp,2) + Power(zp,2))) - yp*sin(Sqrt((m1 + m2)/Power(b,3))*
+ Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))))*
+ (yp*cos(2*Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) +
+ Power(yp,2) + Power(zp,2))) + xp*sin(2*Sqrt((m1 +
+ m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) +
+ Power(zp,2)))))/ (Power(b,3)*(Power(xp,2) + Power(yp,2) +
+ Power(zp,2))) ;
+g0z = 0;
+gxx =
+ 1 + (Power(m1 + m2,2)*Power(xp,2))/ Power(Power(xp,2) +
+ Power(yp,2) + Power(zp,2),2) + Power(m1 + m2,2)/(Power(xp,2) +
+ Power(yp,2) + Power(zp,2)) + (2*(m1 + m2)*(1 - (m1*m2)/(2.*b*(m1
+ + m2))))/ Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2)) +
+ (2*m1*(m1 - m2)*m2*(Sqrt((m1 + m2)/b)* (yp*cos(Sqrt((m1 +
+ m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2)))
+ + xp*sin(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) +
+ Power(yp,2) + Power(zp,2)))) + (b*(xp*cos(Sqrt((m1 +
+ m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2)))
+ - yp*sin(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) +
+ Power(yp,2) + Power(zp,2)))))/ Sqrt(Power(xp,2) + Power(yp,2) +
+ Power(zp,2))))/ (b*(m1 + m2)*(Power(xp,2) + Power(yp,2) +
+ Power(zp,2))) + (4*m1*m2*Power(sin(Sqrt((m1 + m2)/Power(b,3))*
+ Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))),2)* (1 - ((m1 -
+ m2)*((Sqrt((m1 + m2)/b)* (yp*cos(Sqrt((m1 + m2)/Power(b,3))*
+ Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))) + xp*sin(Sqrt((m1
+ + m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) +
+ Power(zp,2)))))/ Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2)) +
+ (b*(xp*cos(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) +
+ Power(yp,2) + Power(zp,2))) - yp*sin(Sqrt((m1 + m2)/Power(b,3))*
+ Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2)))))/ (Power(xp,2) +
+ Power(yp,2) + Power(zp,2))))/(m1 + m2)))/ (b*Sqrt(Power(xp,2) +
+ Power(yp,2) + Power(zp,2))) + (2*m1*m2*Power(cos(Sqrt((m1 +
+ m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) +
+ Power(zp,2))),2)* (-2/b + ((m1 - m2)*((Sqrt((m1 + m2)/b)*
+ (yp*cos(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) +
+ Power(yp,2) + Power(zp,2))) + xp*sin(Sqrt((m1 + m2)/Power(b,3))*
+ Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2)))))/b +
+ (xp*cos(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) +
+ Power(yp,2) + Power(zp,2))) - yp*sin(Sqrt((m1 + m2)/Power(b,3))*
+ Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))))/
+ Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))))/ ((m1 +
+ m2)*Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2)))))/
+ Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2)) +
+ (m1*m2*((6*b*Sqrt((m1 + m2)/b)* (yp*cos(Sqrt((m1 +
+ m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2)))
+ + xp*sin(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) +
+ Power(yp,2) + Power(zp,2))))* (xp*cos(Sqrt((m1 +
+ m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2)))
+ - yp*sin(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) +
+ Power(yp,2) + Power(zp,2)))))/ Sqrt(Power(xp,2) + Power(yp,2) +
+ Power(zp,2)) + (2*(m1 + m2)*(Power(yp*cos(Sqrt((m1 +
+ m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2)))
+ + xp*sin(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) +
+ Power(yp,2) + Power(zp,2))),2) - Power(xp*cos(Sqrt((m1 +
+ m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2)))
+ - yp*sin(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) +
+ Power(yp,2) + Power(zp,2))),2)))/b + (Power(b,2)*(-Power(xp,2) -
+ Power(yp,2) - Power(zp,2) + 3*Power(xp*cos(Sqrt((m1 +
+ m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2)))
+ - yp*sin(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) +
+ Power(yp,2) + Power(zp,2))),2)))/ (Power(xp,2) + Power(yp,2) +
+ Power(zp,2))))/ ((m1 + m2)*Power(Power(xp,2) + Power(yp,2) +
+ Power(zp,2),1.5)) + (m1*(m1 - m2)*m2*((3*Power(b,2)*Sqrt((m1 +
+ m2)/b)* (yp*cos(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) +
+ Power(yp,2) + Power(zp,2))) + xp*sin(Sqrt((m1 + m2)/Power(b,3))*
+ Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))))* (Power(xp,2) +
+ Power(yp,2) + Power(zp,2) - 5*Power(xp*cos(Sqrt((m1 +
+ m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2)))
+ - yp*sin(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) +
+ Power(yp,2) + Power(zp,2))),2)))/ (Power(xp,2) + Power(yp,2) +
+ Power(zp,2)) + (Power(b,3)*(xp*cos(Sqrt((m1 + m2)/Power(b,3))*
+ Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))) - yp*sin(Sqrt((m1
+ + m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) +
+ Power(zp,2))))* (3*(Power(xp,2) + Power(yp,2) + Power(zp,2)) -
+ 5*Power(xp*cos(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) +
+ Power(yp,2) + Power(zp,2))) - yp*sin(Sqrt((m1 + m2)/Power(b,3))*
+ Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))),2)))/
+ Power(Power(xp,2) + Power(yp,2) + Power(zp,2),1.5) + (2*(m1 +
+ m2)*(xp*cos(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) +
+ Power(yp,2) + Power(zp,2))) - yp*sin(Sqrt((m1 + m2)/Power(b,3))*
+ Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))))* (-Power(xp,2) -
+ Power(yp,2) - Power(zp,2) - 6*Power(yp*cos(Sqrt((m1 +
+ m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2)))
+ + xp*sin(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) +
+ Power(yp,2) + Power(zp,2))),2) + 3*Power(xp*cos(Sqrt((m1 +
+ m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2)))
+ - yp*sin(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) +
+ Power(yp,2) + Power(zp,2))),2)))/ Sqrt(Power(xp,2) + Power(yp,2)
+ + Power(zp,2)) + Power((m1 + m2)/b,1.5)*(yp* cos(Sqrt((m1 +
+ m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2)))
+ + xp*sin(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) +
+ Power(yp,2) + Power(zp,2))))* (-Power(xp,2) - Power(yp,2) -
+ Power(zp,2) - 2*Power(yp*cos(Sqrt((m1 + m2)/Power(b,3))*
+ Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))) + xp*sin(Sqrt((m1
+ + m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) +
+ Power(zp,2))),2) + 7*Power(xp*cos(Sqrt((m1 + m2)/Power(b,3))*
+ Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))) - yp*sin(Sqrt((m1
+ + m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) +
+ Power(zp,2))),2))))/ (Power(m1 + m2,2)*Power(Power(xp,2) +
+ Power(yp,2) + Power(zp,2),2)) + (6*m1*(m1 - m2)*m2*Power((m1 +
+ m2)/b,1.5)* sin(2*Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) +
+ Power(yp,2) + Power(zp,2))))/ (Power(m1 + m2,2)*(Power(xp,2) +
+ Power(yp,2) + Power(zp,2))) ;
+gxy =
+ (Power(m1 + m2,2)*xp*yp)/Power(Power(xp,2) + Power(yp,2) +
+ Power(zp,2),2) + (6*m1*(m1 - m2)*m2*Power((m1 + m2)/b,1.5)*
+ cos(2*Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2)
+ + Power(zp,2)))* (xp*cos(Sqrt((m1 + m2)/Power(b,3))*
+ Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))) - yp*sin(Sqrt((m1
+ + m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) +
+ Power(zp,2)))))/ (Power(m1 + m2,2)*(Power(xp,2) + Power(yp,2) +
+ Power(zp,2))) + (((4*m1*m2*(1 - ((m1 - m2)*((Sqrt((m1 + m2)/b)*
+ (yp*cos(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) +
+ Power(yp,2) + Power(zp,2))) + xp*sin(Sqrt((m1 + m2)/Power(b,3))*
+ Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2)))))/
+ Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2)) +
+ (b*(xp*cos(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) +
+ Power(yp,2) + Power(zp,2))) - yp*sin(Sqrt((m1 + m2)/Power(b,3))*
+ Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2)))))/ (Power(xp,2) +
+ Power(yp,2) + Power(zp,2))))/(m1 + m2)))/ (b*Sqrt(Power(xp,2) +
+ Power(yp,2) + Power(zp,2))) - (2*b*m1*m2*(-2/b + ((m1 - m2)*
+ ((Sqrt((m1 + m2)/b)* (yp*cos(Sqrt((m1 + m2)/Power(b,3))*
+ Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))) + xp*sin(Sqrt((m1
+ + m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) +
+ Power(zp,2)))))/b + (xp*cos(Sqrt((m1 + m2)/Power(b,3))*
+ Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))) - yp*sin(Sqrt((m1
+ + m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) +
+ Power(zp,2))))/ Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))))/
+ ((m1 + m2)*Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2)))))/
+ Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2)))* sin(2*Sqrt((m1 +
+ m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) +
+ Power(zp,2))))/2. ;
+gxz =
+ (Power(m1 + m2,2)*xp*zp)/Power(Power(xp,2) + Power(yp,2) +
+ Power(zp,2),2) ;
+gyy =
+ 1 + (Power(m1 + m2,2)*Power(yp,2))/ Power(Power(xp,2) +
+ Power(yp,2) + Power(zp,2),2) + Power(m1 + m2,2)/(Power(xp,2) +
+ Power(yp,2) + Power(zp,2)) + (2*(m1 + m2)*(1 - (m1*m2)/(2.*b*(m1
+ + m2))))/ Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2)) +
+ (2*m1*(m1 - m2)*m2*(Sqrt((m1 + m2)/b)* (yp*cos(Sqrt((m1 +
+ m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2)))
+ + xp*sin(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) +
+ Power(yp,2) + Power(zp,2)))) + (b*(xp*cos(Sqrt((m1 +
+ m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2)))
+ - yp*sin(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) +
+ Power(yp,2) + Power(zp,2)))))/ Sqrt(Power(xp,2) + Power(yp,2) +
+ Power(zp,2))))/ (b*(m1 + m2)*(Power(xp,2) + Power(yp,2) +
+ Power(zp,2))) + (4*m1*m2*Power(cos(Sqrt((m1 + m2)/Power(b,3))*
+ Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))),2)* (1 - ((m1 -
+ m2)*((Sqrt((m1 + m2)/b)* (yp*cos(Sqrt((m1 + m2)/Power(b,3))*
+ Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))) + xp*sin(Sqrt((m1
+ + m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) +
+ Power(zp,2)))))/ Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2)) +
+ (b*(xp*cos(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) +
+ Power(yp,2) + Power(zp,2))) - yp*sin(Sqrt((m1 + m2)/Power(b,3))*
+ Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2)))))/ (Power(xp,2) +
+ Power(yp,2) + Power(zp,2))))/(m1 + m2)))/ (b*Sqrt(Power(xp,2) +
+ Power(yp,2) + Power(zp,2))) + (2*m1*m2*Power(sin(Sqrt((m1 +
+ m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) +
+ Power(zp,2))),2)* (-2/b + ((m1 - m2)*((Sqrt((m1 + m2)/b)*
+ (yp*cos(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) +
+ Power(yp,2) + Power(zp,2))) + xp*sin(Sqrt((m1 + m2)/Power(b,3))*
+ Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2)))))/b +
+ (xp*cos(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) +
+ Power(yp,2) + Power(zp,2))) - yp*sin(Sqrt((m1 + m2)/Power(b,3))*
+ Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))))/
+ Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))))/ ((m1 +
+ m2)*Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2)))))/
+ Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2)) +
+ (m1*m2*((6*b*Sqrt((m1 + m2)/b)* (yp*cos(Sqrt((m1 +
+ m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2)))
+ + xp*sin(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) +
+ Power(yp,2) + Power(zp,2))))* (xp*cos(Sqrt((m1 +
+ m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2)))
+ - yp*sin(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) +
+ Power(yp,2) + Power(zp,2)))))/ Sqrt(Power(xp,2) + Power(yp,2) +
+ Power(zp,2)) + (2*(m1 + m2)*(Power(yp*cos(Sqrt((m1 +
+ m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2)))
+ + xp*sin(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) +
+ Power(yp,2) + Power(zp,2))),2) - Power(xp*cos(Sqrt((m1 +
+ m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2)))
+ - yp*sin(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) +
+ Power(yp,2) + Power(zp,2))),2)))/b + (Power(b,2)*(-Power(xp,2) -
+ Power(yp,2) - Power(zp,2) + 3*Power(xp*cos(Sqrt((m1 +
+ m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2)))
+ - yp*sin(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) +
+ Power(yp,2) + Power(zp,2))),2)))/ (Power(xp,2) + Power(yp,2) +
+ Power(zp,2))))/ ((m1 + m2)*Power(Power(xp,2) + Power(yp,2) +
+ Power(zp,2),1.5)) + (m1*(m1 - m2)*m2*((3*Power(b,2)*Sqrt((m1 +
+ m2)/b)* (yp*cos(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) +
+ Power(yp,2) + Power(zp,2))) + xp*sin(Sqrt((m1 + m2)/Power(b,3))*
+ Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))))* (Power(xp,2) +
+ Power(yp,2) + Power(zp,2) - 5*Power(xp*cos(Sqrt((m1 +
+ m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2)))
+ - yp*sin(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) +
+ Power(yp,2) + Power(zp,2))),2)))/ (Power(xp,2) + Power(yp,2) +
+ Power(zp,2)) + (Power(b,3)*(xp*cos(Sqrt((m1 + m2)/Power(b,3))*
+ Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))) - yp*sin(Sqrt((m1
+ + m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) +
+ Power(zp,2))))* (3*(Power(xp,2) + Power(yp,2) + Power(zp,2)) -
+ 5*Power(xp*cos(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) +
+ Power(yp,2) + Power(zp,2))) - yp*sin(Sqrt((m1 + m2)/Power(b,3))*
+ Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))),2)))/
+ Power(Power(xp,2) + Power(yp,2) + Power(zp,2),1.5) + (2*(m1 +
+ m2)*(xp*cos(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) +
+ Power(yp,2) + Power(zp,2))) - yp*sin(Sqrt((m1 + m2)/Power(b,3))*
+ Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))))* (-Power(xp,2) -
+ Power(yp,2) - Power(zp,2) - 6*Power(yp*cos(Sqrt((m1 +
+ m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2)))
+ + xp*sin(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) +
+ Power(yp,2) + Power(zp,2))),2) + 3*Power(xp*cos(Sqrt((m1 +
+ m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2)))
+ - yp*sin(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) +
+ Power(yp,2) + Power(zp,2))),2)))/ Sqrt(Power(xp,2) + Power(yp,2)
+ + Power(zp,2)) + Power((m1 + m2)/b,1.5)*(yp* cos(Sqrt((m1 +
+ m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2)))
+ + xp*sin(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) +
+ Power(yp,2) + Power(zp,2))))* (-Power(xp,2) - Power(yp,2) -
+ Power(zp,2) - 2*Power(yp*cos(Sqrt((m1 + m2)/Power(b,3))*
+ Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))) + xp*sin(Sqrt((m1
+ + m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) +
+ Power(zp,2))),2) + 7*Power(xp*cos(Sqrt((m1 + m2)/Power(b,3))*
+ Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))) - yp*sin(Sqrt((m1
+ + m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) +
+ Power(zp,2))),2))))/ (Power(m1 + m2,2)*Power(Power(xp,2) +
+ Power(yp,2) + Power(zp,2),2)) - (6*m1*(m1 - m2)*m2*Power((m1 +
+ m2)/b,1.5)* sin(2*Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) +
+ Power(yp,2) + Power(zp,2))))/ (Power(m1 + m2,2)*(Power(xp,2) +
+ Power(yp,2) + Power(zp,2)));
+gyz =
+ (Power(m1 + m2,2)*yp*zp)/Power(Power(xp,2) + Power(yp,2) +
+ Power(zp,2),2);
+gzz =
+ 1 + (Power(m1 + m2,2)*Power(zp,2))/ Power(Power(xp,2) +
+ Power(yp,2) + Power(zp,2),2) + Power(m1 + m2,2)/(Power(xp,2) +
+ Power(yp,2) + Power(zp,2)) + (2*(m1 + m2)*(1 - (m1*m2)/(2.*b*(m1
+ + m2))))/ Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2)) +
+ (2*m1*(m1 - m2)*m2*(Sqrt((m1 + m2)/b)* (yp*cos(Sqrt((m1 +
+ m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2)))
+ + xp*sin(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) +
+ Power(yp,2) + Power(zp,2)))) + (b*(xp*cos(Sqrt((m1 +
+ m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2)))
+ - yp*sin(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) +
+ Power(yp,2) + Power(zp,2)))))/ Sqrt(Power(xp,2) + Power(yp,2) +
+ Power(zp,2))))/ (b*(m1 + m2)*(Power(xp,2) + Power(yp,2) +
+ Power(zp,2))) + (m1*m2*((6*b*Sqrt((m1 + m2)/b)* (yp*cos(Sqrt((m1
+ + m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) +
+ Power(zp,2))) + xp*sin(Sqrt((m1 + m2)/Power(b,3))*
+ Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))))*
+ (xp*cos(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) +
+ Power(yp,2) + Power(zp,2))) - yp*sin(Sqrt((m1 + m2)/Power(b,3))*
+ Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2)))))/
+ Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2)) + (2*(m1 +
+ m2)*(Power(yp*cos(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) +
+ Power(yp,2) + Power(zp,2))) + xp*sin(Sqrt((m1 + m2)/Power(b,3))*
+ Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))),2) -
+ Power(xp*cos(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) +
+ Power(yp,2) + Power(zp,2))) - yp*sin(Sqrt((m1 + m2)/Power(b,3))*
+ Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))),2)))/b +
+ (Power(b,2)*(-Power(xp,2) - Power(yp,2) - Power(zp,2) +
+ 3*Power(xp*cos(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) +
+ Power(yp,2) + Power(zp,2))) - yp*sin(Sqrt((m1 + m2)/Power(b,3))*
+ Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))),2)))/
+ (Power(xp,2) + Power(yp,2) + Power(zp,2))))/ ((m1 +
+ m2)*Power(Power(xp,2) + Power(yp,2) + Power(zp,2),1.5)) +
+ (m1*(m1 - m2)*m2*((3*Power(b,2)*Sqrt((m1 + m2)/b)*
+ (yp*cos(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) +
+ Power(yp,2) + Power(zp,2))) + xp*sin(Sqrt((m1 + m2)/Power(b,3))*
+ Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))))* (Power(xp,2) +
+ Power(yp,2) + Power(zp,2) - 5*Power(xp*cos(Sqrt((m1 +
+ m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2)))
+ - yp*sin(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) +
+ Power(yp,2) + Power(zp,2))),2)))/ (Power(xp,2) + Power(yp,2) +
+ Power(zp,2)) + (Power(b,3)*(xp*cos(Sqrt((m1 + m2)/Power(b,3))*
+ Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))) - yp*sin(Sqrt((m1
+ + m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) +
+ Power(zp,2))))* (3*(Power(xp,2) + Power(yp,2) + Power(zp,2)) -
+ 5*Power(xp*cos(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) +
+ Power(yp,2) + Power(zp,2))) - yp*sin(Sqrt((m1 + m2)/Power(b,3))*
+ Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))),2)))/
+ Power(Power(xp,2) + Power(yp,2) + Power(zp,2),1.5) + (2*(m1 +
+ m2)*(xp*cos(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) +
+ Power(yp,2) + Power(zp,2))) - yp*sin(Sqrt((m1 + m2)/Power(b,3))*
+ Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))))* (-Power(xp,2) -
+ Power(yp,2) - Power(zp,2) - 6*Power(yp*cos(Sqrt((m1 +
+ m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2)))
+ + xp*sin(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) +
+ Power(yp,2) + Power(zp,2))),2) + 3*Power(xp*cos(Sqrt((m1 +
+ m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2)))
+ - yp*sin(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) +
+ Power(yp,2) + Power(zp,2))),2)))/ Sqrt(Power(xp,2) + Power(yp,2)
+ + Power(zp,2)) + Power((m1 + m2)/b,1.5)*(yp* cos(Sqrt((m1 +
+ m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2)))
+ + xp*sin(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) +
+ Power(yp,2) + Power(zp,2))))* (-Power(xp,2) - Power(yp,2) -
+ Power(zp,2) - 2*Power(yp*cos(Sqrt((m1 + m2)/Power(b,3))*
+ Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))) + xp*sin(Sqrt((m1
+ + m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) +
+ Power(zp,2))),2) + 7*Power(xp*cos(Sqrt((m1 + m2)/Power(b,3))*
+ Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))) - yp*sin(Sqrt((m1
+ + m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) +
+ Power(zp,2))),2))))/ (Power(m1 + m2,2)*Power(Power(xp,2) +
+ Power(yp,2) + Power(zp,2),2)) ;
+
+*results=g00;
+*(results+1)=g0x;
+*(results+2)=g0y;
+*(results+3)=g0z;
+*(results+4)=gxx;
+*(results+5)=gxy;
+*(results+6)=gxz;
+*(results+7)=gyy;
+*(results+8)=gyz;
+*(results+9)=gzz;
+
+
+}
diff --git a/src/metrics/Bertotti.F b/src/metrics/Bertotti.F
new file mode 100644
index 0000000..f9b32df
--- /dev/null
+++ b/src/metrics/Bertotti.F
@@ -0,0 +1,65 @@
+C Bertotti spacetime with cosmological constant
+C Author : D. Vulcanov (Timisoara, Romania)
+C $Header$
+
+#include "cctk.h"
+#include "cctk_Parameters.h"
+
+ subroutine Exact__Bertotti(
+ $ x, y, z, t,
+ $ gdtt, gdtx, gdty, gdtz,
+ $ gdxx, gdyy, gdzz, gdxy, gdyz, gdzx,
+ $ gutt, gutx, guty, gutz,
+ $ guxx, guyy, guzz, guxy, guyz, guzx)
+
+ implicit none
+
+ DECLARE_CCTK_PARAMETERS
+
+ CCTK_REAL x, y, z, t
+ CCTK_REAL gdtt, gdtx, gdty, gdtz,
+ $ gdxx, gdyy, gdzz, gdxy, gdyz, gdzx,
+ $ gutt, gutx, guty, gutz,
+ $ guxx, guyy, guzz, guxy, guyz, guzx
+
+ logical firstcall
+
+ CCTK_REAL baza, unu, doi
+
+ data firstcall /.true./
+ save firstcall, baza
+ if (firstcall) then
+ baza = Bertotti__Lambda
+ firstcall = .false.
+ end if
+
+
+ unu=exp(2.0D0*dsqrt(-baza)*x)
+ doi=exp(2.0D0*dsqrt(-baza)*z)
+
+
+ gdtt = -unu
+ gdtx = 0.0D0
+ gdty = 0.0D0
+ gdtz = 0.0D0
+ gdxx = 1.0D0
+ gdyy = doi
+ gdzz = 1.0D0
+ gdxy = 0.0D0
+ gdyz = 0.0D0
+ gdzx = 0.0D0
+
+ gutt = -1.0D0/unu
+ gutx = 0.0D0
+ guty = 0.0D0
+ gutz = 0.0D0
+ guxx = 1.0D0
+ guyy = 1.0D0/doi
+ guzz = 1.0D0
+ guxy = 0.0D0
+ guyz = 0.0D0
+ guzx = 0.0D0
+
+
+ return
+ end
diff --git a/src/metrics/Bianchi_I.F b/src/metrics/Bianchi_I.F
new file mode 100644
index 0000000..0af7b12
--- /dev/null
+++ b/src/metrics/Bianchi_I.F
@@ -0,0 +1,65 @@
+C Bianchi-I spacetime !!!! Fake one...
+C It is not a real Bianchi I spacetime, it just emulates
+C one, taking the two BianchiI functions as harmonic ones...
+C Author : D. Vulcanov (Timisoara, Romania)
+C $Header$
+
+#include "cctk.h"
+#include "cctk_Parameters.h"
+
+ subroutine Exact__Bianchi_I(
+ $ x, y, z, t,
+ $ gdtt, gdtx, gdty, gdtz,
+ $ gdxx, gdyy, gdzz, gdxy, gdyz, gdzx,
+ $ gutt, gutx, guty, gutz,
+ $ guxx, guyy, guzz, guxy, guyz, guzx)
+
+ implicit none
+
+ DECLARE_CCTK_PARAMETERS
+
+ CCTK_REAL x, y, z, t
+ CCTK_REAL gdtt, gdtx, gdty, gdtz,
+ $ gdxx, gdyy, gdzz, gdxy, gdyz, gdzx,
+ $ gutt, gutx, guty, gutz,
+ $ guxx, guyy, guzz, guxy, guyz, guzx
+
+ logical firstcall
+
+ CCTK_REAL bx, by, arad
+
+ data firstcall /.true./
+ save firstcall
+ if (firstcall) then
+ arad = Bianchi_I__scale
+ firstcall = .false.
+ end if
+
+
+ bx = arad*sin(x+t)
+ by = arad*cos(x+t)
+
+ gdtt = - 1.d0
+ gdtx = 0.d0
+ gdty = 0.d0
+ gdtz = 0.d0
+ gdxx = bx**2
+ gdyy = by**2
+ gdzz = by**2
+ gdxy = 0.d0
+ gdyz = 0.d0
+ gdzx = 0.d0
+
+ gutt = - 1.d0
+ gutx = 0.d0
+ guty = 0.d0
+ gutz = 0.d0
+ guxx = bx**(-2)
+ guyy = by**(-2)
+ guzz = by**(-2)
+ guxy = 0.d0
+ guyz = 0.d0
+ guzx = 0.d0
+
+ return
+ end
diff --git a/src/metrics/Goedel.F b/src/metrics/Goedel.F
new file mode 100644
index 0000000..fec2c73
--- /dev/null
+++ b/src/metrics/Goedel.F
@@ -0,0 +1,63 @@
+C Goedel spacetime !!!!
+C See: S. Hawking, G.F.R. Ellis, The Large
+C Scale Structure of space-time, Cambridge, 1973
+C Author : D. Vulcanov (Timsioara, Romania)
+C $Header$
+
+#include "cctk.h"
+#include "cctk_Parameters.h"
+
+ subroutine Exact__Goedel(
+ $ x, y, z, t,
+ $ gdtt, gdtx, gdty, gdtz,
+ $ gdxx, gdyy, gdzz, gdxy, gdyz, gdzx,
+ $ gutt, gutx, guty, gutz,
+ $ guxx, guyy, guzz, guxy, guyz, guzx)
+
+ implicit none
+
+ DECLARE_CCTK_PARAMETERS
+
+ CCTK_REAL x, y, z, t
+ CCTK_REAL gdtt, gdtx, gdty, gdtz,
+ $ gdxx, gdyy, gdzz, gdxy, gdyz, gdzx,
+ $ gutt, gutx, guty, gutz,
+ $ guxx, guyy, guzz, guxy, guyz, guzx
+
+ logical firstcall
+
+ CCTK_REAL arad
+
+ data firstcall /.true./
+ save firstcall
+ if (firstcall) then
+ arad = Goedel__scale
+ firstcall = .false.
+ end if
+
+
+
+ gdtt = -arad*arad
+ gdtx = 0.d0
+ gdty = 0.d0
+ gdtz = 0.d0
+ gdxx = (1/2)*arad*arad*exp(x)*exp(x)
+ gdyy = -arad*arad
+ gdzz = arad*arad*exp(x)
+ gdxy = 0.d0
+ gdyz = 0.d0
+ gdzx = arad*arad*exp(x)
+
+ gutt = -1/(arad*arad)
+ gutx = 0.d0
+ guty = 0.d0
+ gutz = 0.d0
+ guxx = -2/(arad*arad*exp(x)*exp(x))
+ guyy = -1/(arad*arad)
+ guzz = -1/(arad*arad*exp(x))
+ guxy = 0.d0
+ guyz = 0.d0
+ guzx = 2/(arad*arad*exp(x))
+
+ return
+ end
diff --git a/src/metrics/Kasner_axisymmetric.F b/src/metrics/Kasner_axisymmetric.F
new file mode 100644
index 0000000..0dc98d1
--- /dev/null
+++ b/src/metrics/Kasner_axisymmetric.F
@@ -0,0 +1,50 @@
+C Axisymmetric Kasner solution !
+C Author : D. Vulcanov
+C $Header$
+
+#include "cctk.h"
+#include "cctk_Parameters.h"
+
+ subroutine Exact__Kasner_axisymmetric(
+ $ x, y, z, t,
+ $ gdtt, gdtx, gdty, gdtz,
+ $ gdxx, gdyy, gdzz, gdxy, gdyz, gdzx,
+ $ gutt, gutx, guty, gutz,
+ $ guxx, guyy, guzz, guxy, guyz, guzx)
+
+ implicit none
+
+ DECLARE_CCTK_PARAMETERS
+
+ CCTK_REAL x, y, z, t
+ CCTK_REAL gdtt, gdtx, gdty, gdtz,
+ $ gdxx, gdyy, gdzz, gdxy, gdyz, gdzx,
+ $ gutt, gutx, guty, gutz,
+ $ guxx, guyy, guzz, guxy, guyz, guzx
+
+ gdtt = -t**(-0.5d0)
+ gdtx = 0.d0
+ gdty = 0.d0
+ gdtz = 0.d0
+ gdxx = t**(-0.5d0)
+ gdyy = t
+ gdzz = t
+ gdxy = 0.d0
+ gdyz = 0.d0
+ gdzx = 0.d0
+
+ gutt = -t**(0.5d0)
+ gutx = 0.d0
+ guty = 0.d0
+ gutz = 0.d0
+ guxx = t**(0.5d0)
+ guyy = 1.d0/t
+ guzz = 1.d0/t
+ guxy = 0.d0
+ guyz = 0.d0
+ guzx = 0.d0
+
+
+
+ return
+ end
diff --git a/src/metrics/Kasner_generalized.F b/src/metrics/Kasner_generalized.F
new file mode 100644
index 0000000..9ec71d5
--- /dev/null
+++ b/src/metrics/Kasner_generalized.F
@@ -0,0 +1,66 @@
+C Kasner generalized metric spacetime !!!!
+C Author : D. Vulcanov
+C $Header$
+
+#include "cctk.h"
+#include "cctk_Parameters.h"
+
+ subroutine Exact__Kasner_generalized(
+ $ x, y, z, t,
+ $ gdtt, gdtx, gdty, gdtz,
+ $ gdxx, gdyy, gdzz, gdxy, gdyz, gdzx,
+ $ gutt, gutx, guty, gutz,
+ $ guxx, guyy, guzz, guxy, guyz, guzx)
+
+ implicit none
+
+ DECLARE_CCTK_PARAMETERS
+
+ CCTK_REAL x, y, z, t
+ CCTK_REAL gdtt, gdtx, gdty, gdtz,
+ $ gdxx, gdyy, gdzz, gdxy, gdyz, gdzx,
+ $ gutt, gutx, guty, gutz,
+ $ guxx, guyy, guzz, guxy, guyz, guzx
+
+ logical firstcall
+
+ CCTK_REAL pp1,pp2,a1,a2,a3
+
+ data firstcall /.true./
+ save firstcall, pp1, pp2
+ if (firstcall) then
+ pp1= Kasner_generalized__p1
+ pp2= Kasner_generalized__p2
+ firstcall = .false.
+ end if
+
+ a1= t**(2.d0*pp1)
+ a2= t**(2.d0*pp2)
+ a3= t**(2.d0-2.d0*pp1-2.d0*pp2)
+
+
+ gdtt = -1.d0
+ gdtx = 0.d0
+ gdty = 0.d0
+ gdtz = 0.d0
+ gdxx = a1
+ gdyy = a2
+ gdzz = a3
+ gdxy = 0.d0
+ gdyz = 0.d0
+ gdzx = 0.d0
+
+ gutt = -1.d0
+ gutx = 0.d0
+ guty = 0.d0
+ gutz = 0.d0
+ guxx = 1.d0/a1
+ guyy = 1.d0/a2
+ guzz = 1.d0/a3
+ guxy = 0.d0
+ guyz = 0.d0
+ guzx = 0.d0
+
+
+ return
+ end
diff --git a/src/metrics/Kasner_like.F b/src/metrics/Kasner_like.F
new file mode 100644
index 0000000..15e5cff
--- /dev/null
+++ b/src/metrics/Kasner_like.F
@@ -0,0 +1,68 @@
+C Kasner-like metric spacetime !!!!
+C See: L. Pimentel, Int. Journ. of Theor. Physics,
+C, vol. 32, No. 6, 1993, p. 979 (and the references
+C cited here), and S. Gotlober, et. al. Early Evolution
+C of the Universe and Formation Structure, Akad. Verlag, 1990
+C Author : D. Vulcanov
+C $Header$
+
+#include "cctk.h"
+#include "cctk_Parameters.h"
+
+ subroutine Exact__Kasner_like(
+ $ x, y, z, t,
+ $ gdtt, gdtx, gdty, gdtz,
+ $ gdxx, gdyy, gdzz, gdxy, gdyz, gdzx,
+ $ gutt, gutx, guty, gutz,
+ $ guxx, guyy, guzz, guxy, guyz, guzx)
+
+ implicit none
+
+ DECLARE_CCTK_PARAMETERS
+
+ CCTK_REAL x, y, z, t
+ CCTK_REAL gdtt, gdtx, gdty, gdtz,
+ $ gdxx, gdyy, gdzz, gdxy, gdyz, gdzx,
+ $ gutt, gutx, guty, gutz,
+ $ guxx, guyy, guzz, guxy, guyz, guzx
+
+ logical firstcall
+
+ CCTK_REAL qq,a1,a3
+
+ data firstcall /.true./
+ save firstcall, qq
+ if (firstcall) then
+ qq = Kasner_like__q
+ firstcall = .false.
+ end if
+
+ a1= t**(2.d0*qq)
+ a3= t**(2.d0-4.d0*qq)
+
+
+ gdtt = -1.d0
+ gdtx = 0.d0
+ gdty = 0.d0
+ gdtz = 0.d0
+ gdxx = a1
+ gdyy = a1
+ gdzz = a3
+ gdxy = 0.d0
+ gdyz = 0.d0
+ gdzx = 0.d0
+
+ gutt = -1.d0
+ gutx = 0.d0
+ guty = 0.d0
+ gutz = 0.d0
+ guxx = 1.d0/a1
+ guyy = 1.d0/a1
+ guzz = 1.d0/a3
+ guxy = 0.d0
+ guyz = 0.d0
+ guzx = 0.d0
+
+
+ return
+ end
diff --git a/src/metrics/Kerr_BoyerLindquist.F b/src/metrics/Kerr_BoyerLindquist.F
new file mode 100644
index 0000000..3a16cc6
--- /dev/null
+++ b/src/metrics/Kerr_BoyerLindquist.F
@@ -0,0 +1,63 @@
+C Kerr metric in cartesian Boyer-Lindquist coordinates,
+C as per MTW box 33.2.
+C Author : D. Vulcanov (Timisoara, Romania)
+C $Header$
+
+#include "cctk.h"
+#include "cctk_Parameters.h"
+
+ subroutine Exact__Kerr_BoyerLindquist(
+ $ x, y, z, t,
+ $ gdtt, gdtx, gdty, gdtz,
+ $ gdxx, gdyy, gdzz, gdxy, gdyz, gdzx,
+ $ gutt, gutx, guty, gutz,
+ $ guxx, guyy, guzz, guxy, guyz, guzx)
+
+ implicit none
+
+ DECLARE_CCTK_PARAMETERS
+
+ CCTK_REAL x, y, z, t
+ CCTK_REAL gdtt, gdtx, gdty, gdtz,
+ $ gdxx, gdyy, gdzz, gdxy, gdyz, gdzx,
+ $ gutt, gutx, guty, gutz,
+ $ guxx, guyy, guzz, guxy, guyz, guzx
+
+ logical firstcall
+
+ CCTK_REAL arad, marad
+
+ data firstcall /.true./
+ save firstcall, arad, marad
+ if (firstcall) then
+ arad = Kerr_BoyerLindquist__spin
+ marad = Kerr_BoyerLindquist__mass
+ firstcall = .false.
+ end if
+
+
+
+ gdtt = -(y**2*arad**2+x**2-2*marad*x)/(x**2+y**2*arad**2)
+ gdtx = 2*(arad*marad*x*(y**2-1))/(x**2+y**2*arad**2)
+ gdty = 0.d0
+ gdtz = 0.d0
+ gdxx = -(x**4+x**2*arad**2+2*arad**2*marad*x+arad**2*y**2*x**2 - 2*arad**2*y**2*marad*x+arad**4*y**2)*(y**2-1)/(x**2+arad**2*y**2)
+ gdyy = (x**2+y**2*arad**2)/(x**2-2*marad*x+arad**2)
+ gdzz = -(x**2+y**2*arad**2)/(y**2-1)
+ gdxy = 0.d0
+ gdyz = 0.d0
+ gdzx = 0.d0
+
+ gutt = -(-x**4-x**2*arad**2-2*arad**2*marad*x-arad**2*y**2*x**2 +2*arad**2*y**2*marad*x-arad**4*y**2)/((x**2+arad**2*y**2)*(-x**2+2*marad*x-arad**2))
+ gutx = 2*(arad*marad*x)/((x**2+arad**2*y**2)*(-x**2+2*marad*x-arad**2))
+ guty = 0.d0
+ gutz = 0.d0
+ guxx = -(-arad**2*y**2-x**2+2*marad*x)/((x**2+arad**2*y**2)*(y**2-1)*(-x**2+2*marad*x-arad**2))
+ guyy = -(-x**2+2*marad*x-arad**2)/(x**2+arad**2*y**2)
+ guzz = -(y**2-1)/(x**2+arad**2*y**2)
+ guxy = 0.d0
+ guyz = 0.d0
+ guzx = 0.d0
+
+ return
+ end
diff --git a/src/metrics/Kerr_KerrSchild.F b/src/metrics/Kerr_KerrSchild.F
new file mode 100644
index 0000000..571cf29
--- /dev/null
+++ b/src/metrics/Kerr_KerrSchild.F
@@ -0,0 +1,124 @@
+C Kerr-Schild form of boosted rotating black hole.
+C Program g_ab = eta_ab + H l_a l_b, g^ab = eta^ab - H l^a l^b.
+C Here eta_ab is Minkowski in Cartesian coordinates, H is a scalar,
+C and l is a null vector.
+C $Header$
+
+#include "cctk.h"
+#include "cctk_Parameters.h"
+
+ subroutine Exact__Kerr_KerrSchild(
+ $ x, y, z, t,
+ $ gdtt, gdtx, gdty, gdtz,
+ $ gdxx, gdyy, gdzz, gdxy, gdyz, gdzx,
+ $ gutt, gutx, guty, gutz,
+ $ guxx, guyy, guzz, guxy, guyz, guzx)
+
+ implicit none
+
+ DECLARE_CCTK_PARAMETERS
+
+ CCTK_REAL x, y, z, t
+ CCTK_REAL gdtt, gdtx, gdty, gdtz,
+ $ gdxx, gdyy, gdzz, gdxy, gdyz, gdzx,
+ $ gutt, gutx, guty, gutz,
+ $ guxx, guyy, guzz, guxy, guyz, guzx
+
+ CCTK_REAL gamma, t0, z0, x0, y0, rho02, r02, r0, costheta0,
+ $ lt0, lx0, ly0, lz0, hh, lt, lx, ly, lz
+
+ logical firstcall
+ CCTK_REAL boostv, eps, m, a
+ data firstcall /.true./
+ save firstcall, boostv, eps, m, a
+
+
+C Get parameters of the exact solution.
+
+ if (firstcall) then
+ boostv = Kerr_KerrSchild__boost_v
+ eps = Kerr_KerrSchild__epsilon
+ m = Kerr_KerrSchild__mass
+ a = Kerr_KerrSchild__spin
+ firstcall = .false.
+ end if
+
+C Boost factor.
+
+ gamma = 1.d0 / sqrt(1.d0 - boostv**2)
+
+C Lorentz transform t,x,y,z -> t0,x0,y0,z0.
+C t0 is never used, but is here for illustration, and we introduce
+C x0 and y0 also only for clarity.
+C Note that z0 = 0 means z = vt for the BH.
+
+ t0 = gamma * (t - boostv * z)
+ z0 = gamma * (z - boostv * t)
+ x0 = x
+ y0 = y
+
+C Coordinate distance to center of black hole. Note it moves!
+
+ rho02 = x0**2 + y0**2 + z0**2
+
+C Spherical auxiliary coordinate r and angle theta in BH rest frame.
+
+ r02 = 0.5d0 * (rho02 - a**2)
+ $ + sqrt(0.25d0 * (rho02 - a**2)**2 + a**2 * z0**2)
+ if (r02 .lt. eps) then
+ write(6,*) 'r02 too small in kerrschild'
+ write(6,*) x0, y0, z0
+ write(6,*) rho02, a**2, r02
+ end if
+ r02 = max(r02,eps)
+ r0 = sqrt(r02)
+ costheta0 = z0 / r0
+
+C Coefficient H. Note this transforms as a scalar, so does not carry
+C the suffix 0.
+ hh = m * r0 / (r0**2 + a**2 * costheta0**2)
+
+C Components of l_a in rest frame. Note indices down.
+ lt0 = 1.d0
+ lx0 = (r0 * x0 + a * y0) / (r0**2 + a**2)
+ ly0 = (r0 * y0 - a * x0) / (r0**2 + a**2)
+ lz0 = z0 / r0
+
+C Now boost it to coordinates x, y, z, t.
+C This is the reverse Lorentz transformation, but applied
+C to a one-form, so the sign of boostv is the same as the forward
+C Lorentz transformation applied to the coordinates.
+
+ lt = gamma * (lt0 - boostv * lz0)
+ lz = gamma * (lz0 - boostv * lt0)
+ lx = lx0
+ ly = ly0
+
+C Down metric. g_ab = flat_ab + H l_a l_b
+
+ gdtt = - 1.d0 + 2.d0 * hh * lt * lt
+ gdtx = 2.d0 * hh * lt * lx
+ gdty = 2.d0 * hh * lt * ly
+ gdtz = 2.d0 * hh * lt * lz
+ gdxx = 1.d0 + 2.d0 * hh * lx * lx
+ gdyy = 1.d0 + 2.d0 * hh * ly * ly
+ gdzz = 1.d0 + 2.d0 * hh * lz * lz
+ gdxy = 2.d0 * hh * lx * ly
+ gdyz = 2.d0 * hh * ly * lz
+ gdzx = 2.d0 * hh * lz * lx
+
+C Up metric. g^ab = flat^ab - H l^a l^b.
+C Notice that g^ab = g_ab and l^i = l_i and l^0 = - l_0 in flat spacetime.
+ gutt = - 1.d0 - 2.d0 * hh * lt * lt
+ gutx = 2.d0 * hh * lt * lx
+ guty = 2.d0 * hh * lt * ly
+ gutz = 2.d0 * hh * lt * lz
+ guxx = 1.d0 - 2.d0 * hh * lx * lx
+ guyy = 1.d0 - 2.d0 * hh * ly * ly
+ guzz = 1.d0 - 2.d0 * hh * lz * lz
+ guxy = - 2.d0 * hh * lx * ly
+ guyz = - 2.d0 * hh * ly * lz
+ guzx = - 2.d0 * hh * lz * lx
+
+ return
+ end
diff --git a/src/metrics/Lemaitre.F b/src/metrics/Lemaitre.F
new file mode 100644
index 0000000..2062f4b
--- /dev/null
+++ b/src/metrics/Lemaitre.F
@@ -0,0 +1,78 @@
+C Lemaitre type universe - FRW with k =0, p=k rho and
+C cosmological constant
+C $Header$
+
+
+#include "cctk.h"
+#include "cctk_Parameters.h"
+
+
+ subroutine Exact__Lemaitre(
+ $ x, y, z, t,
+ $ gdtt, gdtx, gdty, gdtz,
+ $ gdxx, gdyy, gdzz, gdxy, gdyz, gdzx,
+ $ gutt, gutx, guty, gutz,
+ $ guxx, guyy, guzz, guxy, guyz, guzx)
+
+ implicit none
+
+ DECLARE_CCTK_PARAMETERS
+ DECLARE_CCTK_FUNCTIONS
+
+
+ CCTK_REAL x, y, z, t
+ CCTK_REAL gdtt, gdtx, gdty, gdtz,
+ $ gdxx, gdyy, gdzz, gdxy, gdyz, gdzx,
+ $ gutt, gutx, guty, gutz,
+ $ guxx, guyy, guzz, guxy, guyz, guzx
+
+
+ logical firstcall
+
+ CCTK_REAL la, e0, ka, unu, ra, ra2, r0, Pii
+
+ data firstcall /.true./
+ save firstcall, ka, la, e0, r0
+ if (firstcall) then
+ ka = Lemaitre__kappa
+ e0 = Lemaitre__epsilon0
+ la = Lemaitre__Lambda
+ r0 = Lemaitre__R0
+ firstcall = .false.
+ end if
+
+ Pii = acos(-1.0D0)
+
+ unu = dsqrt(3.0D0*la)*t*(ka+1.0D0)/(2.0D0)
+
+ ra = r0*(cosh(unu)+dsqrt(1.0D0+8.0D0*Pii*e0/la)*sinh(unu))**
+ & (2.0D0/(3.0D0*ka+3.0D0))
+
+ ra2 = ra*ra
+
+ gdtt = -1.0D0
+ gdtx = 0.0D0
+ gdty = 0.0D0
+ gdtz = 0.0D0
+ gdxx = ra2
+ gdyy = ra2
+ gdzz = ra2
+ gdxy = 0.0D0
+ gdyz = 0.0D0
+ gdzx = 0.0D0
+
+ gutt = -1.0D0
+ gutx = 0.0D0
+ guty = 0.0D0
+ gutz = 0.0D0
+ guxx = 1.0D0/ra2
+ guyy = 1.0D0/ra2
+ guzz = 1.0D0/ra2
+ guxy = 0.0D0
+ guyz = 0.0D0
+ guzx = 0.0D0
+
+
+
+ return
+ end
diff --git a/src/metrics/Milne.F b/src/metrics/Milne.F
new file mode 100644
index 0000000..0167873
--- /dev/null
+++ b/src/metrics/Milne.F
@@ -0,0 +1,61 @@
+C Milne spacetime metric ?!?!?
+C Suggested by Matteo Rossi and E. Onofri (Univ. di Parma, Italy)
+C They inted to use thsi metric for simulating an Pre-Big-Bang
+C Cosmology, as proposed by Veneziano some year ago
+C Author : D. Vulcanov (Timsoara, Romania)
+C $Header$
+
+#include "cctk.h"
+
+ subroutine Exact__Milne(
+ $ x, y, z, t,
+ $ gdtt, gdtx, gdty, gdtz,
+ $ gdxx, gdyy, gdzz, gdxy, gdyz, gdzx,
+ $ gutt, gutx, guty, gutz,
+ $ guxx, guyy, guzz, guxy, guyz, guzx)
+
+ implicit none
+
+c Input.
+
+ CCTK_REAL x, y, z, t
+
+c Output.
+
+ CCTK_REAL gdtt, gdtx, gdty, gdtz,
+ $ gdxx, gdyy, gdzz, gdxy, gdyz, gdzx,
+ $ gutt, gutx, guty, gutz,
+ $ guxx, guyy, guzz, guxy, guyz, guzx,
+ $ coef, x2,y2,z2,t2
+
+ x2= x*x
+ y2= y*y
+ z2= z*z
+ t2= t*t
+ coef= t2/(1.d0+ x2 +y2+ z2)
+
+ gdtt = -1.d0
+ gdtx = 0.d0
+ gdty = 0.d0
+ gdtz = 0.d0
+ gdxx = coef*(1.d0+y2+z2)
+ gdyy = coef*(1.d0+x2+z2)
+ gdzz = coef*(1.d0+x2+y2)
+ gdxy = -coef*x*y
+ gdyz = -coef*y*z
+ gdzx = -coef*x*z
+
+ gutt = -1.d0
+ gutx = 0.d0
+ guty = 0.d0
+ gutz = 0.d0
+ guxx = (1.d0+x2)/(t2)
+ guyy = (1.d0+y2)/(t2)
+ guzz = (1.d0+z2)/(t2)
+ guxy = x*y/(t2)
+ guyz = y*z/(t2)
+ guzx = x*z/(t2)
+
+
+ return
+ end
diff --git a/src/metrics/Minkowski.F b/src/metrics/Minkowski.F
new file mode 100644
index 0000000..5318332
--- /dev/null
+++ b/src/metrics/Minkowski.F
@@ -0,0 +1,49 @@
+C Minkowski spacetime
+C $Header$
+
+#include "cctk.h"
+
+ subroutine Exact__Minkowski(
+ $ x, y, z, t,
+ $ gdtt, gdtx, gdty, gdtz,
+ $ gdxx, gdyy, gdzz, gdxy, gdyz, gdzx,
+ $ gutt, gutx, guty, gutz,
+ $ guxx, guyy, guzz, guxy, guyz, guzx)
+
+ implicit none
+
+c Input.
+
+ CCTK_REAL x, y, z, t
+
+c Output.
+
+ CCTK_REAL gdtt, gdtx, gdty, gdtz,
+ $ gdxx, gdyy, gdzz, gdxy, gdyz, gdzx,
+ $ gutt, gutx, guty, gutz,
+ $ guxx, guyy, guzz, guxy, guyz, guzx
+
+ gdtt = -1.d0
+ gdtx = 0.d0
+ gdty = 0.d0
+ gdtz = 0.d0
+ gdxx = 1.d0
+ gdyy = 1.d0
+ gdzz = 1.d0
+ gdxy = 0.d0
+ gdyz = 0.d0
+ gdzx = 0.d0
+
+ gutt = -1.d0
+ gutx = 0.d0
+ guty = 0.d0
+ gutz = 0.d0
+ guxx = 1.d0
+ guyy = 1.d0
+ guzz = 1.d0
+ guxy = 0.d0
+ guyz = 0.d0
+ guzx = 0.d0
+
+ return
+ end
diff --git a/src/metrics/Minkowski_funny.F b/src/metrics/Minkowski_funny.F
new file mode 100644
index 0000000..5a9c8e2
--- /dev/null
+++ b/src/metrics/Minkowski_funny.F
@@ -0,0 +1,106 @@
+c The metric given here corresponds to that of flat spacetime
+c but with non-trivial spatial coordinates. Basically, I take
+c the flat metric in spherical coordinates, define a new
+c radial coordinate such that:
+c
+c r = r ( 1 - a f(r ) )
+c new new
+c
+c where f(r) is a gaussian centered at r=0 with amplitude 1.
+c Finally, I transform back to cartesian coordinates.
+c For 0 <= a < 1, the transformation above is monotonic.
+c $Header$
+
+#include "cctk.h"
+#include "cctk_Parameters.h"
+
+ subroutine Exact__Minkowski_funny(
+ $ x, y, z, t,
+ $ gdtt, gdtx, gdty, gdtz,
+ $ gdxx, gdyy, gdzz, gdxy, gdyz, gdzx,
+ $ gutt, gutx, guty, gutz,
+ $ guxx, guyy, guzz, guxy, guyz, guzx)
+
+ implicit none
+
+ DECLARE_CCTK_PARAMETERS
+
+c Input.
+
+ CCTK_REAL x,y,z,t
+
+c Output.
+
+ CCTK_REAL gdtt, gdtx, gdty, gdtz,
+ $ gdxx, gdyy, gdzz, gdxy, gdyz, gdzx,
+ $ gutt, gutx, guty, gutz,
+ $ guxx, guyy, guzz, guxy, guyz, guzx
+
+c Internal.
+
+ CCTK_REAL a,s
+ CCTK_REAL r,r2,x2,y2,z2
+ CCTK_REAL f,fp,g11,g22
+ CCTK_REAL det,zero,one,two
+
+c Define numbers.
+
+ zero = 0.0d0
+ one = 1.0d0
+ two = 2.0d0
+
+c Read parameters
+
+ a = Minkowski_funny__amplitude
+ s = Minkowski_funny__sigma
+
+c Find transformation function.
+
+ x2 = x**2
+ y2 = y**2
+ z2 = z**2
+
+ r2 = x2 + y2 + z2
+ r = dsqrt(r2)
+
+ f = dexp(-r2/s**2)
+ fp = - two*r/s**2*f
+
+c Give metric components.
+
+ g11 = (one - a*(f + r*fp))**2
+ g22 = (one - a*f)**2
+
+ gdtt = - one
+ gdtx = zero
+ gdty = zero
+ gdtz = zero
+
+ gdxx = (x2*g11 + (y2 + z2)*g22)/r2
+ gdyy = (y2*g11 + (x2 + z2)*g22)/r2
+ gdzz = (z2*g11 + (x2 + y2)*g22)/r2
+
+ gdxy = x*y*(g11 - g22)/r2
+ gdzx = x*z*(g11 - g22)/r2
+ gdyz = y*z*(g11 - g22)/r2
+
+c Find inverse metric.
+
+ gutt = - one
+ gutx = zero
+ guty = zero
+ gutz = zero
+
+ det = gdxx*gdyy*gdzz + two*gdxy*gdzx*gdyz
+ . - gdxx*gdyz**2 - gdyy*gdzx**2 - gdzz*gdxy**2
+
+ guxx = (gdyy*gdzz - gdyz**2)/det
+ guyy = (gdxx*gdzz - gdzx**2)/det
+ guzz = (gdxx*gdyy - gdxy**2)/det
+
+ guxy = (gdzx*gdyz - gdzz*gdxy)/det
+ guyz = (gdxy*gdzx - gdxx*gdyz)/det
+ guzx = (gdxy*gdyz - gdyy*gdzx)/det
+
+ return
+ end
diff --git a/src/metrics/Minkowski_gauge_wave.F b/src/metrics/Minkowski_gauge_wave.F
new file mode 100644
index 0000000..5e67a70
--- /dev/null
+++ b/src/metrics/Minkowski_gauge_wave.F
@@ -0,0 +1,111 @@
+c $Header$
+
+#include "cctk.h"
+#include "cctk_Arguments.h"
+#include "cctk_Parameters.h"
+
+#define Pi (4 * atan(1.d0))
+
+
+ subroutine Exact__Minkowski_gauge_wave(
+ $ x, y, z, t,
+ $ gdtt, gdtx, gdty, gdtz,
+ $ gdxx, gdyy, gdzz, gdxy, gdyz, gdzx,
+ $ gutt, gutx, guty, gutz,
+ $ guxx, guyy, guzz, guxy, guyz, guzx)
+
+ implicit none
+ DECLARE_CCTK_PARAMETERS
+ DECLARE_CCTK_FUNCTIONS
+
+ CCTK_REAL x, y, z, t
+ CCTK_REAL gdtt, gdtx, gdty, gdtz,
+ $ gdxx, gdyy, gdzz, gdxy, gdyz, gdzx,
+ $ gutt, gutx, guty, gutz,
+ $ guxx, guyy, guzz, guxy, guyz, guzx
+
+ logical firstcall
+
+ CCTK_REAL a, o, H, d, fs
+ CCTK_REAL zero,half,one
+
+ data firstcall /.true./
+ save firstcall, a, o, d, fs
+
+C Numbers.
+
+ zero = 0.0d0
+ half = 0.5d0
+ one = 1.0d0
+
+C Get parameters of the exact solution.
+
+ if (firstcall) then
+ a = Minkowski_gauge_wave__amplitude
+ o = Minkowski_gauge_wave__omega
+ d = Minkowski_gauge_wave__lambda
+ fs = Minkowski_gauge_wave__phase
+
+ firstcall = .false.
+ end if
+
+C How should the wave look like.
+ if (CCTK_Equals(Minkowski_gauge_wave__what_fn,"sin").eq.1) then
+ d = Minkowski_gauge_wave__lambda * half / Pi
+ if (Minkowski_gauge_wave__diagonal.ne.0) then
+ H = one - a * sin((x-y)/d - o*t/d)
+ else
+ H = one - a * sin((x-o*t)/d - fs)
+ end if
+ elseif (CCTK_Equals(Minkowski_gauge_wave__what_fn,"expsin").eq.1) then
+ H = exp(a*sin(x/d)*cos(t/d))
+ elseif (CCTK_Equals(Minkowski_gauge_wave__what_fn,"Gaussian").eq.1) then
+ H = one - a*dexp(-(x-t)**2/d**2)
+ end if
+
+C write metric.
+
+ if (Minkowski_gauge_wave__diagonal .eq. 1) then
+
+ gdxx = half * H + half
+ gdxy = -half* H + half
+ gdyy = half * H + half
+
+ guxx = half / H + half
+ guxy =-half / H + half
+ guyy = half / H + half
+
+ else
+
+ gdxx = H
+ gdxy = zero
+ gdyy = one
+
+ guxx = one/H
+ guxy = zero
+ guyy = one
+
+ end if
+
+ gdtt = - H
+ gdtx = zero
+ gdty = zero
+ gdtz = zero
+
+ gdzx = zero
+ gdyz = zero
+ gdzz = one
+
+C and upper metric.
+
+ gutt = - one/H
+ gutx = zero
+ guty = zero
+ gutz = zero
+
+ guyz = zero
+ guzx = zero
+ guzz = one
+
+ return
+ end
diff --git a/src/metrics/Minkowski_shift.F b/src/metrics/Minkowski_shift.F
new file mode 100644
index 0000000..f999d15
--- /dev/null
+++ b/src/metrics/Minkowski_shift.F
@@ -0,0 +1,108 @@
+c The metric given here corresponds to that of flat spacetime
+c but with non-trivial slicing and a shift vector such that
+c the resulting metric is still time independent. I take
+c the flat metric in spherical coordinates and define a new
+c time coordinate as:
+c
+c t = t - a f(r)
+c new
+c
+c where f(r) is a gaussian centered at r=0 with amplitude 1.
+c Finally, I transform back to cartesian coordinates.
+c For -1 < fp < 1, the transformation above results in spatial
+c slices.
+c $Header$
+
+#include "cctk.h"
+#include "cctk_Parameters.h"
+
+ subroutine Exact__Minkowski_shift(
+ $ x, y, z, t,
+ $ gdtt, gdtx, gdty, gdtz,
+ $ gdxx, gdyy, gdzz, gdxy, gdyz, gdzx,
+ $ gutt, gutx, guty, gutz,
+ $ guxx, guyy, guzz, guxy, guyz, guzx)
+
+ implicit none
+
+ DECLARE_CCTK_PARAMETERS
+
+c Input.
+
+ CCTK_REAL x,y,z,t
+
+c Output.
+
+ CCTK_REAL gdtt, gdtx, gdty, gdtz,
+ $ gdxx, gdyy, gdzz, gdxy, gdyz, gdzx,
+ $ gutt, gutx, guty, gutz,
+ $ guxx, guyy, guzz, guxy, guyz, guzx
+
+
+c Internal.
+
+ CCTK_REAL a,s
+ CCTK_REAL r,r2,x2,y2,z2
+ CCTK_REAL f,fp,fpr,fpr2
+ CCTK_REAL zero,one,two
+
+c Define numbers.
+
+ zero = 0.0d0
+ one = 1.0d0
+ two = 2.0d0
+
+c Read parameters
+
+ a = Minkowski_shift__amplitude
+ s = Minkowski_shift__sigma
+
+c Find transformation function.
+
+ x2 = x**2
+ y2 = y**2
+ z2 = z**2
+
+ r2 = x2 + y2 + z2
+ r = dsqrt(r2)
+
+ f = a*dexp(-r2/s**2)
+ fp = - two*f*r/s**2
+ fpr = fp/r
+ fpr2 = fpr**2
+
+c Give metric components.
+
+ gdtt = - one
+
+ gdtx = - x*fpr
+ gdty = - y*fpr
+ gdtz = - z*fpr
+
+ gdxx = one - x2*fpr2
+ gdyy = one - y2*fpr2
+ gdzz = one - z2*fpr2
+
+ gdxy = - x*y*fpr2
+ gdzx = - x*z*fpr2
+ gdyz = - y*z*fpr2
+
+c Inverse metric. And yes, it is this simple, simpler
+c than the metric itself. I tripled checked!
+
+ gutt = - one + fp**2
+
+ gutx = - x*fpr
+ guty = - y*fpr
+ gutz = - z*fpr
+
+ guxx = one
+ guyy = one
+ guzz = one
+
+ guxy = zero
+ guzx = zero
+ guyz = zero
+
+ return
+ end
diff --git a/src/metrics/Robertson_Walker.F b/src/metrics/Robertson_Walker.F
new file mode 100644
index 0000000..85e0739
--- /dev/null
+++ b/src/metrics/Robertson_Walker.F
@@ -0,0 +1,78 @@
+C Robertson-Walker universe
+C See: J.N. Islam, An Introduction to
+C Mathematical Cosmology, Cambridge, 1992
+C Author : D. Vulcanov (Timisoara, Romania)
+C $Header$
+
+#include "cctk.h"
+#include "cctk_Parameters.h"
+
+
+ subroutine Exact__Robertson_Walker(
+ $ x, y, z, t,
+ $ gdtt, gdtx, gdty, gdtz,
+ $ gdxx, gdyy, gdzz, gdxy, gdyz, gdzx,
+ $ gutt, gutx, guty, gutz,
+ $ guxx, guyy, guzz, guxy, guyz, guzx,rama)
+
+ implicit none
+
+ DECLARE_CCTK_PARAMETERS
+ DECLARE_CCTK_FUNCTIONS
+
+
+ CCTK_REAL x, y, z, t
+ CCTK_REAL gdtt, gdtx, gdty, gdtz,
+ $ gdxx, gdyy, gdzz, gdxy, gdyz, gdzx,
+ $ gutt, gutx, guty, gutz,
+ $ guxx, guyy, guzz, guxy, guyz, guzx,rama
+
+
+ logical firstcall
+
+ CCTK_REAL r2,x2,y2,z2,am,ag, kapa
+
+ data firstcall /.true./
+ save firstcall, kapa
+ if (firstcall) then
+ kapa = Robertson_Walker__k
+ firstcall = .false.
+ end if
+
+ x2=x*x
+ y2=y*y
+ z2=z*z
+ r2 = x2+y2+z2
+
+ ag = kapa/(1.0D0-kapa*r2)
+
+ am = rama*rama
+
+
+
+ gdtt = -1.0D0
+ gdtx = 0.0D0
+ gdty = 0.0D0
+ gdtz = 0.0D0
+ gdxx = am*(1.0D0 + ag*x2)
+ gdyy = am*(1.0D0 + ag*y2)
+ gdzz = am*(1.0D0 + ag*z2)
+ gdxy = am*ag*x*y
+ gdyz = am*ag*y*z
+ gdzx = am*ag*z*x
+
+ gutt = -1.0D0
+ gutx = 0.0D0
+ guty = 0.0D0
+ gutz = 0.0D0
+ guxx = (1.0D0-kapa*x2)/am
+ guyy = (1.0D0-kapa*y2)/am
+ guzz = (1.0D0-kapa*z2)/am
+ guxy = -kapa*x*y/am
+ guyz = -kapa*y*z/am
+ guzx = -kapa*z*x/am
+
+
+
+ return
+ end
diff --git a/src/metrics/Schwarzschild_EF.F b/src/metrics/Schwarzschild_EF.F
new file mode 100644
index 0000000..a53858d
--- /dev/null
+++ b/src/metrics/Schwarzschild_EF.F
@@ -0,0 +1,70 @@
+c Schwarzschild metric in Eddington-Finkelstein coordinates,
+c as per MTW box 31.2
+c $Header$
+
+#include "cctk.h"
+#include "cctk_Parameters.h"
+
+ subroutine Exact__Schwarzschild_EF(
+ $ x, y, z, t,
+ $ gdtt, gdtx, gdty, gdtz,
+ $ gdxx, gdyy, gdzz, gdxy, gdyz, gdzx,
+ $ gutt, gutx, guty, gutz,
+ $ guxx, guyy, guzz, guxy, guyz, guzx)
+
+ implicit none
+
+ DECLARE_CCTK_PARAMETERS
+
+ CCTK_REAL x, y, z, t
+ CCTK_REAL gdtt, gdtx, gdty, gdtz,
+ $ gdxx, gdyy, gdzz, gdxy, gdyz, gdzx,
+ $ gutt, gutx, guty, gutz,
+ $ guxx, guyy, guzz, guxy, guyz, guzx
+
+ logical firstcall
+
+ CCTK_REAL eps, m
+
+ data firstcall /.true./
+ save firstcall, eps, m
+
+ CCTK_REAL r
+
+C Get parameters of the exact solution.
+
+ if (firstcall) then
+
+ eps = Schwarzschild_EF__epsilon
+ m = Schwarzschild_EF__mass
+
+ firstcall = .false.
+
+ end if
+
+ r = max(sqrt(x**2 + y**2 + z**2), eps)
+
+ gdtt = - (1.d0 - 2.d0 * m / r)
+ gdtx = 2.d0 * m * x / r**2
+ gdty = 2.d0 * m * y / r**2
+ gdtz = 2.d0 * m * z / r**2
+ gdxx = 1.d0 + 2.d0 * m * x**2 / r**3
+ gdyy = 1.d0 + 2.d0 * m * y**2 / r**3
+ gdzz = 1.d0 + 2.d0 * m * z**2 / r**3
+ gdxy = 2.d0 * m * x * y / r**3
+ gdyz = 2.d0 * m * y * z / r**3
+ gdzx = 2.d0 * m * z * x / r**3
+
+ gutt = - (1.d0 + 2.d0 * m / r)
+ gutx = 2.d0 * m * x / r**2
+ guty = 2.d0 * m * y / r**2
+ gutz = 2.d0 * m * z / r**2
+ guxx = 1.d0 - 2.d0 * m * x**2 / r**3
+ guyy = 1.d0 - 2.d0 * m * y**2 / r**3
+ guzz = 1.d0 - 2.d0 * m * z**2 / r**3
+ guxy = - 2.d0 * m * x * y / r**3
+ guyz = - 2.d0 * m * y * z / r**3
+ guzx = - 2.d0 * m * z * x / r**3
+
+ return
+ end
diff --git a/src/metrics/Schwarzschild_Lemaitre.F b/src/metrics/Schwarzschild_Lemaitre.F
new file mode 100644
index 0000000..9ff7835
--- /dev/null
+++ b/src/metrics/Schwarzschild_Lemaitre.F
@@ -0,0 +1,72 @@
+C Schwarzschild-Lemaitre metric
+c (Schwarzschild black hole with cosmological constant)
+C Proposed by Lemaitre in 1932
+C Author : D. Vulcanov (Timisoara, Romania)
+C $Header$
+
+#include "cctk.h"
+#include "cctk_Parameters.h"
+
+ subroutine Exact__Schwarzschild_Lemaitre(
+ $ x, y, z, t,
+ $ gdtt, gdtx, gdty, gdtz,
+ $ gdxx, gdyy, gdzz, gdxy, gdyz, gdzx,
+ $ gutt, gutx, guty, gutz,
+ $ guxx, guyy, guzz, guxy, guyz, guzx)
+
+ implicit none
+
+ DECLARE_CCTK_PARAMETERS
+
+ CCTK_REAL x, y, z, t
+ CCTK_REAL gdtt, gdtx, gdty, gdtz,
+ $ gdxx, gdyy, gdzz, gdxy, gdyz, gdzx,
+ $ gutt, gutx, guty, gutz,
+ $ guxx, guyy, guzz, guxy, guyz, guzx
+
+ logical firstcall
+
+ CCTK_REAL lam, mas, r2, ppp, unu, doi
+
+ data firstcall /.true./
+ save firstcall
+ if (firstcall) then
+ lam = Schwarzschild_Lemaitre__Lambda
+ mas = Schwarzschild_Lemaitre__mass
+ firstcall = .false.
+ end if
+
+ r2 =x*x+y*y+z*z
+
+ ppp=1.0D0 -2.0D0*mas/dsqrt(r2) -r2*lam/3.0D0
+
+ unu=(1.0D0-ppp)/ppp/r2
+
+ doi=(ppp - 1.0D0)/r2
+
+ gdtt = -ppp
+ gdtx = 0.0D0
+ gdty = 0.0D0
+ gdtz = 0.0D0
+ gdxx = 1.0D0 + x*x*unu
+ gdyy = 1.0D0 + y*y*unu
+ gdzz = 1.0D0 + z*z*unu
+ gdxy = x*y*unu
+ gdyz = y*z*unu
+ gdzx = z*x*unu
+
+
+ gutt = -1.0D0/ppp
+ gutx = 0.0D0
+ guty = 0.0D0
+ gutz = 0.0D0
+ guxx = 1.0D0 + x*x*doi
+ guyy = 1.0D0 + y*y*doi
+ guzz = 1.0D0 + z*z*doi
+ guxy = x*y*doi
+ guyz = y*z*doi
+ guzx = x*z*doi
+
+
+ return
+ end
diff --git a/src/metrics/Schwarzschild_Novikov.F b/src/metrics/Schwarzschild_Novikov.F
new file mode 100644
index 0000000..61a2d1a
--- /dev/null
+++ b/src/metrics/Schwarzschild_Novikov.F
@@ -0,0 +1,215 @@
+c The metric given here corresponds to the novikov solution
+c in isotropic coordinates, as presented first in Bruegman96
+c then in correct form in Cactus paper 1. This code is the code
+c which was used for the comparisons in cactus paper 1, and is written
+c by PW with input from BB.
+C $Header$
+
+
+#include "cctk.h"
+#include "cctk_Parameters.h"
+
+ subroutine Exact__Schwarzschild_Novikov(
+ $ x, y, z, t,
+ $ gdtt, gdtx, gdty, gdtz,
+ $ gdxx, gdyy, gdzz, gdxy, gdyz, gdzx,
+ $ gutt, gutx, guty, gutz,
+ $ guxx, guyy, guzz, guxy, guyz, guzx)
+
+ implicit none
+
+ DECLARE_CCTK_PARAMETERS
+
+c Input.
+
+ CCTK_REAL x, y, z, t
+
+c Output.
+
+ CCTK_REAL gdtt, gdtx, gdty, gdtz,
+ $ gdxx, gdyy, gdzz, gdxy, gdyz, gdzx,
+ $ gutt, gutx, guty, gutz,
+ $ guxx, guyy, guzz, guxy, guyz, guzx
+
+c Internal.
+ logical firstcall
+
+ CCTK_REAL eps, mass
+
+ data firstcall /.true./
+ save firstcall, eps, mass
+
+ CCTK_REAL radius
+ CCTK_REAL r,c,psi4
+ CCTK_REAL zero,one,two
+
+ CCTK_REAL nov_dr_drmax, nov_rmax, nov_r
+ CCTK_REAL grr, gqq, detg
+
+ CCTK_REAL psi4_o_r2
+
+C Get parameters of the exact solution.
+
+ if (firstcall) then
+
+ eps = Schwarzschild_Novikov__epsilon
+ mass= Schwarzschild_Novikov__mass
+
+ firstcall = .false.
+
+ end if
+
+ r = max(sqrt(x**2 + y**2 + z**2), eps)
+
+c Find {zero,one,two}.
+
+ zero = 0.0D0
+ one = 1.0D0
+ two = 2.0D0
+
+c Find r.
+ r = dsqrt(x**2 + y**2 + z**2)
+
+c Find conformal factor.
+ c = mass/(two*r)
+ psi4 = (one + c)**4
+
+c Evaluate novikov stuff. Note abs(t) since the data is time
+c symmetric (the metric is, at least...)
+ grr = nov_dr_drmax(abs(t),abs(r))
+ gqq = nov_r(abs(t),abs(r))
+
+ grr = grr **2
+ gqq = gqq**2 / nov_rmax(abs(r))**2
+
+
+c Find metric components.
+ psi4_o_r2 = psi4 / r**2
+
+ gdtt = - 1.0D0
+
+ gdtx = zero
+ gdty = zero
+ gdtz = zero
+
+c This is just straightforward spherical -> cartesian I hope... ;-)
+c Note at t=0 (grr = gqq = 1) this gives the expected result
+c (namely diagonal psi^4, since psi4_o_r2 = psi^4 / r^2)
+ gdxx = (grr * x**2 + gqq * (y**2 + z**2)) * psi4_o_r2
+ gdyy = (grr * y**2 + gqq * (x**2 + z**2)) * psi4_o_r2
+ gdzz = (grr * z**2 + gqq * (x**2 + y**2)) * psi4_o_r2
+
+ gdxy = (grr - gqq) * x * y * psi4_o_r2
+ gdzx = (grr - gqq) * x * z * psi4_o_r2
+ gdyz = (grr - gqq) * y * z * psi4_o_r2
+
+c Find inverse metric.
+ gutt = one/gdtt
+ gutx = zero
+ guty = zero
+ gutz = zero
+ detg = gdtt*gdxx*gdyy*gdzz-gdtt*gdxx*gdyz**2/4.D0-gdtt*gdxy**2*gdz
+ $z/4.D0+gdtt*gdxy*gdzx*gdyz/4.D0-gdtt*gdzx**2*gdyy/4.D0
+ guxx = -gdtt*(-4.D0*gdyy*gdzz+gdyz**2)/(4.D0 * detg)
+ guxy = -gdtt*(2.D0*gdxy*gdzz-gdzx*gdyz)/(4.D0 * detg)
+ guzx = gdtt*(gdxy*gdyz-2.D0*gdzx*gdyy)/(4.D0 * detg)
+ guyy = gdtt*(4.D0*gdxx*gdzz-gdzx**2)/(4.D0 * detg)
+ guyz = -gdtt*(2.D0*gdxx*gdyz-gdxy*gdzx)/(4.D0 * detg)
+ guzz = gdtt*(4.D0*gdxx*gdyy-gdxy**2)/(4.D0 * detg)
+
+ guxx = one/psi4
+ guyy = one/psi4
+ guzz = one/psi4
+
+ guxy = zero
+ guyz = zero
+ guzx = zero
+
+ return
+ end
+
+c These are functions which evaluate the novikov stuff.
+
+c dr/drmax
+ CCTK_REAL function nov_dr_drmax(tauin,rbarin)
+
+ implicit none
+
+ CCTK_REAL rbarin, tauin
+ CCTK_REAL rt, nov_r, rmaxt, nov_rmax
+
+ rt = nov_r(tauin, rbarin)
+ rmaxt = nov_rmax(rbarin)
+ nov_dr_drmax = 1.5D0 - rt / (2.0D0 * rmaxt) +
+ $ 1.5D0 * sqrt(rmaxt / rt - 1.0D0) *
+ $ acos(sqrt(rt/rmaxt))
+
+ return
+ end
+
+
+
+c
+c Bisection to invert the function below. This is pretty crappy
+c but it works.
+c
+ CCTK_REAL function nov_r(tauin, rbarin)
+ implicit none
+c input
+ CCTK_REAL tauin, rbarin
+
+c funtions
+ CCTK_REAL nov_rmax, nov_tau
+
+c temps
+ CCTK_REAL rg, drg, delt, ttmp, rmt
+ CCTK_REAL eps
+ integer nit
+ nit = 0
+ delt = 1000.0D0
+ rmt = nov_rmax(rbarin)
+ rg = rmt
+ drg = rg / 2.0D0
+ eps = 1.d-6 * rmt
+ do while (delt .gt. eps .and. nit .lt. 100)
+ ttmp = nov_tau(rg, rmt)
+ delt = abs(tauin - ttmp)
+ if (delt .gt. eps) then
+ if (ttmp .gt. tauin .or. rg .lt. drg) then
+ rg = rg + drg
+c Enforce upper bound
+ if (rg .gt. rmt) rg = rmt
+ drg = drg / 2.0D0
+ else
+ rg = rg - drg
+ endif
+ endif
+c write (*,*) rg, ttmp, tauin
+ nit = nit + 1
+ enddo
+ if (nit .ge. 100) then
+ write (*,*) "Novikov: inversion did not converge"
+ endif
+ nov_r = rg
+ return
+ end
+
+c Evaluate tau as a function of r and rmax
+ CCTK_REAL function nov_tau(r, rmax)
+ implicit none
+ CCTK_REAL r, rmax
+
+ nov_tau= rmax * dsqrt(0.5D0 * r * (1.0D0 - r / rmax)) +
+ $ 2.0D0 * (rmax / 2)**(3.0/2.0) *
+ $ acos (dsqrt(r/rmax))
+
+ return
+ end
+
+c Evaluate rmax as a function of rbar
+ CCTK_REAL function nov_rmax(rbar)
+ implicit none
+ CCTK_REAL rbar
+ nov_rmax = (1.0D0 + 2.0D0*rbar)**2 / (4.0D0 * rbar)
+ return
+ end
diff --git a/src/metrics/Schwarzschild_PG.F b/src/metrics/Schwarzschild_PG.F
new file mode 100644
index 0000000..37072fc
--- /dev/null
+++ b/src/metrics/Schwarzschild_PG.F
@@ -0,0 +1,75 @@
+c Schwarzschild spacetime in Painleve [e-acute on last e]-Gullstrand
+c coordinates. These have a *flat* 3-metric, and are described in
+c detail in Martel and Poisson, gr-qc/0001069
+c $Header$
+
+#include "cctk.h"
+#include "cctk_Parameters.h"
+
+ subroutine Exact__Schwarzschild_PG(
+ $ x, y, z, t,
+ $ gdtt, gdtx, gdty, gdtz,
+ $ gdxx, gdyy, gdzz, gdxy, gdyz, gdzx,
+ $ gutt, gutx, guty, gutz,
+ $ guxx, guyy, guzz, guxy, guyz, guzx)
+
+ implicit none
+
+ DECLARE_CCTK_PARAMETERS
+
+ CCTK_REAL x, y, z, t
+ CCTK_REAL gdtt, gdtx, gdty, gdtz,
+ $ gdxx, gdyy, gdzz, gdxy, gdyz, gdzx,
+ $ gutt, gutx, guty, gutz,
+ $ guxx, guyy, guzz, guxy, guyz, guzx
+
+ logical firstcall
+
+ CCTK_REAL eps, m
+
+ data firstcall /.true./
+ save firstcall, eps, m
+
+ CCTK_REAL r, bx, by, bz, b2
+
+C Get parameters of the exact solution.
+
+ if (firstcall) then
+
+ eps = Schwarzschild_PG__epsilon
+ m = Schwarzschild_PG__mass
+
+ firstcall = .false.
+
+ end if
+
+ r = max(sqrt(x**2 + y**2 + z**2), eps)
+ bx = sqrt(2.d0 * m / r) * x / r
+ by = sqrt(2.d0 * m / r) * y / r
+ bz = sqrt(2.d0 * m / r) * z / r
+ b2 = 2.d0 * m / r
+
+ gdtt = - 1.d0 + b2
+ gdtx = bx
+ gdty = by
+ gdtz = bz
+ gdxx = 1.d0
+ gdyy = 1.d0
+ gdzz = 1.d0
+ gdxy = 0.d0
+ gdyz = 0.d0
+ gdzx = 0.d0
+
+ gutt = - 1.d0
+ gutx = bx
+ guty = by
+ gutz = bz
+ guxx = 1.d0 - bx**2
+ guyy = 1.d0 - by**2
+ guzz = 1.d0 - bz**2
+ guxy = - bx * by
+ guyz = - by * bz
+ guzx = - bz * bx
+
+ return
+ end
diff --git a/src/metrics/Thorne_fakebinary.F b/src/metrics/Thorne_fakebinary.F
new file mode 100644
index 0000000..2cd954b
--- /dev/null
+++ b/src/metrics/Thorne_fakebinary.F
@@ -0,0 +1,174 @@
+C fakebinary.F
+C Bernd Bruegmann, 6/98
+C
+C Compute Thorne four-metric that, although not a solution to the
+C Einstein equations, has several characteristic features of a binary
+C star system. See gr-qc/9808024.
+C
+C $Header$
+
+#include "cctk.h"
+#include "cctk_Parameters.h"
+
+ subroutine Exact__Thorne_fakebinary(
+ $ x, y, z, t,
+ $ gdtt, gdtx, gdty, gdtz,
+ $ gdxx, gdyy, gdzz, gdxy, gdyz, gdxz,
+ $ gutt, gutx, guty, gutz,
+ $ guxx, guyy, guzz, guxy, guyz, guxz)
+
+ implicit none
+ DECLARE_CCTK_PARAMETERS
+ DECLARE_CCTK_FUNCTIONS
+
+C input
+ CCTK_REAL x, y, z, t
+
+C output
+ CCTK_REAL gdtt, gdtx, gdty, gdtz,
+ $ gdxx, gdyy, gdzz, gdxy, gdyz, gdxz,
+ $ gutt, gutx, guty, gutz,
+ $ guxx, guyy, guzz, guxy, guyz, guxz
+
+C static
+
+ logical firstcall
+
+ CCTK_REAL eps, m, a0, Omega0, bround, atype, aretarded
+
+ data firstcall /.true./
+ save firstcall, eps, m, a0, Omega0, bround, atype, aretarded
+
+C temps
+ CCTK_REAL a, Omega, tau, f
+ CCTK_REAL c, c0, c1, c2, c3
+ CCTK_REAL rho, r, sinp, cosp, phi, sint, cost, tx, ty, tz, px, py, pz
+ CCTK_REAL a2, b2, bx, by, bz, detgd
+
+C get parameters of the exact solution.
+
+ if (firstcall) then
+
+ firstcall = .false.
+
+ eps = Thorne_fakebinary__epsilon
+ m = Thorne_fakebinary__mass
+ a0 = Thorne_fakebinary__separation
+
+ Omega0 = Thorne_fakebinary__Omega0
+ bround = Thorne_fakebinary__smoothing
+
+ bround = max(bround, eps)
+
+ if (CCTK_Equals(Thorne_fakebinary__atype, "constant").ne.0) then
+ atype = 0.d0
+ elseif (CCTK_Equals(Thorne_fakebinary__atype,"quadrupole").ne.0) then
+ atype = 1.d0
+ else
+ call CCTK_Warn(0,
+ $ "Unknown value of parameter Thorne_fakebinary__atype")
+ endif
+
+ if (Thorne_fakebinary__retarded.ne.0) then
+ aretarded = 1.d0
+ else
+ aretarded = 0.d0
+ endif
+
+ end if
+
+C spherical coordinates
+
+ rho = max(sqrt(x**2 + y**2), eps)
+ r = sqrt(rho**2 + z**2)
+ sinp = y / rho
+ cosp = x / rho
+ phi = acos(cosp)
+ sint = rho / r
+ cost = z / r
+ tx = cost*cosp
+ ty = cost*sinp
+ tz = sint
+ px = - sinp
+ py = cosp
+ pz = 0
+
+C distance function a(T-R)
+
+ tau = 5.d0/128.d0 * a0**4 / m**3
+ a = a0 * (1.d0 - atype * 4.d0*(t - aretarded*r)/tau)**(0.25d0)
+
+C orbital frequency Omega(T-R)
+
+ Omega = 0.5d0*(m/a**3)**2
+
+C 1/r type potential f
+
+ c = y**2 + z**2 + bround**2;
+ f = ((x-a)**2 + c)**(-0.5d0) + ((x+a)**2 + c)**(-0.5d0)
+
+C the three metric, tt part
+
+ c3 = 2.d0*(phi + Omega*r)
+ c0 = - 4.d0 * m * a**2 * Omega**3 * (Omega*r)**4
+ . / (1 + (Omega*r)**2)**(2.5d0)
+ c1 = (1 + cost**2) * cos(c3) * c0
+ c2 = - 2.d0 * cost * sin(c3) * c0
+ gdxx = c1 * (tx*tx - px*px) + c2 * (tx*px + px*tx)
+ gdxy = c1 * (tx*ty - px*py) + c2 * (tx*py + px*ty)
+ gdxz = c1 * (tx*tz - px*pz) + c2 * (tx*pz + px*tz)
+ gdyy = c1 * (ty*ty - py*py) + c2 * (ty*py + py*ty)
+ gdyz = c1 * (ty*tz - py*pz) + c2 * (ty*pz + py*tz)
+ gdzz = c1 * (tz*tz - pz*pz) + c2 * (tz*pz + pz*tz)
+
+C the three metric, add conformally flat part
+
+ c = (1.d0 + m * f)**2
+ gdxx = gdxx + c
+ gdyy = gdyy + c
+ gdzz = gdzz + c
+
+C the shift vector and covector
+
+ c = (1.d0 - 2*m*a**2/(r**2+a**2) * f) * Omega * rho
+ bx = c * px
+ by = c * py
+ bz = c * pz
+ gdtx = gdxx*bx + gdxy*by + gdxz*bz
+ gdty = gdxy*bx + gdyy*by + gdyz*bz
+ gdtz = gdxz*bx + gdyz*by + gdzz*bz
+ b2 = gdtx*bx + gdty*by + gdtz*bz
+
+C lapse squard and time-time component of the four metric
+
+ a2 = (1.d0 - m * f)**2
+ gdtt = b2 - a2
+
+C done with metric, find its inverse
+C inverse three metric
+
+ detgd = -(gdxz**2*gdyy) + 2*gdxy*gdxz*gdyz - gdxx*gdyz**2
+ . - gdxy**2*gdzz - gdxx*gdyy*gdzz
+ guxx = (-gdyz**2 + gdyy*gdzz) / detgd
+ guxy = (gdxz*gdyz - gdxy*gdzz) / detgd
+ guxz = (-(gdxz*gdyy) + gdxy*gdyz) / detgd
+ guyy = (-gdxz**2 + gdxx*gdzz) / detgd
+ guyz = (gdxy*gdxz - gdxx*gdyz) / detgd
+ guzz = (-gdxy**2 + gdxx*gdyy) / detgd
+
+C inverse four metric
+
+ gutt = - 1.d0/a2
+ gutx = bx/a2
+ guty = by/a2
+ gutz = bz/a2
+ guxx = guxx - bx*bx/a2
+ guxy = guxy - bx*by/a2
+ guxz = guxz - bx*bz/a2
+ guyy = guyy - by*by/a2
+ guyz = guyz - by*bz/a2
+ guzz = guzz - bz*bz/a2
+
+C done!
+ return
+ end
diff --git a/src/metrics/anti_de_Sitter_Lambda.F b/src/metrics/anti_de_Sitter_Lambda.F
new file mode 100644
index 0000000..5e2733c
--- /dev/null
+++ b/src/metrics/anti_de_Sitter_Lambda.F
@@ -0,0 +1,65 @@
+C Anti DeSitter metric spacetime with csomological constant
+C Author : D. Vulcanov (Timisoara, Romania)
+C $Header$
+
+#include "cctk.h"
+#include "cctk_Parameters.h"
+
+ subroutine Exact__anti_de_Sitter_Lambda(
+ $ x, y, z, t,
+ $ gdtt, gdtx, gdty, gdtz,
+ $ gdxx, gdyy, gdzz, gdxy, gdyz, gdzx,
+ $ gutt, gutx, guty, gutz,
+ $ guxx, guyy, guzz, guxy, guyz, guzx)
+
+ implicit none
+
+ DECLARE_CCTK_PARAMETERS
+
+ CCTK_REAL x, y, z, t
+ CCTK_REAL gdtt, gdtx, gdty, gdtz,
+ $ gdxx, gdyy, gdzz, gdxy, gdyz, gdzx,
+ $ gutt, gutx, guty, gutz,
+ $ guxx, guyy, guzz, guxy, guyz, guzx
+
+ logical firstcall
+
+ CCTK_REAL arad,am
+
+ data firstcall /.true./
+ save firstcall, arad
+ if (firstcall) then
+ arad = anti_de_Sitter_Lambda__scale
+ firstcall = .false.
+ end if
+
+
+
+ am=exp(2.0D0*dsqrt(-arad/3.0D0)*x)
+
+
+ gdtt = -am
+ gdtx = 0.0D0
+ gdty = 0.0D0
+ gdtz = 0.0D0
+ gdxx = 1.0D0
+ gdyy = am
+ gdzz = am
+ gdxy = 0.0D0
+ gdyz = 0.0D0
+ gdzx = 0.0D0
+
+ gutt = -1.0D0/am
+ gutx = 0.0D0
+ guty = 0.0D0
+ gutz = 0.0D0
+ guxx = 1.0D0
+ guyy = 1.0D0/am
+ guzz = 1.0D0/am
+ guxy = 0.0D0
+ guyz = 0.0D0
+ guzx = 0.0D0
+
+
+ return
+ end
diff --git a/src/metrics/boost_rotation_symmetric.F b/src/metrics/boost_rotation_symmetric.F
new file mode 100644
index 0000000..ec3dbf9
--- /dev/null
+++ b/src/metrics/boost_rotation_symmetric.F
@@ -0,0 +1,165 @@
+c Boost-Rotation symmetric metric
+c see Pravda and Pravdova [a-acute accent on last a], gr-qc/0003067
+c $Header$
+
+#include "cctk.h"
+#include "cctk_Parameters.h"
+
+ subroutine Exact__boost_rotation_symmetric(
+ $ x, y, z, t,
+ $ gdtt, gdtx, gdty, gdtz,
+ $ gdxx, gdyy, gdzz, gdxy, gdyz, gdzx,
+ $ gutt, gutx, guty, gutz,
+ $ guxx, guyy, guzz, guxy, guyz, guzx)
+
+ implicit none
+
+ DECLARE_CCTK_PARAMETERS
+
+ CCTK_REAL x, y, z, t,
+ $ gdtt, gdtx, gdty, gdtz,
+ $ gdxx, gdyy, gdzz, gdxy, gdyz, gdzx,
+ $ gutt, gutx, guty, gutz,
+ $ guxx, guyy, guzz, guxy, guyz, guzx
+ CCTK_REAL a, b, mu0, mu1, lam1, mu2, lam2,
+ $ lam3, mu4, lam4, mu5, lam5, num, div, f,
+ $ elam, emu0, delta, gfunc, tmp
+ CCTK_REAL h, d, numlim
+
+ external gfunc
+
+ logical firstcall
+
+ data firstcall /.true./
+ save firstcall, h, d, numlim
+
+C Get parameters of the exact solution.
+
+ if (firstcall) then
+ h = boost_rotation_symmetric__scale
+ d = boost_rotation_symmetric__amp
+ numlim = boost_rotation_symmetric__min_d
+
+ firstcall = .false.
+ end if
+
+C Intermediate quantities.
+
+ a = x**2 + y**2
+ b = z**2 - t**2
+
+ num = (0.5d0 * (a + b) - h)**2 + 2.d0 * h * a
+
+C Make sure we are not sitting on one of the two source wordlines,
+C given by x = y = 0, z = +/- sqrt(h^2 + t^2)
+
+ if (num / h**4 .le. numlim) stop 'too close to source wordline'
+
+ div = 1.d0 / sqrt(num**3)
+ f = d**2 * ((0.25d0 * (a + b)**2 - h**2)**2
+ $ - 0.5d0 * h**2 * a * b) / num**4
+
+ mu0 = - d * div * (0.5d0 * a**2 + h * a)
+ mu1 = - d * div * (0.5d0 * b + a - h)
+ lam1 = d * div * (0.5d0 * b - h) - a * f
+ mu2 = gfunc(b, mu1)
+ lam2 = gfunc(b, lam1)
+
+ lam3 = d * div * (0.5d0 * b**2 - h * b)
+ lam4 = - d * div * (0.5d0 * a + h) - b * f
+ mu4 = - d * div * (0.5d0 * a + b + h)
+ mu5 = gfunc(a, - mu4)
+ lam5 = gfunc(a, lam4)
+
+ elam = exp(lam3 + a * lam4)
+ emu0 = exp(mu0)
+ delta = exp(lam3) * (mu5 - lam5)
+
+C All nonvanishing metric coefficients (downstairs).
+
+ gdxx = elam + y**2 * Delta
+ gdyy = elam + x**2 * Delta
+ gdxy = - x * y * Delta
+ gdzz = emu0 * (1.d0 + lam2 * z**2 - mu2 * t**2)
+ gdtz = - emu0 * z * t * (lam2 - mu2)
+ gdtt = - emu0 * (1.d0 + mu2 * z**2 - lam2 * t**2)
+
+C Others.
+
+ gdzx = 0.d0
+ gdyz = 0.d0
+ gdtx = 0.d0
+ gdty = 0.d0
+
+C It is clear that the 3-metric is always spacelike in the xy plane. So
+C we only need to check that gdzz is positive.
+
+ if (gdzz .le. 0.d0) then
+ write(*,*) 'WARNING 3-metric not spacelike in boostrot at'
+ write(*,*) 't =', t, 'z =', z
+ write(*,*) 'x =', x, 'y =', y
+ pause
+ end if
+
+C Calculate inverse metric. That is not too difficult as it is
+c in block-diagonal form.
+
+ tmp = gdtt * gdzz - gdtz**2
+
+ if (tmp .eq. 0.d0) then
+ write(*,*) 'boostrot metric inverse failed in tz plane'
+ STOP
+ end if
+
+ gutt = gdzz / tmp
+ guzz = gdtt / tmp
+ gutz = - gdtz / tmp
+
+ tmp = gdxx * gdyy - gdxy**2
+
+ if (tmp .eq. 0.d0) then
+ write(*,*) 'boostrot metric inverse failed in xy plane'
+ STOP
+ end if
+
+ guxx = gdyy / tmp
+ guyy = gdxx / tmp
+ guxy = - gdxy / tmp
+
+ guzx = 0.d0
+ guyz = 0.d0
+ gutx = 0.d0
+ guty = 0.d0
+
+ return
+ end
+
+ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
+
+C Calculates g = [exp (x f) - 1] / x as a power series for small x,
+C so that the expression is regular at x = 0.
+
+ function gfunc(x, f)
+
+ implicit none
+
+ integer n
+
+ CCTK_REAL x, f, gfunc
+ CCTK_REAL sum, tmp
+
+ if (abs(x*f) .ge. 1.d-6) then
+ gfunc = (exp(x*f) - 1.d0) / x
+ else
+ sum = 0.d0
+ tmp = f
+ do n=1,10
+ tmp = tmp / dble(n)
+ sum = sum + tmp
+ tmp = tmp * x * f
+ end do
+ gfunc = sum
+ end if
+
+ return
+ end
diff --git a/src/metrics/bowl.F b/src/metrics/bowl.F
new file mode 100644
index 0000000..192c4e0
--- /dev/null
+++ b/src/metrics/bowl.F
@@ -0,0 +1,242 @@
+c The metric given here is not a solution of
+c Einsteins equations! It is nevertheless
+c useful for tests since it has a particularly
+c nice geometry. It is a static, spherically
+c symmetric metric with no shift.
+c
+c In spherical coordinates, the metric has the
+c form:
+c
+c 2 2 2 2
+c ds = dr + R(r) d Omega
+c
+c Clearly, r measures radial proper distance, and R(r)
+c is the areal (Schwarzschild) radius.
+c
+c I choose a form of R(r) such that:
+c
+c R --> r r<<1, r>>1
+c
+c So close in, and far away we have a flat metric.
+c In the middle region, I take R to be smaller than
+c r, but still larger than zero. This deficit in
+c areal radius produces the geometry of a "bag of gold".
+c
+c The size of the deviation from a flat geometry
+c is controled by the parameter "bowl__strength".
+c If this parameter is 0, we are in flat space.
+c The width of the curved region is controled by
+c the paramter "bowl__sigma", and the place where the
+c curvature becomes significant (the center of the
+c deformation) is controled by "bowl__center".
+c
+c The specific form of the function R(r) is:
+c
+c R(r) = ( r - a f(r) )
+c
+c and the form of thr function f(r) depends on the
+c parameter bowl__shape:
+c 2 2 2
+c bowl__shape = "Gaussian" f(r) = exp(-(r-c) / s )
+c
+c bowl__shape = "Fermi" f(r) = 1 / ( 1 + exp(-s(r-c)) )
+c
+c There are three extra paramters
+c (bowl__x_scale,bowl__y_scale,bowl__z_scale) that set the
+c scales for the (x,y,z) axis respectively. Their default
+c value are all 1. These parameters are useful to hide the
+c spherical symmetry of the metric.
+c
+c $Header$
+
+#include "cctk.h"
+#include "cctk_Parameters.h"
+
+ subroutine Exact__bowl(
+ $ x, y, z, t,
+ $ gdtt, gdtx, gdty, gdtz,
+ $ gdxx, gdyy, gdzz, gdxy, gdyz, gdzx,
+ $ gutt, gutx, guty, gutz,
+ $ guxx, guyy, guzz, guxy, guyz, guzx)
+
+ implicit none
+
+ DECLARE_CCTK_PARAMETERS
+ DECLARE_CCTK_FUNCTIONS
+
+c Input.
+ CCTK_REAL x, y, z, t
+
+c Output.
+ CCTK_REAL gdtt, gdtx, gdty, gdtz,
+ $ gdxx, gdyy, gdzz, gdxy, gdyz, gdzx,
+ $ gutt, gutx, guty, gutz,
+ $ guxx, guyy, guzz, guxy, guyz, guzx
+
+ logical firstcall,evolve
+
+ integer type
+
+ CCTK_REAL a,c,s
+ CCTK_REAL dx,dy,dz
+ CCTK_REAL r,r2,rr2
+ CCTK_REAL xr,yr,zr,xr2,yr2,zr2
+ CCTK_REAL fac,det
+ CCTK_REAL tfac,st,t0
+ CCTK_REAL zero,one,two
+
+ data firstcall /.true./
+ save firstcall,evolve,type,a,c,s,dx,dy,dz,t0,st
+
+c Find {zero,one,two}.
+
+ zero = 0.0d0
+ one = 1.0d0
+ two = 2.0d0
+
+c Get parameters of the metric.
+
+ if (firstcall) then
+
+ a = bowl__strength
+ c = bowl__center
+ s = bowl__sigma
+
+ dx = bowl__x_scale
+ dy = bowl__y_scale
+ dz = bowl__z_scale
+
+ if (CCTK_Equals(bowl__shape,"Gaussian").ne.0) then
+ type = 1
+ else if (CCTK_Equals(bowl__shape,"Fermi").ne.0) then
+ type = 2
+ else
+ call CCTK_WARN(0,"Unknown parameter bowl__shape")
+ end if
+
+ if (bowl__evolve.eq.1) then
+ evolve = .true.
+ t0 = bowl__t0
+ st = bowl__sigma_t
+ else
+ evolve = .false.
+ end if
+
+ firstcall = .false.
+
+ end if
+
+c Multiply the bowl strength "a" with a time evolution factor.
+c The time evolution factor is taken to be a Fermi step centered
+c in `t0' and with a width `st'. The size of this step is always
+c 1 so that far in the past we will always have flat space, and
+c far in the future we will have the static bowl.
+
+ if (evolve) then
+ tfac = one/(one + dexp(-st*(t-t0)))
+ else
+ tfac = one
+ end if
+
+ a = a*tfac
+
+c Find {r2,r}.
+
+ r2 = (x/dx)**2 + (y/dy)**2 + (z/dz)**2
+ r = dsqrt(r2)
+
+c Find the form function rr2
+c
+c 2 2 2
+c rr2 = (r - a f) / r = (1 - a f / r)
+
+ if (type.eq.1) then
+
+c Gaussian bowl:
+c 2 2 2
+c rr2 = [ 1 - a exp(-(r-c) /s ) / r ]
+c
+c Notice that this really does not go to 1 at the
+c origin. To fix this, I multiply the gaussian
+c with the factor:
+c
+c fac = 1 - sech(4r)
+c
+c This goes smoothly to 0 at the origin, and climbs
+c fast to a limiting value of 1 (at r=1 it is already
+c equal to 0.96).
+
+ fac = one - two/(dexp(4.0d0*r) + dexp(-4.0d0*r))
+ rr2 = (one - a*fac*dexp(-((r-c)/s)**2)/r)**2
+
+ else if (type.eq.2) then
+
+c Fermi bowl:
+c 2
+c rr2 = [ 1 - 1 / ( 1 + exp(-s(r-c)) ) / r ]
+c
+c Again, this doesnt really go to 1 at the origin, so
+c I use the same trick as above.
+
+ fac = one - two/(dexp(4.0d0*r) + dexp(-4.0d0*r))
+ rr2 = (one - a*fac/(one + dexp(-s*(r-c)))/r)**2
+
+ end if
+
+c Give metric components.
+
+ gdtt = - one
+ gdtx = zero
+ gdty = zero
+ gdtz = zero
+
+ if (r.ne.0) then
+
+ xr = (x/dx)/r
+ yr = (y/dy)/r
+ zr = (z/dz)/r
+
+ xr2 = xr**2
+ yr2 = yr**2
+ zr2 = zr**2
+
+ gdxx = (xr2 + rr2*(yr2 + zr2))/dx**2
+ gdyy = (yr2 + rr2*(xr2 + zr2))/dy**2
+ gdzz = (zr2 + rr2*(xr2 + yr2))/dz**2
+
+ gdxy = xr*yr*(one - rr2)/(dx*dy)
+ gdyz = yr*zr*(one - rr2)/(dy*dz)
+ gdzx = xr*zr*(one - rr2)/(dx*dz)
+
+ else
+
+ gdxx = one
+ gdyy = one
+ gdzz = one
+
+ gdxy = zero
+ gdyz = zero
+ gdzx = zero
+
+ end if
+
+c Find inverse metric.
+
+ gutt = - one
+ gutx = zero
+ guty = zero
+ gutz = zero
+
+ det = gdxx*gdyy*gdzz + two*gdxy*gdzx*gdyz
+ . - gdxx*gdyz**2 - gdyy*gdzx**2 - gdzz*gdxy**2
+
+ guxx = (gdyy*gdzz - gdyz**2)/det
+ guyy = (gdxx*gdzz - gdzx**2)/det
+ guzz = (gdxx*gdyy - gdxy**2)/det
+
+ guxy = (gdzx*gdyz - gdzz*gdxy)/det
+ guyz = (gdxy*gdzx - gdxx*gdyz)/det
+ guzx = (gdxy*gdyz - gdyy*gdzx)/det
+
+ return
+ end
diff --git a/src/metrics/constant_density_star.F b/src/metrics/constant_density_star.F
new file mode 100644
index 0000000..ab3aa30
--- /dev/null
+++ b/src/metrics/constant_density_star.F
@@ -0,0 +1,125 @@
+c The metric given here corresponds to a constant
+c density star, also known as a "Schwarzschild" star.
+c There is corresponding code in
+c include/Scalar_CalcTmunu.inc
+c to set up the matter variables.
+c Author: Mitica Vulcanov
+c $Header$
+
+
+#include "cctk.h"
+#include "cctk_Parameters.h"
+
+ subroutine Exact__constant_density_star(
+ $ x, y, z, t,
+ $ gdtt, gdtx, gdty, gdtz,
+ $ gdxx, gdyy, gdzz, gdxy, gdyz, gdzx,
+ $ gutt, gutx, guty, gutz,
+ $ guxx, guyy, guzz, guxy, guyz, guzx)
+
+c
+c The metric is given as a conformally flat metric.
+c Turns out that in the original areal radius, the
+c metric variables have a kink at the surface of the
+c star, but they are smooth in the conformal form.
+c
+c Thanks to Philippos Papadopoulos for suggesting
+c the use of this metric.
+
+ implicit none
+
+ DECLARE_CCTK_PARAMETERS
+
+c Input.
+
+ CCTK_REAL x, y, z, t
+
+c Output.
+
+ CCTK_REAL gdtt, gdtx, gdty, gdtz,
+ $ gdxx, gdyy, gdzz, gdxy, gdyz, gdzx,
+ $ gutt, gutx, guty, gutz,
+ $ guxx, guyy, guzz, guxy, guyz, guzx
+
+c Internal.
+
+ logical firstcall
+
+ CCTK_REAL mass,radius
+ CCTK_REAL r,c,psi4
+ CCTK_REAL zero,one,two
+
+ data firstcall /.true./
+ save firstcall, mass, radius
+
+c Find {zero,one,two}.
+
+ zero = 0.0D0
+ one = 1.0D0
+ two = 2.0D0
+
+c Get parameters of the metric.
+
+ if (firstcall) then
+
+ mass = constant_density_star__mass
+ radius = constant_density_star__radius
+
+ firstcall = .false.
+
+ end if
+
+c Find r.
+
+ r = dsqrt(x**2 + y**2 + z**2)
+
+c Find conformal factor.
+
+ if (r.le.radius) then
+
+ c = mass/(two*radius)
+
+ psi4 = (one + c)**6/(one + c*(r/radius)**2)**2
+
+ else
+
+ c = mass/(two*r)
+
+ psi4 = (one + c)**4
+
+ end if
+
+c Find metric components.
+
+ gdtt = - psi4
+
+ gdtx = zero
+ gdty = zero
+ gdtz = zero
+
+ gdxx = psi4
+ gdyy = psi4
+ gdzz = psi4
+
+ gdxy = zero
+ gdyz = zero
+ gdzx = zero
+
+c Find inverse metric.
+
+ gutt = -one/psi4
+
+ gutx = zero
+ guty = zero
+ gutz = zero
+
+ guxx = one/psi4
+ guyy = one/psi4
+ guzz = one/psi4
+
+ guxy = zero
+ guyz = zero
+ guzx = zero
+
+ return
+ end
diff --git a/src/metrics/de_Sitter.F b/src/metrics/de_Sitter.F
new file mode 100644
index 0000000..2ced3e5
--- /dev/null
+++ b/src/metrics/de_Sitter.F
@@ -0,0 +1,68 @@
+C Einstein-DeSitter metric spacetime !!!!
+C It emulates the Robertson-Walker universe
+C near t=0, with zero pressure, and k=0
+C See :J.N. Islam, An Introduction to
+C Mathematical Cosmology, Cambridge, 1992 and
+C S. Hawking, G.F.R. Ellis, The Large Scale
+C Structure of space-time, Cambridge, 1973
+C Author : D. Vulcanov (Timisoara, Romania)
+C $Header$
+
+#include "cctk.h"
+#include "cctk_Parameters.h"
+
+ subroutine Exact__de_Sitter(
+ $ x, y, z, t,
+ $ gdtt, gdtx, gdty, gdtz,
+ $ gdxx, gdyy, gdzz, gdxy, gdyz, gdzx,
+ $ gutt, gutx, guty, gutz,
+ $ guxx, guyy, guzz, guxy, guyz, guzx)
+
+ implicit none
+
+ DECLARE_CCTK_PARAMETERS
+
+ CCTK_REAL x, y, z, t
+ CCTK_REAL gdtt, gdtx, gdty, gdtz,
+ $ gdxx, gdyy, gdzz, gdxy, gdyz, gdzx,
+ $ gutt, gutx, guty, gutz,
+ $ guxx, guyy, guzz, guxy, guyz, guzx
+
+ logical firstcall
+
+ CCTK_REAL arad,am
+
+ data firstcall /.true./
+ save firstcall, arad
+ if (firstcall) then
+ arad = de_Sitter__scale
+ firstcall = .false.
+ end if
+
+ am=arad*t**(4.0D0/3.0D0)
+
+ gdtt = -1.0D0
+ gdtx = 0.0D0
+ gdty = 0.0D0
+ gdtz = 0.0D0
+ gdxx = am
+ gdyy = am
+ gdzz = am
+ gdxy = 0.d0
+ gdyz = 0.d0
+ gdzx = 0.d0
+
+ gutt = -1.d0
+ gutx = 0.d0
+ guty = 0.d0
+ gutz = 0.d0
+ guxx = 1.d0/am
+ guyy = 1.d0/am
+ guzz = 1.d0/am
+ guxy = 0.d0
+ guyz = 0.d0
+ guzx = 0.d0
+
+
+ return
+ end
diff --git a/src/metrics/de_Sitter_Lambda.F b/src/metrics/de_Sitter_Lambda.F
new file mode 100644
index 0000000..381159b
--- /dev/null
+++ b/src/metrics/de_Sitter_Lambda.F
@@ -0,0 +1,62 @@
+C DeSitter metric spacetime with cosmological constant
+C Author : D. Vulcanov (Timisoara, Romania)
+C $Header$
+
+#include "cctk.h"
+#include "cctk_Parameters.h"
+
+ subroutine Exact__de_Sitter_Lambda(
+ $ x, y, z, t,
+ $ gdtt, gdtx, gdty, gdtz,
+ $ gdxx, gdyy, gdzz, gdxy, gdyz, gdzx,
+ $ gutt, gutx, guty, gutz,
+ $ guxx, guyy, guzz, guxy, guyz, guzx)
+
+ implicit none
+
+ DECLARE_CCTK_PARAMETERS
+
+ CCTK_REAL x, y, z, t
+ CCTK_REAL gdtt, gdtx, gdty, gdtz,
+ $ gdxx, gdyy, gdzz, gdxy, gdyz, gdzx,
+ $ gutt, gutx, guty, gutz,
+ $ guxx, guyy, guzz, guxy, guyz, guzx
+
+ logical firstcall
+
+ CCTK_REAL arad,am
+
+ data firstcall /.true./
+ save firstcall, arad
+ if (firstcall) then
+ arad = de_Sitter_Lambda__scale
+ firstcall = .false.
+ end if
+
+ am=exp(2.0D0*dsqrt(arad/3.0d0)*t)
+
+ gdtt = -1.d0
+ gdtx = 0.d0
+ gdty = 0.d0
+ gdtz = 0.d0
+ gdxx = am
+ gdyy = am
+ gdzz = am
+ gdxy = 0.d0
+ gdyz = 0.d0
+ gdzx = 0.d0
+
+ gutt = -1.d0
+ gutx = 0.d0
+ guty = 0.d0
+ gutz = 0.d0
+ guxx = 1.d0/am
+ guyy = 1.d0/am
+ guzz = 1.d0/am
+ guxy = 0.d0
+ guyz = 0.d0
+ guzx = 0.d0
+
+
+ return
+ end
diff --git a/src/metrics/make.code.defn b/src/metrics/make.code.defn
new file mode 100644
index 0000000..858b6da
--- /dev/null
+++ b/src/metrics/make.code.defn
@@ -0,0 +1,41 @@
+# Main make.code.defn file for thorn Exact
+# $Header$
+
+#
+# Source files in this directory
+# ... if adding new files, please keep this list in the same order as the
+# metrics in this thorn's param.ccl file
+#
+SRCS = Minkowski.F \
+ Minkowski_funny.F \
+ Minkowski_shift.F \
+ Minkowski_gauge_wave.F \
+ \
+ Schwarzschild_EF.F \
+ Schwarzschild_PG.F \
+ Schwarzschild_Novikov.F \
+ Kerr_BoyerLindquist.F \
+ Kerr_KerrSchild.F \
+ Schwarzschild_Lemaitre.F \
+ multi_BH.F \
+ Thorne_fakebinary.F \
+ \
+ Lemaitre.F \
+ Robertson_Walker.F \
+ de_Sitter.F \
+ de_Sitter_Lambda.F \
+ anti_de_Sitter_Lambda.F \
+ Bianchi_I.F \
+ Goedel.F \
+ Bertotti.F \
+ Kasner_like.F \
+ Kasner_axisymmetric.F \
+ Kasner_generalized.F \
+ Milne.F \
+ \
+ boost_rotation_symmetric.F \
+ bowl.F \
+ constant_density_star.F
+
+# not fully implemented yet -- see Nina Jansen for details
+# Alvi.F Alvidef.c
diff --git a/src/metrics/multi_BH.F b/src/metrics/multi_BH.F
new file mode 100644
index 0000000..a942c67
--- /dev/null
+++ b/src/metrics/multi_BH.F
@@ -0,0 +1,134 @@
+c=======================================================================
+c23456789012345678901234567890123456789012345678901234567890123456789012
+c-----------------------------------------------------------------------
+c by Hisaaki Shinkai shinkai@wurel.wustl.edu 19980603
+c-----------------------------------------------------------------------
+c This is for maximally charged multi BH solutions such as
+c Majumdar-Papapetrou (1947) or Kastor-Traschen (1993) solution.
+c See also doc/KTsol.tex for brief review of this solution.
+c-----------------------------------------------------------------------
+c For usage: in your par file
+c Exact::exact_model = "multiBH"
+c Exact::multi_BH__Hubble = 0.0 # 0.0 means MP solution
+c Exact::multi_BH__nBH = 2 # number of BHs (upto 4, currently)
+c m_bh1,multi_BH__x1x,multi_BH__x1y,multi_BH__x1z = 1.0, -2.0,0.0,0.0 # masses and
+c m_bh2,multi_BH__x2x,multi_BH__x2y,multi_BH__x2z = 1.0, 2.0,0.0,0.0 # locations
+c-----------------------------------------------------------------------
+c $Header$
+
+#include "cctk.h"
+#include "cctk_Parameters.h"
+
+ subroutine Exact__multi_BH(
+ $ x, y, z, t,
+ $ gdtt, gdtx, gdty, gdtz,
+ $ gdxx, gdyy, gdzz, gdxy, gdyz, gdzx,
+ $ gutt, gutx, guty, gutz,
+ $ guxx, guyy, guzz, guxy, guyz, guzx)
+
+ implicit none
+
+ DECLARE_CCTK_PARAMETERS
+
+c Input.
+ CCTK_REAL x, y, z, t
+
+c Output.
+ CCTK_REAL gdtt, gdtx, gdty, gdtz,
+ $ gdxx, gdyy, gdzz, gdxy, gdyz, gdzx,
+ $ gutt, gutx, guty, gutz,
+ $ guxx, guyy, guzz, guxy, guyz, guzx
+
+ logical firstcall
+
+ CCTK_REAL kt_r, kt_aa, kt_omega
+ CCTK_REAL one,zero
+ CCTK_REAL kt_xbh(10),kt_ybh(10),kt_zbh(10),kt_mbh(10)
+
+ integer i
+
+ data firstcall /.true./
+ save firstcall,kt_xbh,kt_ybh,kt_zbh,kt_mbh
+
+c Get parameters of the exact solution.
+
+ if (firstcall) then
+
+ write(*,*) ' welcome to Kastor-Traschen (Majumdar-Papapetrou)'
+
+ if(multi_BH__nBH.ge.1) then
+ kt_xbh(1) = multi_BH__x1
+ kt_ybh(1) = multi_BH__y1
+ kt_zbh(1) = multi_BH__z1
+ kt_mbh(1) = multi_BH__mass1
+ endif
+
+ if(multi_BH__nBH.ge.2) then
+ kt_xbh(2) = multi_BH__x2
+ kt_ybh(2) = multi_BH__y2
+ kt_zbh(2) = multi_BH__z2
+ kt_mbh(1) = multi_BH__mass2
+ endif
+
+ if(multi_BH__nBH.ge.3) then
+ kt_xbh(3) = multi_BH__x3
+ kt_ybh(3) = multi_BH__y3
+ kt_zbh(3) = multi_BH__z3
+ kt_mbh(1) = multi_BH__mass3
+ endif
+
+ if(multi_BH__nBH.ge.4) then
+ kt_xbh(4) = multi_BH__x4
+ kt_ybh(4) = multi_BH__y4
+ kt_zbh(4) = multi_BH__z4
+ kt_mbh(1) = multi_BH__mass4
+ endif
+
+ write(*,*) 'time=',t
+ write(*,*) ' mass BH(x,y,z) '
+
+ do i=1,multi_BH__nBH
+ write(*,'(4e12.3)') kt_mbh(i),kt_xbh(i),kt_ybh(i),kt_zbh(i)
+ enddo
+
+ firstcall = .false.
+
+ end if
+
+ one =1.0
+ zero=0.0
+
+ kt_aa=exp(multi_BH__Hubble*t)
+ kt_omega=1.0
+
+ do i=1,multi_BH__nBH
+ kt_r=sqrt((x-kt_xbh(i))**2+(y-kt_ybh(i))**2+(z-kt_zbh(i))**2)
+ kt_omega= kt_omega+kt_mbh(i)/kt_aa/kt_r
+ enddo
+
+c write(*,*) kt_omega,kt_aa
+
+ gdtt = -1.0/kt_omega**2
+ gdtx = zero
+ gdty = zero
+ gdtz = zero
+ gdxx = (kt_aa*kt_omega)**2
+ gdyy = (kt_aa*kt_omega)**2
+ gdzz = (kt_aa*kt_omega)**2
+ gdxy = zero
+ gdyz = zero
+ gdzx = zero
+
+ gutt = one/gdtt
+ gutx = zero
+ guty = zero
+ gutz = zero
+ guxx = one/gdxx
+ guyy = one/gdyy
+ guzz = one/gdzz
+ guxy = zero
+ guyz = zero
+ guzx = zero
+
+ return
+ end