svcomp_ex2-alloca.c

loading
details
attribute value
description
owner Johannes Waldmann
uploaded 2017-08-17 03:45:15.0
disk size 895 Bytes
downloadable true
type
attribute value
name no_type
processor id 1
description this is the default benchmark type for rejected benchmarks and benchmarks that are not associated with a type.
owning community none
loading contents
#include <stdlib.h>

extern int __VERIFIER_nondet_int(void);

int test_fun(int x, int y, int z, int flag)
{
    int* x_ref = alloca(sizeof(int));
    int* y_ref = alloca(sizeof(int));
    int* z_ref = alloca(sizeof(int));
    int* flag_ref = alloca(sizeof(int));
    int* c = alloca(sizeof(int));
    flag = 1;
    *x_ref = x;
    *y_ref = y;
    *z_ref = z;
    *flag_ref = flag;
    *c = 0;
    while ((*y_ref < *z_ref) && (*flag_ref > 0)) {
        if ((*y_ref > 0) && (*x_ref > 1)) {
            *y_ref = (*x_ref) * (*y_ref);
        } else {
            if ((*y_ref > 0) && (*x_ref < -1)) {
                *y_ref = -(*x_ref) * (*y_ref);
            } else {
                *flag_ref = 0;
            }
        }
        *c = *c + 1;
    }
    return *c;
}

int main() {
  return test_fun(__VERIFIER_nondet_int(),__VERIFIER_nondet_int(),__VERIFIER_nondet_int(),__VERIFIER_nondet_int());
}
popout

content may be truncated. 'popout' for larger text window.

actions get anonymous link download benchmark