Found a 64bit double implementation library, but I cannot compile it

tried my code:

void run(){
  BigNumber lon1 = BigNumber("12.563545");
  lon1 /= RADS;
  BigNumber lon2 = BigNumber("12.561801");
  lon2 /= RADS;
  BigNumber lat1 = BigNumber("42.857818");
  lat1 /= RADS;
  BigNumber lat2 = BigNumber("42.858689");
  lat2 /= RADS;
  BigNumber a,c;
  
  time = micros();

  BigNumber sinLat1 = sine(lat1);
//  Serial.print("a ");
  BigNumber sinLat2 = sine(lat2);
//  Serial.print("b ");
  BigNumber cosLat1 = cosine(lat1);  
//  Serial.print("c ");

  BigNumber part1a = sinLat1*sinLat2;
//  Serial.print("c1 ");
  BigNumber part1b = cosLat1*cosine(lat2);
//  Serial.print("c2 ");
  BigNumber part1c = cosine(lon1-lon2);
//  Serial.print("c3 ");
  BigNumber part1d = part1a+part1b*part1c;
//  Serial.print("c4 ");
  a = acos(part1d);
  
  
//  Serial.print("d ");
  BigNumber partD1 = sinLat2 - sinLat1;
//  Serial.print("dA:");
  printBignum( a );
//  Serial.print(" ");
  BigNumber partD2 = cosine(a);
//  Serial.print("dB ");
  BigNumber part1 = partD1 * partD2;
//  Serial.print("d1 ");
  BigNumber part2 = (cosLat1 * sine(a));
//  Serial.print("d2 ");
  BigNumber part3 = part1/part2;
//  Serial.print("d3 ");
  c = acos( part3 );
//  Serial.print("e ");
  if ( sine(lon2-lon1)>=0 )
    c=2*M_PI-c;
    
  time = micros()-time;
  cAstro = c;
  dAstro = a;
  Serial.println ("test2:");
//  Serial.print ("distance:");
//  Serial.println ((c*RADS));
  Serial.print ("distance radians:");
  //Serial.println ((c));
  printBignum( c );
  Serial.print("time:");
  Serial.println (time);
}

acosine implementation (very bad precision):

BigNumber acosine(float x) {
  BigNumber negate = BigNumber(x < 0);
  if (x < 0){
     x*=-1;
  }
  BigNumber ret = -0.0187293;
  ret *= x;
  ret += 0.0742610;
  ret *= x;
  ret -= 0.2121144;
  ret *= x;
  ret += 1.5707288;
  BigNumber bigSqrt = x-1;
  ret *= bigSqrt.sqrt();
  ret -= 2 * negate * ret;
  return negate * bigPI + ret;
}

execution time (microseconds, precision of 5): 142256 vs 116(using float)
precison of 10: 474288
ram overflow with precision 20