I'm using this code: https://github.com/mcidasv/mcidasv/blob/master/ucar/unidata/geoloc/projection/sat/GEOSTransform.java
to retrieve longitude and latitude in Earth system from column, line coordinates in Satellite system.
This is my code:

    public class Main {

	private final static double COFF=1856;
	private final static double LOFF=1856;
	private final static double CFAC = -781648343;
	private final static double LFAC = -781648343;

	public static void main(String args[]){

		GEOSTransform geo = new GEOSTransform(0, GEOSTransform.GEOS, GEOSTransform.WGS84);

		/*
		double[] lonlat = geo.FGFtoEarth(1, 34, CFAC, COFF, LFAC, LOFF);
		System.out.println("LONLAT "+lonlat[0]+", "+lonlat[1])
		*/
		for(int x=1; x<1000;x+=1)
			for(int y=1;y<1000;y+=1){
				double[] lonlat = geo.FGFtoEarth(x, y, CFAC, COFF, LFAC, LOFF);
				System.out.println("LONLAT "+lonlat[0]+", "+lonlat[1]+": xy "+x+", "+y);
			}
	    }
    }

and I get NaN values from FGFtoEarth. Why? For that method, the doc says "Transform fractional FGF coordinates to (longitude, latitude)." What are fraction FGF coordinates? I think there is something wrong with the passed in coordinates.
Note that const members I think are correct, but I'm not sure if CFAC and LFAC are negative like above, or positive. Anyway in both case the result is the same, NaN values.