Masamichi Hosoda <truer...@trueroad.jp> writes: >>> -fexcess-precision=style >>> This option allows further control over excess precision on >>> machines where floating-point operations occur in a format >>> with more precision or range than the IEEE standard and >>> interchange floating-point types. By default, >>> -fexcess-precision=fast is in effect; this means that >>> operations may be carried out in a wider precision than the >>> types specified in the source if that would result in faster >>> code, and it is unpredictable when rounding to the types >>> specified in the source code takes place. >> >> This sounds promising. > > If I understand correctly, such compiler options are not promising. > > Even if LilyPond C++ source codes are compiled with such option, > libguile without the option may calculate in a wider precision. > In this case, the floating point calculation > inside GUILE causes these issues.
The problem as far as I can see are non-reproducible results, and the Guile code paths do not change from one call to the next. So unless just-in-time compilation comes into play, I don't think that Guile behavior should be a problem concerning our non-reproducibility problem. -- David Kastrup