| 
						
						
							
								
							
						
						
					 | 
				
			
			 | 
			 | 
			
				@ -304,11 +304,11 @@ C      DOUBLE PRECISION, DIMENSION(6) :: P
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				C------------------------------------------------------------------
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				C  Coefficients for approximation to  erf  in first interval
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				C------------------------------------------------------------------
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					DOUBLE PRECISION, PARAMETER, DIMENSION(5) ::
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				      DOUBLE PRECISION, PARAMETER, DIMENSION(5) ::
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				     & A = (/ 3.16112374387056560D00,
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				     &     1.13864154151050156D02,3.77485237685302021D02,
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				     &     3.20937758913846947D03, 1.85777706184603153D-1/)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					DOUBLE PRECISION, PARAMETER, DIMENSION(4) ::
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				      DOUBLE PRECISION, PARAMETER, DIMENSION(4) ::
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				     & B = (/2.36012909523441209D01,2.44024637934444173D02,
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				     &       1.28261652607737228D03,2.84423683343917062D03/)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				C------------------------------------------------------------------
 | 
			
		
		
	
	
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
				
			
			 | 
			 | 
			
				@ -320,7 +320,7 @@ C------------------------------------------------------------------
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				     2       8.81952221241769090D02,1.71204761263407058D03,
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				     3       2.05107837782607147D03,1.23033935479799725D03,
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				     4       2.15311535474403846D-8/)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					DOUBLE PRECISION, DIMENSION(8) ::
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				      DOUBLE PRECISION, DIMENSION(8) ::
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				     &  D =(/1.57449261107098347D01,1.17693950891312499D02,
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				     1       5.37181101862009858D02,1.62138957456669019D03,
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				     2       3.29079923573345963D03,4.36261909014324716D03,
 | 
			
		
		
	
	
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
				
			
			 | 
			 | 
			
				@ -328,14 +328,14 @@ C------------------------------------------------------------------
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				C------------------------------------------------------------------
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				C  Coefficients for approximation to  erfc  in third interval
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				C------------------------------------------------------------------
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					DOUBLE PRECISION, parameter,
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				      DOUBLE PRECISION, parameter,
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				     & DIMENSION(6) :: P =(/3.05326634961232344D-1,
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				     & 3.60344899949804439D-1,
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				     1       1.25781726111229246D-1,1.60837851487422766D-2,
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				     2       6.58749161529837803D-4,1.63153871373020978D-2/)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					DOUBLE PRECISION, parameter,
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				      DOUBLE PRECISION, parameter,
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				     & DIMENSION(5) :: Q =(/2.56852019228982242D00,
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				     &	1.87295284992346047D00,
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				     & 1.87295284992346047D00,
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				     1       5.27905102951428412D-1,6.05183413124413191D-2,
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				     2       2.33520497626869185D-3/)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				C------------------------------------------------------------------
 | 
			
		
		
	
	
		
			
				
					| 
						
							
								
							
						
						
							
								
							
						
						
					 | 
				
			
			 | 
			 | 
			
				@ -3090,29 +3090,29 @@ c
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				!     Subdivide the interval and create two new vectors in the stack,
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				!     one of which  overwrites the vector just processed.
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				!
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				!	 v(:,k)  = [fx1,fx2,fx3,fx4,fx5,x1,h,S,SL,SR]
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					    kp1 = k + 1;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				!	Process right interval
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					    v(1,kp1)    = v(3,k); !fx1R
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					    v(2,kp1)    = fx(3);  !fx2R
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					    v(3,kp1)    = v(4,k); !fx3R
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					    v(4,kp1)    = fx(4);  !fx4R
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					    v(5,kp1)    = v(5,k); !fx5R
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					    v(6,kp1)    = v(6,k) + four * h; ! x1R
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					    v(7,kp1)    = h;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					    v(8,kp1)    = v(10,k); ! S
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					    v(9:10,kp1) = Sn(3:4); ! SL, SR
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				!	Process left interval
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					    v(5,k)    = v(3,k); ! fx5L
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					    v(4,k)    = fx(2);  ! fx4L
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					    v(3,k)    = v(2,k); ! fx3L
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					    v(2,k)    = fx(1);  ! fx2L
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				!		 v(1,k)  unchanged     fx1L
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				!		 v(6,k)  unchanged      x1L
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					    v(7,k)    = h;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					    v(8,k)    = v(9,k); ! S
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					    v(9:10,k) = Sn(1:2); ! SL, SR
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					    k = kp1;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				!       v(:,k)  = [fx1,fx2,fx3,fx4,fx5,x1,h,S,SL,SR]
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        kp1 = k + 1;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				!    Process right interval
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        v(1,kp1)    = v(3,k); !fx1R
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        v(2,kp1)    = fx(3);  !fx2R
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        v(3,kp1)    = v(4,k); !fx3R
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        v(4,kp1)    = fx(4);  !fx4R
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        v(5,kp1)    = v(5,k); !fx5R
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        v(6,kp1)    = v(6,k) + four * h; ! x1R
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        v(7,kp1)    = h;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        v(8,kp1)    = v(10,k); ! S
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        v(9:10,kp1) = Sn(3:4); ! SL, SR
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				!    Process left interval
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        v(5,k)    = v(3,k); ! fx5L
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        v(4,k)    = fx(2);  ! fx4L
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        v(3,k)    = v(2,k); ! fx3L
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        v(2,k)    = fx(1);  ! fx2L
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				!        v(1,k)  unchanged     fx1L
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				!        v(6,k)  unchanged      x1L
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        v(7,k)    = h;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        v(8,k)    = v(9,k); ! S
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        v(9:10,k) = Sn(1:2); ! SL, SR
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        k = kp1;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				         endif
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				      enddo ! while
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				      if (epsi<abserr) iflg = IOR(iflg,4)
 | 
			
		
		
	
	
		
			
				
					| 
						
							
								
							
						
						
							
								
							
						
						
					 | 
				
			
			 | 
			 | 
			
				@ -3317,42 +3317,42 @@ c
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				!     one of which  overwrites the vector just processed.
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				!
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				!	 v(:,k)  = [fx1,fx2,..,fx8,fx9,x1,h,S,SL,SR,SL1,SL2 SR1,SR2]
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					    kp1 = k + 1;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        kp1 = k + 1;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				!	Process right interval
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					    v(1,kp1)    = v(5,k); !fx1R
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					    v(2,kp1)    = fx(5);  !fx2R
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					    v(3,kp1)    = v(6,k); !fx3R
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					    v(4,kp1)    = fx(6);  !fx4R
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					    v(5,kp1)    = v(7,k); !fx5R
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        v(1,kp1)    = v(5,k); !fx1R
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        v(2,kp1)    = fx(5);  !fx2R
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        v(3,kp1)    = v(6,k); !fx3R
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        v(4,kp1)    = fx(6);  !fx4R
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        v(5,kp1)    = v(7,k); !fx5R
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				            v(6,kp1)    = fx(7);  !fx6R
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					    v(7,kp1)    = v(8,k); !fx7R
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        v(7,kp1)    = v(8,k); !fx7R
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				            v(8,kp1)    = fx(8);  !fx8R
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					    v(9,kp1)    = v(9,k); !fx9R
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        v(9,kp1)    = v(9,k); !fx9R
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					    v(Nrule+1,kp1)    = v(Nrule+1,k) + eight * h ! x1R
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					    v(Nrule+2,kp1)    = h;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					    v(Nrule+3,kp1)    = v(Nrule+5,k); ! S
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        v(Nrule+1,kp1)    = v(Nrule+1,k) + eight * h ! x1R
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        v(Nrule+2,kp1)    = h;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        v(Nrule+3,kp1)    = v(Nrule+5,k); ! S
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				            v(Nrule+4,kp1)    = v(Nrule+8,k); ! SL
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				            v(Nrule+5,kp1)    = v(Nrule+9,k); ! SR
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					    v(Nrule+6:Nrule+9,kp1) = Sn(5:8); ! SL1,SL2,SR1, SR2
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        v(Nrule+6:Nrule+9,kp1) = Sn(5:8); ! SL1,SL2,SR1, SR2
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				!	Process left interval
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					    v(9,k)    = v(5,k); ! fx9L
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					    v(8,k)    = fx(4);  ! fx8L
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					    v(7,k)    = v(4,k); ! fx7L
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					    v(6,k)    = fx(3);  ! fx6L
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					    v(5,k)    = v(3,k); ! fx5L
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					    v(4,k)    = fx(2);  ! fx4L
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        v(9,k)    = v(5,k); ! fx9L
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        v(8,k)    = fx(4);  ! fx8L
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        v(7,k)    = v(4,k); ! fx7L
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        v(6,k)    = fx(3);  ! fx6L
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        v(5,k)    = v(3,k); ! fx5L
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        v(4,k)    = fx(2);  ! fx4L
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				            v(3,k)    = v(2,k); ! fx3L
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					    v(2,k)    = fx(1);  ! fx2L
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        v(2,k)    = fx(1);  ! fx2L
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				!	    v(1,k)    = v(1,k); ! fx1L
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				!           v(Nrule+1,k)  unchanged      x1L
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					    v(Nrule+2,k)    = h;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					    v(Nrule+3,k)    = v(Nrule + 4,k); ! S
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        v(Nrule+2,k)    = h;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        v(Nrule+3,k)    = v(Nrule + 4,k); ! S
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				            v(Nrule+4,k)    = v(Nrule+6,k); ! SL
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				            v(Nrule+5,k)    = v(Nrule+7,k); ! SR
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				            v(Nrule+6:Nrule+9,k) = Sn(1:4); ! SL1,SL2,SR1, SR2
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					    k = kp1;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        k = kp1;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				         endif
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				      enddo ! while
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				      if (epsi<abserr) iflg = IOR(iflg,4)
 | 
			
		
		
	
	
		
			
				
					| 
						
							
								
							
						
						
							
								
							
						
						
					 | 
				
			
			 | 
			 | 
			
				@ -3390,7 +3390,7 @@ c
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				            tol = max(0.1D0*LTol,2.0D-16)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				!         elseif (  LTol < excess / 10.0D0  ) then
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				!			tol = LTol + excess*0.5D0
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						else
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        else
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				            tol = LTol
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				         endif
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				         val = val + valk
 | 
			
		
		
	
	
		
			
				
					| 
						
							
								
							
						
						
							
								
							
						
						
					 | 
				
			
			 | 
			 | 
			
				@ -3532,24 +3532,24 @@ c
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				!     one of which  overwrites the vector just processed.
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				!
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				!	 v(:,k)  = [fx1,fx2,fx3,x1,h,S,SL,SR]
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					    kp1 = k + 1;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        kp1 = k + 1;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				!	Process right interval
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					    v(1,kp1)   = v(2,k); !fx1R
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					    v(2,kp1)   = fx(2); !fx2R
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					    v(3,kp1)   = v(3,k); !fx3R
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					    v(4,kp1)   = v(4,k) + two * h; ! x1R
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					    v(5,kp1)   = h;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					    v(6,kp1)   = v(8,k); ! S
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					    v(7:8,kp1) = Sn(3:4); ! SL, SR
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        v(1,kp1)   = v(2,k); !fx1R
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        v(2,kp1)   = fx(2); !fx2R
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        v(3,kp1)   = v(3,k); !fx3R
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        v(4,kp1)   = v(4,k) + two * h; ! x1R
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        v(5,kp1)   = h;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        v(6,kp1)   = v(8,k); ! S
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        v(7:8,kp1) = Sn(3:4); ! SL, SR
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				!	Process left interval
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					    v(3,k)    = v(2,k); ! fx5L
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					    v(2,k)    = fx(1);  ! fx4L
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        v(3,k)    = v(2,k); ! fx5L
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        v(2,k)    = fx(1);  ! fx4L
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				!           v(1,k)  unchanged     fx1L
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				!           v(4,k)  unchanged      x1L
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					    v(5,k)    = h;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					    v(6,k)    = v(7,k); ! S
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					    v(7:8,k)  = Sn(1:2); ! SL, SR
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					    k = kp1;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        v(5,k)    = h;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        v(6,k)    = v(7,k); ! S
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        v(7:8,k)  = Sn(1:2); ! SL, SR
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        k = kp1;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				         endif
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				      enddo ! while
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				      end subroutine AdaptiveTrapz1
 | 
			
		
		
	
	
		
			
				
					| 
						
							
								
							
						
						
							
								
							
						
						
					 | 
				
			
			 | 
			 | 
			
				@ -3595,7 +3595,7 @@ c
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				         val = val + valk
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				         if (kflg>0) iflg = ior(iflg,kflg)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				      end do
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					  if (epsi<abserr)  iflg = IOR(iflg, 3)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				      if (epsi<abserr)  iflg = IOR(iflg, 3)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				      end subroutine RombergWithBreaks
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				      subroutine Romberg1(f,a,b,decdigs,abseps,errFlg,abserr,VAL)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				      implicit none
 | 
			
		
		
	
	
		
			
				
					| 
						
							
								
							
						
						
							
								
							
						
						
					 | 
				
			
			 | 
			 | 
			
				@ -4116,8 +4116,8 @@ c
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				      double precision             :: xUp,xLo,zRho
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				      double precision, parameter  :: one = 1.0D0, zero = 0.0D0
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				      integer :: I
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					val = one
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					do I = 1, mNdim
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				      val = one
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				      do I = 1, mNdim
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				         zRho = z * mRho(I)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				         ! Uncomment / mDen below if mRho, mA, mB is not scaled
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				         xUp  = ( mB(I) - zRho )  !/ mDen(I)
 | 
			
		
		
	
	
		
			
				
					| 
						
							
								
							
						
						
							
								
							
						
						
					 | 
				
			
			 | 
			 | 
			
				@ -4153,7 +4153,7 @@ c
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				     &     Q, R
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				      PARAMETER ( SPLIT1 = 0.425D0, SPLIT2 = 5.D0,
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				     &            CONST1 = 0.180625D0, CONST2 = 1.6D0,
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				     &				ONE = 1.D0, ZERO = 0.D0, HALF = 0.5D0 )
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				     & ONE = 1.D0, ZERO = 0.D0, HALF = 0.5D0 )
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				*
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				*     Coefficients for P close to 0.5
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				*
 | 
			
		
		
	
	
		
			
				
					| 
						
							
								
							
						
						
						
					 | 
				
			
			 | 
			 | 
			
				
 
 |