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: public  :: encode_ip_0, encode_ip_1, decode_ip_0, decode_ip_1
  public  :: encode_ip_2, encode_ip_3, decode_ip_2, decode_ip_3
  public  :: convip_plus, test_convip_plus, test_value_to_string
  private :: conv_kind_15, value_to_string
  
  type, BIND(C) :: float_ip
  real(C_FLOAT) :: lo, hi
  
negative.code:       grosint=grosint*10  ! largest integer value that will fit in maxc characters
      enddo
      if(value >= grosint) goto 444   ! try something else
      if(val>0) intdig = intdig - 1   ! one less character if number is positive
      write(fstring,12)'(I',min(maxc,intdig),')'    ! use I format
      value_to_string=min(maxc,intdig)
      goto 777
  