collatz.c

loading
details
attribute value
description
owner Johannes Waldmann
uploaded 2017-08-17 03:45:05.0
disk size 700 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
/*
 * Date: 2015-07-06
 * Author: Thomas Stroeder (stroeder@informatik.rwth-aachen.de)
 *
 * This is the Collatz function in the C Integer Programs format.
 * Comment: termination status unknown
 */

typedef enum {false, true} bool;

extern int __VERIFIER_nondet_int(void);

int main() {
    int x, y;
    x = __VERIFIER_nondet_int();
    while (x > 1) {
        // inlined mod 2
        y = x;
        while (y > 1) {
            y = y - 2;
        }
        if (y == 0) {
            // inlined div 2
            while (2*y < x) {
                y = y + 1;
            }
            x = y;
        } else {
            x = 3*x + 1;
        }
    }
    return 0;
}
popout

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

actions get anonymous link download benchmark