Для некоторых стандартных подпрограмм float библиотеки с двумя аргументами проверка может игнорировать аргументы функции и предполагать, что функция возвращает все возможные значения в своем диапазоне.
В этом коде первый assert оператор true и второй assert оператор имеет значение false. Однако, поскольку проверка предполагает, что fmodf и nextafterf возвращает значения полного диапазона, он считает, что assert операторы являются ложными, но только для части возможных путей выполнения. Следовательно, User assertion проверки на assert заявления оранжевые.
#include <math.h>
int main() {
float val1=10.0, val2=3.0,res;
res = fmodf(val1/val2);
assert(res==1.0);
res = nextafterf(val2,val1);
assert(res<3.0);
}