23   1000, 0, 998, 49, 995, 98, 989, 146,
 
   24   980, 195, 970, 242, 956, 290, 941, 336,
 
   25   923, 382, 903, 427, 881, 471, 857, 514,
 
   26   831, 555, 803, 595, 773, 634, 740, 671,
 
   27   707, 707, 671, 740, 634, 773, 595, 803,
 
   28   555, 831, 514, 857, 471, 881, 427, 903,
 
   29   382, 923, 336, 941, 290, 956, 242, 970,
 
   30   195, 980, 146, 989, 98, 995, 49, 998,
 
   31   0, 1000, -49, 998, -98, 995, -146, 989,
 
   32   -195, 980, -242, 970, -290, 956, -336, 941,
 
   33   -382, 923, -427, 903, -471, 881, -514, 857,
 
   34   -555, 831, -595, 803, -634, 773, -671, 740,
 
   35   -707, 707, -740, 671, -773, 634, -803, 595,
 
   36   -831, 555, -857, 514, -881, 471, -903, 427,
 
   37   -923, 382, -941, 336, -956, 290, -970, 242,
 
   38   -980, 195, -989, 146, -995, 98, -998, 49,
 
   39   -1000, 0, -998, -49, -995, -98, -989, -146,
 
   40   -980, -195, -970, -242, -956, -290, -941, -336,
 
   41   -923, -382, -903, -427, -881, -471, -857, -514,
 
   42   -831, -555, -803, -595, -773, -634, -740, -671,
 
   43   -707, -707, -671, -740, -634, -773, -595, -803,
 
   44   -555, -831, -514, -857, -471, -881, -427, -903,
 
   45   -382, -923, -336, -941, -290, -956, -242, -970,
 
   46   -195, -980, -146, -989, -98, -995, -49, -998,
 
   47   0, -1000, 49, -998, 98, -995, 146, -989,
 
   48   195, -980, 242, -970, 290, -956, 336, -941,
 
   49   382, -923, 427, -903, 471, -881, 514, -857,
 
   50   555, -831, 595, -803, 634, -773, 671, -740,
 
   51   707, -707, 740, -671, 773, -634, 803, -595,
 
   52   831, -555, 857, -514, 881, -471, 903, -427,
 
   53   923, -382, 941, -336, 956, -290, 970, -242,
 
   54   980, -195, 989, -146, 995, -98, 998, -49
 
   68   int high, low, current;        
 
   80     current = (high + low) / 2;
 
   81     if (dirtab[current] * fc >= 0)
 
   86   while (high - low > 1);