svcomp_HarrisLalNoriRajamani-2010SAS-Fig1_true-alloca.c

loading
details
attribute value
description
owner Johannes Waldmann
uploaded 2017-08-17 03:45:15.0
disk size 782 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);

void f(int d) {
    int* d_ref = alloca(sizeof(int));
    int* x = alloca(sizeof(int));
    int* y = alloca(sizeof(int));
    int* k = alloca(sizeof(int));
    int* z = alloca(sizeof(int));
    *d_ref = d;
    *x = 1;
    *y = 1;
    *k = 1;
    *z = 1;
    
    if (*k > 1073741823) {
        return;
    }
    L1:
    while (*z < *k) {
        *z = 2 * (*z);
    }
    L2:
    while (*x > 0 && *y > 0) {
        if (__VERIFIER_nondet_int()) {
            P1:
            *x = *x - *d_ref;
            *y = __VERIFIER_nondet_int();
            *z = *z - 1;
        } else {
            *y = *y - *d_ref;
        }
    }
}

int main() {
    if (__VERIFIER_nondet_int()) {
        f(1);
    } else {
        f(2);
    }
}
popout

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

actions get anonymous link download benchmark