anchor.diff:                        C_LOC(padd), istride, jstride, kstride, lstride)
   END SUBROUTINE fs_read_double_0d
   
  +SUBROUTINE fs_read_and_perturb_double(serializer, savepoint, fieldname, field, rperturb)
  +  USE m_perturb
  +  TYPE(t_serializer), INTENT(IN)           :: serializer
  +  TYPE(t_savepoint) , INTENT(IN)           :: savepoint
  +  CHARACTER(LEN=*)                         :: fieldname
  +  REAL(KIND=C_DOUBLE), INTENT(OUT), TARGET :: field
  +  REAL, INTENT(IN)                         :: rperturb
  +
  +  CALL fs_read(serializer, savepoint, fieldname, field)
  +  CALL fld_perturb(field, rperturb)
  +END SUBROUTINE fs_read_and_perturb_double
   
   SUBROUTINE fs_read_double_1d(serializer, savepoint, fieldname, field)
     TYPE(t_serializer), INTENT(IN)           :: serializer
  
positive.code:       fs_read_double_4d
    END INTERFACE
  
  CONTAINS
  
  !============================================================================
  
negative.code:                       C_LOC(padd), istride, jstride, kstride, lstride)
  END SUBROUTINE fs_read_float_0d
  
  SUBROUTINE fs_read_float_1d(serializer, savepoint, fieldname, field)
    TYPE(t_serializer), INTENT(IN)           :: serializer
    TYPE(t_savepoint) , INTENT(IN)           :: savepoint
  