minimum evaluation format--the narrowest type to which results (other than assignments) are computed. From this point of view:
A cast ensures at least double evaluation on all platforms:
float x = ...;
double y = ...;
y = y + ((double_t) x * x);
NOTE
To guarantee the evaluation of narrow inner subexpressions to a wider type across all platforms, use explicit casting. You can determine the minimum evaluation format of an FPCE-compliant compiler on a particular platform from the macro