The macOS CI job builds the examples with
CFLAGS="-O3 -Werror -Wconversion -Wno-sign-conversion" make test
and clang's -Wconversion implies -Wimplicit-int-float-conversion. In each of
these ratio expressions the numerator is cast explicitly but the denominator is
left to convert implicitly, so newer clang rejects them:
frameCompress.c:446:40: error: implicit conversion from
'const unsigned long long' to 'double' may lose precision
[-Werror,-Wimplicit-int-float-conversion]
446 | (double)ret.size_out / ret.size_in * 100);
| ~ ~~~~^~~~~~~
Cast the denominators too, matching how fileCompress.c:193 already writes the
same computation. The conversion happened anyway via the usual arithmetic
conversions, so the printed values are unchanged.
frameCompress.c is only the first failure; make stops there, and
bench_functions.c has ten more instances of the same pattern behind it.