This function call was missing the case where a positive base is raised
to a real power (where pow::info(info_flags::positive) correctly returned
true).
case info_flags::positive:
return basis.info(info_flags::positive) && exponent.info(info_flags::real);
case info_flags::nonnegative:
- return basis.info(info_flags::real) && exponent.info(info_flags::integer) && exponent.info(info_flags::even);
+ return (basis.info(info_flags::positive) && exponent.info(info_flags::real)) ||
+ (basis.info(info_flags::real) && exponent.info(info_flags::integer) && exponent.info(info_flags::even));
case info_flags::has_indices: {
if (flags & status_flags::has_indices)
return true;