I'm new to boost. I am trying to use the float128 type for calculating sqrts as a larger part of code, however I am not sure the values obtained are accurate to float128 precision. I have tried running the example for printing log(2) found here, I find the same for sqrt:


However, the value printed log(2) only agrees to 16 decimal places, i.e. double precision. The value I obtain is 

0.693147180559945286226763982995180413  rather than  0.693147180559945309417232121458176575

I'm using:

g++ (GCC) 4.8.2 20140120 (Red Hat 4.8.2-15) with boost 1.57.0.

Any advice as to what I am doing incorrectly?

My compile line is:

g++ -I ~/$BOOSTLIB  new.cpp -lquadmath -o new