Что не так:
1. Выражение if(a=b) необходимо заменить на if(a==b)
2. Вещественные числа a и b равны, если fabs(a - b) < EPSILON. Следовательно, выражение if(a!=b) надо заменить на if(!(fabs(a - b) < EPSILON))
Если стоит задача реализации с помощью 4-х потоков, то нужно использовать 4 потока. ThreadPool нужен для гибкой настройки использования потоков, например не больше 4-х в зависимости от входных условий.
Программа компилируется как x86? Если да, а windows x64, то нужно указать в какую ветку реестра писать. Делается это через флаг KEY_WOW64_64KEY.
Подробнее тут: https://docs.microsoft.com/ru-ru/windows/win32/sys...