https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111156
--- Comment #3 from David Binderman <dcb314 at hotmail dot com> --- Reduced C code seems to be: struct median_estimator { long median; long step } median_diff_ts[]; median_estimator_update_data, median_estimator_update_diff, median_estimator_update_median, mm_profile_print_i; median_estimator_update(struct median_estimator *me) { if (__builtin_expect(me->step, 0)) me->median = median_estimator_update_data; if (median_estimator_update_diff) me->step = median_estimator_update_median; } mm_profile_print() { mm_profile_print_i = 1; for (; mm_profile_print_i; mm_profile_print_i++) median_estimator_update(&median_diff_ts[mm_profile_print_i]); }