Пример #1
0
/* void simpleWhile(int N) */
void main(int N)
{
    __llbmc_assume(N >= 0);
    __llbmc_assume(N <= 1000);
    int x = 0, i = 0;
    while (i < N) {
        if (i % 2 == 0) {
            x += 2;
        }
        i++;
    }
    __llbmc_assert(x == N || x == N + 1);
}
Пример #2
0
int main(void)
{
    PSLL_ENTRY head;

    int s = __llbmc_nondef_int();
    __llbmc_assume(s <= 10);
    head = SLL_create(10);

    return 0;
}
Пример #3
0
int main()
{
    PSLL_ENTRY x = NULL, y = NULL;
    int s = __llbmc_nondef_int();
    __llbmc_assume(s <= 5);
    x = SLL_create(s);
    y = copy(x);
    SLL_destroy(x);
    SLL_destroy(y);
    return 0;
}
Пример #4
0
void fermat(int32_t x, int32_t y, int32_t z) {
	__llbmc_assume(x > 0 && y > 0);

	__llbmc_assume(!__llbmc_ovfl_mul_int32_t(x, x));
	__llbmc_assume(!__llbmc_ovfl_mul_int32_t(x*x, x));
	__llbmc_assume(!__llbmc_ovfl_mul_int32_t(y, y));
	__llbmc_assume(!__llbmc_ovfl_mul_int32_t(y*y, y));
	__llbmc_assume(!__llbmc_ovfl_mul_int32_t(z, z));
	__llbmc_assume(!__llbmc_ovfl_mul_int32_t(z*z, z));
	__llbmc_assume(!__llbmc_ovfl_add_int32_t(x*x*x, y*y*y));

	__llbmc_assert(x*x*x + y*y*y != z*z*z);
}