why won't this calculate more then 3 decimal places? I need to use it for my math homework, but it wants 4 decimal places for an answer and eventually I am going to need 5

#include <iostream>
#include <cstdlib>
#include <ctime>
#include <stdio.h>
#include <math.h>
using namespace std;

int main()
{
long double num=14;
num = num - ((num-8*sqrt (num+3))/(1-(4/(sqrt (num+3)))));
cout << num << endl;
return(0);
}