anchor.diff:      if(ip1/=ip2) nip=nip+1
       if(p/=p2 .and. abs(p2/p-1.0) < .0000002) nip2=nip2+1
       if(ip1/=ip2 .and. p /= p2) then
  -      if(abs(p2/p-1.0) > .0000002) then ! not within tolerance
  +      if(abs(p2/p-1.0) >= .0000002) then ! not within tolerance
           print 111, j,i,ip1,ip2,iand(ip1,1048575),iand(ip2,1048575),p,p2,abs(p2/p-1.0)
           nip3 = nip3+1
   !           stop
  
positive.code:       grosint=grosint*10  ! largest integer value that will fit in maxc characters
      enddo
      if(value >= grosint) goto 444   ! try something else
      write(fstring,12)'(I',min(maxc,intdig),')'    ! use I format
      value_to_string=min(maxc,intdig)
      goto 777
  
negative.code: 
    value=1.000001
    do i=1,9
      status=value_to_string(real(nint(value)),stringa,15)
      stringc = stringa
      print 101,stringc,trim(stringa),'',status*.01
      value=value*10.0
    enddo
  
    value=1.000001
    do i=1,9
      status=value_to_string(real(nint(-value)),stringa,15)
      stringc = stringa
      print 101,stringc,trim(stringa),'mb',status*.01
      value=value*10.0
    enddo
  
    value=1.234567
    do i=1,12
      status=value_to_string(-value,stringb,15)
      stringc = stringb
      print 101,stringc,trim(stringb),'mb',status*.01
      value=value*10.0
    enddo
  
    value=1.23456789
    do i=1,12
      status=value_to_string(-value,stringc,12)
      print 101,stringc,trim(stringc),'mb',status*.01
      value=value*0.1
    enddo
  
  101 format(1H|,A15,1H|,A15,1H|,1X,A2,3X,f6.2)
  return
  end subroutine test_value_to_string
  !===============================================================================================
  