FileAST(ext=[Decl(name='nondet', quals=[ ], align=[ ], storage=[ ], funcspec=[ ], type=FuncDecl(args=None, type=TypeDecl(declname='nondet', quals=[ ], align=None, type=IdentifierType(names=['int' ] ) ) ), init=None, bitsize=None ), FuncDef(decl=Decl(name='SingleLinkCluster', quals=[ ], align=[ ], storage=[ ], funcspec=[ ], type=FuncDecl(args=ParamList(params=[Decl(name='n', quals=[ ], align=[ ], storage=[ ], funcspec=[ ], type=TypeDecl(declname='n', quals=[ ], align=None, type=IdentifierType(names=['unsigned', 'int' ] ) ), init=None, bitsize=None ), Decl(name='a', quals=[ ], align=[ ], storage=[ ], funcspec=[ ], type=TypeDecl(declname='a', quals=[ ], align=None, type=IdentifierType(names=['int' ] ) ), init=None, bitsize=None ), Decl(name='b', quals=[ ], align=[ ], storage=[ ], funcspec=[ ], type=TypeDecl(declname='b', quals=[ ], align=None, type=IdentifierType(names=['int' ] ) ), init=None, bitsize=None ), Decl(name='i', quals=[ ], align=[ ], storage=[ ], funcspec=[ ], type=TypeDecl(declname='i', quals=[ ], align=None, type=IdentifierType(names=['int' ] ) ), init=None, bitsize=None ) ] ), type=TypeDecl(declname='SingleLinkCluster', quals=[ ], align=None, type=IdentifierType(names=['void' ] ) ) ), init=None, bitsize=None ), param_decls=None, body=Compound(block_items=[Assignment(op='=', lvalue=ID(name='a' ), rvalue=ID(name='n' ) ), Assignment(op='=', lvalue=ID(name='b' ), rvalue=Constant(type='int', value='0' ) ), While(cond=BinaryOp(op='>', left=ID(name='a' ), right=Constant(type='int', value='0' ) ), stmt=Compound(block_items=[Assignment(op='=', lvalue=ID(name='a' ), rvalue=BinaryOp(op='-', left=ID(name='a' ), right=Constant(type='int', value='1' ) ) ), Assignment(op='=', lvalue=ID(name='b' ), rvalue=BinaryOp(op='+', left=ID(name='b' ), right=Constant(type='int', value='1' ) ) ), While(cond=BinaryOp(op='>', left=ID(name='b' ), right=Constant(type='int', value='0' ) ), stmt=Compound(block_items=[Assignment(op='=', lvalue=ID(name='b' ), rvalue=BinaryOp(op='-', left=ID(name='b' ), right=Constant(type='int', value='1' ) ) ), Assignment(op='=', lvalue=ID(name='i' ), rvalue=BinaryOp(op='-', left=ID(name='n' ), right=Constant(type='int', value='1' ) ) ), While(cond=BinaryOp(op='>', left=ID(name='i' ), right=Constant(type='int', value='0' ) ), stmt=If(cond=BinaryOp(op='&&', left=BinaryOp(op='>', left=ID(name='a' ), right=Constant(type='int', value='0' ) ), right=FuncCall(name=ID(name='nondet' ), args=None ) ), iftrue=Compound(block_items=[Assignment(op='=', lvalue=ID(name='a' ), rvalue=BinaryOp(op='-', left=ID(name='a' ), right=Constant(type='int', value='1' ) ) ), Assignment(op='=', lvalue=ID(name='b' ), rvalue=BinaryOp(op='+', left=ID(name='b' ), right=Constant(type='int', value='1' ) ) ) ] ), iffalse=None ) ), Assignment(op='=', lvalue=ID(name='i' ), rvalue=BinaryOp(op='-', left=ID(name='i' ), right=Constant(type='int', value='1' ) ) ) ] ) ) ] ) ) ] ) ) ] )