- clog << "(" << num << "/" << den << ")^(" << nm
- << ") should have been a product, instead it's "
- << radical << endl;
- errorflag = true;
+ // This is very improbable with decent random numbers but it
+ // still can happen, so we better check if it is correct:
+ if (pow(radical,inverse(nm))==num/den) {
+ // Aha! We drew some lucky numbers. Nothing to see here...
+ } else {
+ clog << "(" << num << "/" << den << ")^(" << nm
+ << ") should have been a product, instead it's "
+ << radical << endl;
+ errorflag = true;
+ }