183.86/84.69 YES 184.33/84.83 proof of /export/starexec/sandbox/benchmark/theBenchmark.c 184.33/84.83 # AProVE Commit ID: 48fb2092695e11cc9f56e44b17a92a5f88ffb256 marcel 20180622 unpublished dirty 184.33/84.83 184.33/84.83 184.33/84.83 Termination of the given C Problem could be proven: 184.33/84.83 184.33/84.83 (0) C Problem 184.33/84.83 (1) CToLLVMProof [EQUIVALENT, 174 ms] 184.33/84.83 (2) LLVM problem 184.33/84.83 (3) LLVMToTerminationGraphProof [EQUIVALENT, 62.2 s] 184.33/84.83 (4) LLVM Symbolic Execution Graph 184.33/84.83 (5) SymbolicExecutionGraphToSCCProof [SOUND, 0 ms] 184.33/84.83 (6) AND 184.33/84.83 (7) LLVM Symbolic Execution SCC 184.33/84.83 (8) SCC2IRS [SOUND, 117 ms] 184.33/84.83 (9) IntTRS 184.33/84.83 (10) IRS2T2 [EQUIVALENT, 0 ms] 184.33/84.83 (11) T2IntSys 184.33/84.83 (12) T2 [EQUIVALENT, 1143 ms] 184.33/84.83 (13) YES 184.33/84.83 (14) LLVM Symbolic Execution SCC 184.33/84.83 (15) SCC2IRS [SOUND, 142 ms] 184.33/84.83 (16) IntTRS 184.33/84.83 (17) IRS2T2 [EQUIVALENT, 0 ms] 184.33/84.83 (18) T2IntSys 184.33/84.83 (19) T2 [EQUIVALENT, 944 ms] 184.33/84.83 (20) YES 184.33/84.83 (21) LLVM Symbolic Execution SCC 184.33/84.83 (22) SCC2IRS [SOUND, 90 ms] 184.33/84.83 (23) IntTRS 184.33/84.83 (24) IRS2T2 [EQUIVALENT, 0 ms] 184.33/84.83 (25) T2IntSys 184.33/84.83 (26) T2 [EQUIVALENT, 2 ms] 184.33/84.83 (27) YES 184.33/84.83 (28) LLVM Symbolic Execution SCC 184.33/84.83 (29) SCC2IRS [SOUND, 48 ms] 184.33/84.83 (30) IntTRS 184.33/84.83 (31) IRS2T2 [EQUIVALENT, 0 ms] 184.33/84.83 (32) T2IntSys 184.33/84.83 (33) T2 [EQUIVALENT, 684 ms] 184.33/84.83 (34) YES 184.33/84.83 (35) LLVM Symbolic Execution SCC 184.33/84.83 (36) SCC2IRS [SOUND, 51 ms] 184.33/84.83 (37) IntTRS 184.33/84.83 (38) IRS2T2 [EQUIVALENT, 0 ms] 184.33/84.83 (39) T2IntSys 184.33/84.83 (40) T2 [EQUIVALENT, 903 ms] 184.33/84.83 (41) YES 184.33/84.83 (42) LLVM Symbolic Execution SCC 184.33/84.83 (43) SCC2IRS [SOUND, 53 ms] 184.33/84.83 (44) IntTRS 184.33/84.83 (45) IRS2T2 [EQUIVALENT, 0 ms] 184.33/84.83 (46) T2IntSys 184.33/84.83 (47) T2 [EQUIVALENT, 4 ms] 184.33/84.83 (48) YES 184.33/84.83 (49) LLVM Symbolic Execution SCC 184.33/84.83 (50) SCC2IRS [SOUND, 158 ms] 184.33/84.83 (51) IntTRS 184.33/84.83 (52) IRS2T2 [EQUIVALENT, 0 ms] 184.33/84.83 (53) T2IntSys 184.33/84.83 (54) T2 [EQUIVALENT, 2 ms] 184.33/84.83 (55) YES 184.33/84.83 (56) LLVM Symbolic Execution SCC 184.33/84.83 (57) SCC2IRS [SOUND, 82 ms] 184.33/84.83 (58) IntTRS 184.33/84.83 (59) IRS2T2 [EQUIVALENT, 0 ms] 184.33/84.83 (60) T2IntSys 184.33/84.83 (61) T2 [EQUIVALENT, 2 ms] 184.33/84.83 (62) YES 184.33/84.83 184.33/84.83 184.33/84.83 ---------------------------------------- 184.33/84.83 184.33/84.83 (0) 184.33/84.83 Obligation: 184.33/84.83 c file /export/starexec/sandbox/benchmark/theBenchmark.c 184.33/84.83 ---------------------------------------- 184.33/84.83 184.33/84.83 (1) CToLLVMProof (EQUIVALENT) 184.33/84.83 Compiled c-file /export/starexec/sandbox/benchmark/theBenchmark.c to LLVM. 184.33/84.83 ---------------------------------------- 184.33/84.83 184.33/84.83 (2) 184.33/84.83 Obligation: 184.33/84.83 LLVM Problem 184.33/84.83 184.33/84.83 Aliases: 184.33/84.83 184.33/84.83 Data layout: 184.33/84.83 184.33/84.83 "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64-S128" 184.33/84.83 184.33/84.83 Machine: 184.33/84.83 184.33/84.83 "x86_64-pc-linux-gnu" 184.33/84.83 184.33/84.83 Type definitions: 184.33/84.83 184.33/84.83 Global variables: 184.33/84.83 184.33/84.83 Function declarations and definitions: 184.33/84.83 184.33/84.83 *BasicFunctionTypename: "__VERIFIER_nondet_int" returnParam: i32 parameters: () variableLength: false visibilityType: DEFAULT callingConvention: ccc 184.33/84.83 *BasicFunctionTypename: "main" linkageType: EXTERNALLY_VISIBLE returnParam: i32 parameters: () variableLength: false visibilityType: DEFAULT callingConvention: ccc 184.33/84.83 0: 184.33/84.83 %1 = alloca i32, align 4 184.33/84.83 %i = alloca i32, align 4 184.33/84.83 %j = alloca i32, align 4 184.33/84.83 %val = alloca i32, align 4 184.33/84.83 %length = alloca i32, align 4 184.33/84.83 %arr = alloca *i32, align 8 184.33/84.83 store 0, %1 184.33/84.83 %2 = call i32 @__VERIFIER_nondet_int() 184.33/84.83 store %2, %length 184.33/84.83 %3 = load %length 184.33/84.83 %4 = icmp slt %3 1 184.33/84.83 br %4, %5, %6 184.33/84.83 5: 184.33/84.83 store 1, %length 184.33/84.83 br %6 184.33/84.83 6: 184.33/84.83 %7 = load %length 184.33/84.83 %8 = sext i32 %7 to i64 184.33/84.83 %9 = mul %8 4 184.33/84.83 %10 = alloca i8, numElementsLit: %9 184.33/84.83 %11 = bitcast *i8 %10 to *i32 184.33/84.83 store %11, %arr 184.33/84.83 %12 = load %arr 184.33/84.83 %13 = icmp ne %12 null 184.33/84.83 br %13, %15, %14 184.33/84.83 14: 184.33/84.83 store 0, %1 184.33/84.83 br %59 184.33/84.83 15: 184.33/84.83 store 0, %i 184.33/84.83 br %16 184.33/84.83 16: 184.33/84.83 %17 = load %i 184.33/84.83 %18 = load %length 184.33/84.83 %19 = icmp slt %17 %18 184.33/84.83 br %19, %20, %34 184.33/84.83 20: 184.33/84.83 %21 = call i32 @__VERIFIER_nondet_int() 184.33/84.83 store %21, %val 184.33/84.83 %22 = load %val 184.33/84.83 %23 = icmp slt %22 0 184.33/84.83 br %23, %24, %25 184.33/84.83 24: 184.33/84.83 store 0, %val 184.33/84.83 br %25 184.33/84.83 25: 184.33/84.83 %26 = load %val 184.33/84.83 %27 = load %i 184.33/84.83 %28 = sext i32 %27 to i64 184.33/84.83 %29 = load %arr 184.33/84.83 %30 = getelementptr %29, %28 184.33/84.83 store %26, %30 184.33/84.83 br %31 184.33/84.83 31: 184.33/84.83 %32 = load %i 184.33/84.83 %33 = add %32 1 184.33/84.83 store %33, %i 184.33/84.83 br %16 184.33/84.83 34: 184.33/84.83 store 0, %j 184.33/84.83 br %35 184.33/84.83 35: 184.33/84.83 %36 = load %j 184.33/84.83 %37 = load %length 184.33/84.83 %38 = icmp slt %36 %37 184.33/84.83 br %38, %39, %58 184.33/84.83 39: 184.33/84.83 br %40 184.33/84.83 40: 184.33/84.83 %41 = load %j 184.33/84.83 %42 = sext i32 %41 to i64 184.33/84.83 %43 = load %arr 184.33/84.83 %44 = getelementptr %43, %42 184.33/84.83 %45 = load %44 184.33/84.83 %46 = icmp sgt %45 0 184.33/84.83 br %46, %47, %54 184.33/84.83 47: 184.33/84.83 %48 = load %j 184.33/84.83 %49 = sext i32 %48 to i64 184.33/84.83 %50 = load %arr 184.33/84.83 %51 = getelementptr %50, %49 184.33/84.83 %52 = load %51 184.33/84.83 %53 = add %52 -1 184.33/84.83 store %53, %51 184.33/84.83 br %40 184.33/84.83 54: 184.33/84.83 br %55 184.33/84.83 55: 184.33/84.83 %56 = load %j 184.33/84.83 %57 = add %56 1 184.33/84.83 store %57, %j 184.33/84.83 br %35 184.33/84.83 58: 184.33/84.83 store 0, %1 184.33/84.83 br %59 184.33/84.83 59: 184.33/84.83 %60 = load %1 184.33/84.83 ret %60 184.33/84.83 184.33/84.83 184.33/84.83 Analyze Termination of all function calls matching the pattern: 184.33/84.83 main() 184.33/84.83 ---------------------------------------- 184.33/84.83 184.33/84.83 (3) LLVMToTerminationGraphProof (EQUIVALENT) 184.33/84.83 Constructed symbolic execution graph for LLVM program and proved memory safety. 184.33/84.83 ---------------------------------------- 184.33/84.83 184.33/84.83 (4) 184.33/84.83 Obligation: 184.33/84.83 SE Graph 184.33/84.83 ---------------------------------------- 184.33/84.83 184.33/84.83 (5) SymbolicExecutionGraphToSCCProof (SOUND) 184.33/84.83 Splitted symbolic execution graph to 8 SCCs. 184.33/84.83 ---------------------------------------- 184.33/84.83 184.33/84.83 (6) 184.33/84.83 Complex Obligation (AND) 184.33/84.83 184.33/84.83 ---------------------------------------- 184.33/84.83 184.33/84.83 (7) 184.33/84.83 Obligation: 184.33/84.83 SCC 184.33/84.83 ---------------------------------------- 184.33/84.83 184.33/84.83 (8) SCC2IRS (SOUND) 184.33/84.83 Transformed LLVM symbolic execution graph SCC into a rewrite problem. Log: 184.33/84.83 Generated rules. Obtained 58 rulesP rules: 184.33/84.83 f_2576(v32969, v32970, v32971, v32972, v32973, v32974, v32975, 0, v32977, v32978, 1, v32980, v32981, v32982, v32988, v32983, v32984, v32985, v32986, v32987, v32989, v32990, v32991, v32992, v32993, v32994, v32995, 3, 7, 4, 2, 5, 8) -> f_2581(v32969, v32970, v32971, v32972, v32973, v32974, v32975, 0, v32977, v32978, 1, v32980, v32981, v32982, v32988, v32983, v32984, v32985, v32986, v32987, v32989, v32990, v32991, v32992, v32993, v32994, v32995, 3, 7, 4, 2, 5, 8) :|: 0 = 0 184.33/84.83 f_2581(v32969, v32970, v32971, v32972, v32973, v32974, v32975, 0, v32977, v32978, 1, v32980, v32981, v32982, v32988, v32983, v32984, v32985, v32986, v32987, v32989, v32990, v32991, v32992, v32993, v32994, v32995, 3, 7, 4, 2, 5, 8) -> f_2585(v32969, v32970, v32971, v32972, v32973, v32974, v32975, 0, v32977, v32978, 1, v32980, v32981, v32982, v32988, v32983, v32984, v32985, v32986, v32987, v32989, v32990, v32991, v32992, v32993, v32994, v32995, 3, 7, 4, 2, 5, 8) :|: v32988 < v32975 184.33/84.83 f_2585(v32969, v32970, v32971, v32972, v32973, v32974, v32975, 0, v32977, v32978, 1, v32980, v32981, v32982, v32988, v32983, v32984, v32985, v32986, v32987, v32989, v32990, v32991, v32992, v32993, v32994, v32995, 3, 7, 4, 2, 5, 8) -> f_2590(v32969, v32970, v32971, v32972, v32973, v32974, v32975, 0, v32977, v32978, 1, v32980, v32981, v32982, v32988, v32983, v32984, v32985, v32986, v32987, v32989, v32990, v32991, v32992, v32993, v32994, v32995, 3, 7, 4, 2, 5, 8) :|: 0 = 0 184.33/84.83 f_2590(v32969, v32970, v32971, v32972, v32973, v32974, v32975, 0, v32977, v32978, 1, v32980, v32981, v32982, v32988, v32983, v32984, v32985, v32986, v32987, v32989, v32990, v32991, v32992, v32993, v32994, v32995, 3, 7, 4, 2, 5, 8) -> f_2594(v32969, v32970, v32971, v32972, v32973, v32974, v32975, 0, v32977, v32978, 1, v32980, v32981, v32982, v32988, v32983, v32984, v32985, v32986, v32987, v32989, v32990, v32991, v32992, v32993, v32994, v32995, 3, 7, 4, 2, 5, 8) :|: TRUE 184.33/84.83 f_2594(v32969, v32970, v32971, v32972, v32973, v32974, v32975, 0, v32977, v32978, 1, v32980, v32981, v32982, v32988, v32983, v32984, v32985, v32986, v32987, v32989, v32990, v32991, v32992, v32993, v32994, v32995, 3, 7, 4, 2, 5, 8) -> f_2598(v32969, v32970, v32971, v32972, v32973, v32974, v32975, 0, v32977, v32978, 1, v32980, v32981, v32982, v32988, v32983, v32984, v32985, v32986, v32987, v32989, v32990, v32991, v32992, v32993, v32994, v32995, 3, 7, 4, 2, 5, 8) :|: TRUE 184.33/84.83 f_2598(v32969, v32970, v32971, v32972, v32973, v32974, v32975, 0, v32977, v32978, 1, v32980, v32981, v32982, v32988, v32983, v32984, v32985, v32986, v32987, v32989, v32990, v32991, v32992, v32993, v32994, v32995, 3, 7, 4, 2, 5, 8) -> f_2602(v32969, v32970, v32971, v32972, v32973, v32974, v32975, 0, v32977, v32978, 1, v32980, v32981, v32982, v32988, v32983, v32984, v32985, v32986, v32987, v32989, v32990, v32991, v32992, v32993, v32994, v32995, 3, 7, 4, 2, 5, 8) :|: 0 = 0 184.33/84.83 f_2602(v32969, v32970, v32971, v32972, v32973, v32974, v32975, 0, v32977, v32978, 1, v32980, v32981, v32982, v32988, v32983, v32984, v32985, v32986, v32987, v32989, v32990, v32991, v32992, v32993, v32994, v32995, 3, 7, 4, 2, 5, 8) -> f_2605(v32969, v32970, v32971, v32972, v32973, v32974, v32975, 0, v32977, v32978, 1, v32980, v32981, v32982, v32988, v32984, v32985, v32986, v32987, v32983, v32989, v32990, v32991, v32992, v32993, v32994, v32995, 3, 7, 4, 2, 5, 8) :|: 0 = 0 184.33/84.83 f_2605(v32969, v32970, v32971, v32972, v32973, v32974, v32975, 0, v32977, v32978, 1, v32980, v32981, v32982, v32988, v32984, v32985, v32986, v32987, v32983, v32989, v32990, v32991, v32992, v32993, v32994, v32995, 3, 7, 4, 2, 5, 8) -> f_2608(v32969, v32970, v32971, v32972, v32973, v32974, v32975, 0, v32977, v32978, 1, v32980, v32981, v32982, v32988, v32984, v32985, v32986, v32987, v32983, v32989, v32990, v32991, v32992, v32993, v32994, v32995, 3, 7, 4, 2, 5, 8) :|: 0 = 0 184.33/84.83 f_2608(v32969, v32970, v32971, v32972, v32973, v32974, v32975, 0, v32977, v32978, 1, v32980, v32981, v32982, v32988, v32984, v32985, v32986, v32987, v32983, v32989, v32990, v32991, v32992, v32993, v32994, v32995, 3, 7, 4, 2, 5, 8) -> f_2610(v32969, v32970, v32971, v32972, v32973, v32974, v32975, 0, v32977, v32978, 1, v32980, v32981, v32982, v32988, v34175, v32985, v32986, v32987, v32983, v32989, v32990, v32991, v32992, v32993, v32994, v32995, v32984, 3, 7, 4, 2, 5, 8) :|: v34175 = v32978 + 4 * v32988 && 5 <= v34175 184.33/84.83 f_2610(v32969, v32970, v32971, v32972, v32973, v32974, v32975, 0, v32977, v32978, 1, v32980, v32981, v32982, v32988, v34175, v32985, v32986, v32987, v32983, v32989, v32990, v32991, v32992, v32993, v32994, v32995, v32984, 3, 7, 4, 2, 5, 8) -> f_2613(v32969, v32970, v32971, v32972, v32973, v32974, v32975, 0, v32977, v32978, 1, v32980, v32981, v32982, v32988, v34175, v34176, v32986, v32987, v32983, v32989, v32990, v32991, v32992, v32993, v32994, v32995, v32984, v32985, 3, 7, 4, 2, 5, 8) :|: TRUE 184.33/84.83 f_2613(v32969, v32970, v32971, v32972, v32973, v32974, v32975, 0, v32977, v32978, 1, v32980, v32981, v32982, v32988, v34175, v34176, v32986, v32987, v32983, v32989, v32990, v32991, v32992, v32993, v32994, v32995, v32984, v32985, 3, 7, 4, 2, 5, 8) -> f_2616(v32969, v32970, v32971, v32972, v32973, v32974, v32975, 0, v32977, v32978, 1, v32980, v32981, v32982, v32988, v34175, v34176, v32986, v32987, v32983, v32989, v32990, v32991, v32992, v32993, v32994, v32995, v32984, v32985, 3, 7, 4, 2, 5, 8) :|: 0 < v34176 184.33/84.83 f_2613(v32969, v32970, v32971, v32972, v32973, v32974, v32975, 0, v32977, v32978, 1, v32980, v32981, v32982, v32988, v34175, v34176, v32986, v32987, v32983, v32989, v32990, v32991, v32992, v32993, v32994, v32995, v32984, v32985, 3, 7, 4, 2, 5, 8) -> f_2617(v32969, v32970, v32971, v32972, v32973, v32974, v32975, 0, v32977, v32978, 1, v32980, v32981, v32982, v32988, v34175, v34176, v32986, v32987, v32983, v32989, v32990, v32991, v32992, v32993, v32994, v32995, v32984, v32985, 3, 7, 4, 2, 5, 8) :|: v34176 <= 0 184.33/84.83 f_2616(v32969, v32970, v32971, v32972, v32973, v32974, v32975, 0, v32977, v32978, 1, v32980, v32981, v32982, v32988, v34175, v34176, v32986, v32987, v32983, v32989, v32990, v32991, v32992, v32993, v32994, v32995, v32984, v32985, 3, 7, 4, 2, 5, 8) -> f_2620(v32969, v32970, v32971, v32972, v32973, v32974, v32975, 0, v32977, v32978, 1, v32980, v32981, v32982, v32988, v34175, v34176, v32986, v32987, v32983, v32989, v32990, v32991, v32992, v32993, v32994, v32995, v32984, v32985, 3, 7, 4, 2, 5, 8) :|: 0 = 0 184.33/84.83 f_2620(v32969, v32970, v32971, v32972, v32973, v32974, v32975, 0, v32977, v32978, 1, v32980, v32981, v32982, v32988, v34175, v34176, v32986, v32987, v32983, v32989, v32990, v32991, v32992, v32993, v32994, v32995, v32984, v32985, 3, 7, 4, 2, 5, 8) -> f_2622(v32969, v32970, v32971, v32972, v32973, v32974, v32975, 0, v32977, v32978, 1, v32980, v32981, v32982, v32988, v34175, v34176, v32986, v32987, v32983, v32989, v32990, v32991, v32992, v32993, v32994, v32995, v32984, v32985, 3, 7, 4, 2, 5, 8) :|: TRUE 184.33/84.83 f_2622(v32969, v32970, v32971, v32972, v32973, v32974, v32975, 0, v32977, v32978, 1, v32980, v32981, v32982, v32988, v34175, v34176, v32986, v32987, v32983, v32989, v32990, v32991, v32992, v32993, v32994, v32995, v32984, v32985, 3, 7, 4, 2, 5, 8) -> f_2623(v32969, v32970, v32971, v32972, v32973, v32974, v32975, 0, v32977, v32978, 1, v32980, v32981, v32982, v32988, v34175, v34176, v32986, v32987, 1, 0, v32983, v32989, v32990, v32991, v32992, v32993, v32994, v32995, v34655, v34656, 3, 7, 4, 2, 5, 8) :|: TRUE 184.33/84.83 f_2623(v34626, v34627, v34628, v34629, v34630, v34631, v34632, 0, v34634, v34635, 1, v34637, v34638, v34639, v34640, v34641, v34642, v34643, v34644, v34645, v34646, v34647, v34648, v34649, v34650, v34651, v34652, v34653, v34654, v34655, v34656, 3, 7, 4, 2, 5, 8) -> f_2650(v34626, v34627, v34628, v34629, v34630, v34631, v34632, 0, v34634, v34635, 1, v34637, v34638, v34639, v34640, v34641, v34642, v34643, v34644, v34645, v34646, v34647, v34648, v34649, v34650, v34651, v34652, v34653, v34654, v35467, v35468, 3, 7, 4, 2, 5, 8) :|: TRUE 184.33/84.83 f_2650(v35438, v35439, v35440, v35441, v35442, v35443, v35444, 0, v35446, v35447, 1, v35449, v35450, v35451, v35452, v35453, v35454, v35455, v35456, v35457, v35458, v35459, v35460, v35461, v35462, v35463, v35464, v35465, v35466, v35467, v35468, 3, 7, 4, 2, 5, 8) -> f_2652(v35438, v35439, v35440, v35441, v35442, v35443, v35444, 0, v35446, v35447, 1, v35449, v35450, v35451, v35452, v35453, v35454, v35455, v35456, v35457, v35458, v35459, v35460, v35461, v35462, v35463, v35464, v35465, v35466, v35467, v35468, 3, 7, 4, 2, 5, 8) :|: 0 = 0 184.33/84.83 f_2652(v35438, v35439, v35440, v35441, v35442, v35443, v35444, 0, v35446, v35447, 1, v35449, v35450, v35451, v35452, v35453, v35454, v35455, v35456, v35457, v35458, v35459, v35460, v35461, v35462, v35463, v35464, v35465, v35466, v35467, v35468, 3, 7, 4, 2, 5, 8) -> f_2654(v35438, v35439, v35440, v35441, v35442, v35443, v35444, 0, v35446, v35447, 1, v35449, v35450, v35451, v35452, v35453, v35454, v35456, v35457, v35458, v35459, v35460, v35461, v35462, v35463, v35464, v35465, v35466, v35467, v35468, 3, 7, 4, 2, 5, 8) :|: 0 = 0 184.33/84.83 f_2654(v35438, v35439, v35440, v35441, v35442, v35443, v35444, 0, v35446, v35447, 1, v35449, v35450, v35451, v35452, v35453, v35454, v35456, v35457, v35458, v35459, v35460, v35461, v35462, v35463, v35464, v35465, v35466, v35467, v35468, 3, 7, 4, 2, 5, 8) -> f_2656(v35438, v35439, v35440, v35441, v35442, v35443, v35444, 0, v35446, v35447, 1, v35449, v35450, v35451, v35452, v35453, v35454, v35456, v35457, v35458, v35459, v35460, v35461, v35462, v35463, v35464, v35465, v35466, v35467, v35468, 3, 7, 4, 2, 5, 8) :|: 0 = 0 184.33/84.83 f_2656(v35438, v35439, v35440, v35441, v35442, v35443, v35444, 0, v35446, v35447, 1, v35449, v35450, v35451, v35452, v35453, v35454, v35456, v35457, v35458, v35459, v35460, v35461, v35462, v35463, v35464, v35465, v35466, v35467, v35468, 3, 7, 4, 2, 5, 8) -> f_2658(v35438, v35439, v35440, v35441, v35442, v35443, v35444, 0, v35446, v35447, 1, v35449, v35450, v35451, v35452, v35453, v35454, v35457, v35458, v35459, v35460, v35461, v35462, v35463, v35464, v35465, v35466, v35456, v35467, v35468, 3, 7, 4, 2, 5, 8) :|: v35453 = v35447 + 4 * v35452 184.33/84.83 f_2658(v35438, v35439, v35440, v35441, v35442, v35443, v35444, 0, v35446, v35447, 1, v35449, v35450, v35451, v35452, v35453, v35454, v35457, v35458, v35459, v35460, v35461, v35462, v35463, v35464, v35465, v35466, v35456, v35467, v35468, 3, 7, 4, 2, 5, 8) -> f_2660(v35438, v35439, v35440, v35441, v35442, v35443, v35444, 0, v35446, v35447, 1, v35449, v35450, v35451, v35452, v35453, v35454, v35458, v35459, v35460, v35461, v35462, v35463, v35464, v35465, v35466, v35456, v35467, v35468, 3, 7, 4, 2, 5, 8) :|: 0 = 0 184.33/84.83 f_2660(v35438, v35439, v35440, v35441, v35442, v35443, v35444, 0, v35446, v35447, 1, v35449, v35450, v35451, v35452, v35453, v35454, v35458, v35459, v35460, v35461, v35462, v35463, v35464, v35465, v35466, v35456, v35467, v35468, 3, 7, 4, 2, 5, 8) -> f_2662(v35438, v35439, v35440, v35441, v35442, v35443, v35444, 0, v35446, v35447, 1, v35449, v35450, v35451, v35452, v35453, v35454, v35908, v35459, v35460, v35461, v35462, v35463, v35464, v35465, v35466, v35456, v35458, v35467, v35468, 3, 7, 4, 2, 5, 8) :|: 1 + v35908 = v35454 && 0 <= v35908 184.33/84.83 f_2662(v35438, v35439, v35440, v35441, v35442, v35443, v35444, 0, v35446, v35447, 1, v35449, v35450, v35451, v35452, v35453, v35454, v35908, v35459, v35460, v35461, v35462, v35463, v35464, v35465, v35466, v35456, v35458, v35467, v35468, 3, 7, 4, 2, 5, 8) -> f_2664(v35438, v35439, v35440, v35441, v35442, v35443, v35444, 0, v35446, v35447, 1, v35449, v35450, v35451, v35452, v35453, v35454, v35908, v35459, v35460, v35461, v35462, v35463, v35464, v35465, v35466, v35467, v35468, 3, 7, 4, 2, 5, 8) :|: TRUE 184.33/84.83 f_2664(v35438, v35439, v35440, v35441, v35442, v35443, v35444, 0, v35446, v35447, 1, v35449, v35450, v35451, v35452, v35453, v35454, v35908, v35459, v35460, v35461, v35462, v35463, v35464, v35465, v35466, v35467, v35468, 3, 7, 4, 2, 5, 8) -> f_2666(v35438, v35439, v35440, v35441, v35442, v35443, v35444, 0, v35446, v35447, 1, v35449, v35450, v35451, v35452, v35453, v35454, v35908, v35459, v35460, v35461, v35462, v35463, v35464, v35465, v35466, v35467, v35468, 3, 7, 4, 2, 5, 8) :|: TRUE 184.33/84.83 f_2666(v35438, v35439, v35440, v35441, v35442, v35443, v35444, 0, v35446, v35447, 1, v35449, v35450, v35451, v35452, v35453, v35454, v35908, v35459, v35460, v35461, v35462, v35463, v35464, v35465, v35466, v35467, v35468, 3, 7, 4, 2, 5, 8) -> f_2639(v35438, v35439, v35440, v35441, v35442, v35443, v35444, 0, v35446, v35447, 1, v35449, v35450, v35451, v35452, v35453, v35454, v35459, v35908, v35460, v35461, v35462, v35463, v35464, v35465, v35466, v35291, v35292, 3, 7, 4, 2, 5, 8) :|: TRUE 184.33/84.83 f_2639(v35265, v35266, v35267, v35268, v35269, v35270, v35271, 0, v35273, v35274, 1, v35276, v35277, v35278, v35279, v35280, v35281, v35282, v35283, v35284, v35285, v35286, v35287, v35288, v35289, v35290, v35291, v35292, 3, 7, 4, 2, 5, 8) -> f_2640(v35265, v35266, v35267, v35268, v35269, v35270, v35271, 0, v35273, v35274, 1, v35276, v35277, v35278, v35279, v35280, v35281, v35282, v35283, v35284, v35285, v35286, v35287, v35288, v35289, v35290, v35291, v35292, 3, 7, 4, 2, 5, 8) :|: 0 = 0 184.33/84.83 f_2640(v35265, v35266, v35267, v35268, v35269, v35270, v35271, 0, v35273, v35274, 1, v35276, v35277, v35278, v35279, v35280, v35281, v35282, v35283, v35284, v35285, v35286, v35287, v35288, v35289, v35290, v35291, v35292, 3, 7, 4, 2, 5, 8) -> f_2641(v35265, v35266, v35267, v35268, v35269, v35270, v35271, 0, v35273, v35274, 1, v35276, v35277, v35278, v35279, v35280, v35281, v35282, v35283, v35284, v35285, v35286, v35287, v35288, v35289, v35290, v35291, v35292, 3, 7, 4, 2, 5, 8) :|: 0 = 0 184.33/84.83 f_2641(v35265, v35266, v35267, v35268, v35269, v35270, v35271, 0, v35273, v35274, 1, v35276, v35277, v35278, v35279, v35280, v35281, v35282, v35283, v35284, v35285, v35286, v35287, v35288, v35289, v35290, v35291, v35292, 3, 7, 4, 2, 5, 8) -> f_2642(v35265, v35266, v35267, v35268, v35269, v35270, v35271, 0, v35273, v35274, 1, v35276, v35277, v35278, v35279, v35280, v35281, v35282, v35283, v35284, v35285, v35286, v35287, v35288, v35289, v35290, v35291, v35292, 3, 7, 4, 2, 5, 8) :|: 0 = 0 184.33/84.83 f_2642(v35265, v35266, v35267, v35268, v35269, v35270, v35271, 0, v35273, v35274, 1, v35276, v35277, v35278, v35279, v35280, v35281, v35282, v35283, v35284, v35285, v35286, v35287, v35288, v35289, v35290, v35291, v35292, 3, 7, 4, 2, 5, 8) -> f_2643(v35265, v35266, v35267, v35268, v35269, v35270, v35271, 0, v35273, v35274, 1, v35276, v35277, v35278, v35279, v35280, v35281, v35282, v35283, v35284, v35285, v35286, v35287, v35288, v35289, v35290, v35291, v35292, 3, 7, 4, 2, 5, 8) :|: v35280 = v35274 + 4 * v35279 184.33/84.83 f_2643(v35265, v35266, v35267, v35268, v35269, v35270, v35271, 0, v35273, v35274, 1, v35276, v35277, v35278, v35279, v35280, v35281, v35282, v35283, v35284, v35285, v35286, v35287, v35288, v35289, v35290, v35291, v35292, 3, 7, 4, 2, 5, 8) -> f_2644(v35265, v35266, v35267, v35268, v35269, v35270, v35271, 0, v35273, v35274, 1, v35276, v35277, v35278, v35279, v35280, v35283, v35282, v35281, v35284, v35285, v35286, v35287, v35288, v35289, v35290, v35291, v35292, 3, 7, 4, 2, 5, 8) :|: 0 = 0 184.33/84.83 f_2644(v35265, v35266, v35267, v35268, v35269, v35270, v35271, 0, v35273, v35274, 1, v35276, v35277, v35278, v35279, v35280, v35283, v35282, v35281, v35284, v35285, v35286, v35287, v35288, v35289, v35290, v35291, v35292, 3, 7, 4, 2, 5, 8) -> f_2645(v35265, v35266, v35267, v35268, v35269, v35270, v35271, 0, v35273, v35274, 1, v35276, v35277, v35278, v35279, v35280, v35283, v35282, v35281, v35284, v35285, v35286, v35287, v35288, v35289, v35290, v35291, v35292, 3, 7, 4, 2, 5, 8) :|: 0 < v35283 && 2 <= v35281 184.33/84.83 f_2644(v35265, v35266, v35267, v35268, v35269, v35270, v35271, 0, v35273, v35274, 1, v35276, v35277, v35278, v35279, v35280, v35283, v35282, v35281, v35284, v35285, v35286, v35287, v35288, v35289, v35290, v35291, v35292, 3, 7, 4, 2, 5, 8) -> f_2646(v35265, v35266, v35267, v35268, v35269, v35270, v35271, 0, v35273, v35274, 1, v35276, v35277, v35278, v35279, v35280, v35282, v35284, v35285, v35286, v35287, v35288, v35289, v35290, v35291, v35292, 3, 7, 4, 2, 5, 8) :|: v35283 <= 0 && v35281 = 1 && v35283 = 0 && 0 = 0 184.33/84.83 f_2645(v35265, v35266, v35267, v35268, v35269, v35270, v35271, 0, v35273, v35274, 1, v35276, v35277, v35278, v35279, v35280, v35283, v35282, v35281, v35284, v35285, v35286, v35287, v35288, v35289, v35290, v35291, v35292, 3, 7, 4, 2, 5, 8) -> f_2647(v35265, v35266, v35267, v35268, v35269, v35270, v35271, 0, v35273, v35274, 1, v35276, v35277, v35278, v35279, v35280, v35283, v35282, v35281, v35284, v35285, v35286, v35287, v35288, v35289, v35290, v35291, v35292, 3, 7, 4, 2, 5, 8) :|: 0 = 0 184.33/84.83 f_2647(v35265, v35266, v35267, v35268, v35269, v35270, v35271, 0, v35273, v35274, 1, v35276, v35277, v35278, v35279, v35280, v35283, v35282, v35281, v35284, v35285, v35286, v35287, v35288, v35289, v35290, v35291, v35292, 3, 7, 4, 2, 5, 8) -> f_2649(v35265, v35266, v35267, v35268, v35269, v35270, v35271, 0, v35273, v35274, 1, v35276, v35277, v35278, v35279, v35280, v35283, v35282, v35281, v35284, v35285, v35286, v35287, v35288, v35289, v35290, v35291, v35292, 3, 7, 4, 2, 5, 8) :|: TRUE 184.33/84.83 f_2649(v35265, v35266, v35267, v35268, v35269, v35270, v35271, 0, v35273, v35274, 1, v35276, v35277, v35278, v35279, v35280, v35283, v35282, v35281, v35284, v35285, v35286, v35287, v35288, v35289, v35290, v35291, v35292, 3, 7, 4, 2, 5, 8) -> f_2650(v35265, v35266, v35267, v35268, v35269, v35270, v35271, 0, v35273, v35274, 1, v35276, v35277, v35278, v35279, v35280, v35283, v35279, v35280, v35281, v35283, v35282, v35284, v35285, v35286, v35287, v35288, v35289, v35290, v35467, v35468, 3, 7, 4, 2, 5, 8) :|: TRUE 184.33/84.83 f_2646(v35265, v35266, v35267, v35268, v35269, v35270, v35271, 0, v35273, v35274, 1, v35276, v35277, v35278, v35279, v35280, v35282, v35284, v35285, v35286, v35287, v35288, v35289, v35290, v35291, v35292, 3, 7, 4, 2, 5, 8) -> f_2648(v35265, v35266, v35267, v35268, v35269, v35270, v35271, 0, v35273, v35274, 1, v35276, v35277, v35278, v35279, v35280, v35282, v35284, v35285, v35286, v35287, v35288, v35289, v35290, v35291, v35292, 3, 7, 4, 2, 5, 8) :|: 0 = 0 184.33/84.83 f_2648(v35265, v35266, v35267, v35268, v35269, v35270, v35271, 0, v35273, v35274, 1, v35276, v35277, v35278, v35279, v35280, v35282, v35284, v35285, v35286, v35287, v35288, v35289, v35290, v35291, v35292, 3, 7, 4, 2, 5, 8) -> f_2651(v35265, v35266, v35267, v35268, v35269, v35270, v35271, 0, v35273, v35274, 1, v35276, v35277, v35278, v35279, v35280, v35282, v35284, v35285, v35286, v35287, v35288, v35289, v35290, v35291, v35292, 3, 7, 4, 2, 5, 8) :|: TRUE 184.33/84.83 f_2651(v35265, v35266, v35267, v35268, v35269, v35270, v35271, 0, v35273, v35274, 1, v35276, v35277, v35278, v35279, v35280, v35282, v35284, v35285, v35286, v35287, v35288, v35289, v35290, v35291, v35292, 3, 7, 4, 2, 5, 8) -> f_2653(v35265, v35266, v35267, v35268, v35269, v35270, v35271, 0, v35273, v35274, 1, v35276, v35277, v35278, v35279, v35280, v35282, v35284, v35285, v35286, v35287, v35288, v35289, v35290, v35291, v35292, 3, 7, 4, 2, 5, 8) :|: TRUE 184.33/84.83 f_2653(v35265, v35266, v35267, v35268, v35269, v35270, v35271, 0, v35273, v35274, 1, v35276, v35277, v35278, v35279, v35280, v35282, v35284, v35285, v35286, v35287, v35288, v35289, v35290, v35291, v35292, 3, 7, 4, 2, 5, 8) -> f_2655(v35265, v35266, v35267, v35268, v35269, v35270, v35271, 0, v35273, v35274, 1, v35276, v35277, v35278, v35279, v35280, v35284, v35285, v35286, v35287, v35288, v35289, v35290, v35291, v35292, 3, 7, 4, 2, 5, 8) :|: 0 = 0 184.33/84.83 f_2655(v35265, v35266, v35267, v35268, v35269, v35270, v35271, 0, v35273, v35274, 1, v35276, v35277, v35278, v35279, v35280, v35284, v35285, v35286, v35287, v35288, v35289, v35290, v35291, v35292, 3, 7, 4, 2, 5, 8) -> f_2657(v35265, v35266, v35267, v35268, v35269, v35270, v35271, 0, v35273, v35274, 1, v35276, v35277, v35278, v35279, v35280, v35767, v35284, v35285, v35286, v35287, v35288, v35289, v35290, v35291, v35292, 3, 7, 4, 2, 5, 8) :|: v35767 = 1 + v35279 && 2 <= v35767 184.33/84.83 f_2657(v35265, v35266, v35267, v35268, v35269, v35270, v35271, 0, v35273, v35274, 1, v35276, v35277, v35278, v35279, v35280, v35767, v35284, v35285, v35286, v35287, v35288, v35289, v35290, v35291, v35292, 3, 7, 4, 2, 5, 8) -> f_2659(v35265, v35266, v35267, v35268, v35269, v35270, v35271, 0, v35273, v35274, 1, v35276, v35277, v35278, v35279, v35280, v35767, v35284, v35285, v35286, v35287, v35288, v35289, v35290, v35291, v35292, 3, 7, 4, 2, 5, 8) :|: TRUE 184.33/84.83 f_2659(v35265, v35266, v35267, v35268, v35269, v35270, v35271, 0, v35273, v35274, 1, v35276, v35277, v35278, v35279, v35280, v35767, v35284, v35285, v35286, v35287, v35288, v35289, v35290, v35291, v35292, 3, 7, 4, 2, 5, 8) -> f_2661(v35265, v35266, v35267, v35268, v35269, v35270, v35271, 0, v35273, v35274, 1, v35276, v35277, v35278, v35279, v35280, v35767, v35284, v35285, v35286, v35287, v35288, v35289, v35290, v35291, v35292, 3, 7, 4, 2, 5, 8) :|: TRUE 184.33/84.83 f_2661(v35265, v35266, v35267, v35268, v35269, v35270, v35271, 0, v35273, v35274, 1, v35276, v35277, v35278, v35279, v35280, v35767, v35284, v35285, v35286, v35287, v35288, v35289, v35290, v35291, v35292, 3, 7, 4, 2, 5, 8) -> f_2663(v35265, v35266, v35267, v35268, v35269, v35270, v35271, 0, v35273, v35274, 1, v35276, v35277, v35278, v35767, v35279, v35280, v35284, v35285, v35286, v35287, v35288, v35289, v35290, v35291, v35292, 3, 7, 4, 2, 5, 8) :|: 0 = 0 184.33/84.83 f_2663(v35265, v35266, v35267, v35268, v35269, v35270, v35271, 0, v35273, v35274, 1, v35276, v35277, v35278, v35767, v35279, v35280, v35284, v35285, v35286, v35287, v35288, v35289, v35290, v35291, v35292, 3, 7, 4, 2, 5, 8) -> f_2665(v35265, v35266, v35267, v35268, v35269, v35270, v35271, 0, v35273, v35274, 1, v35276, v35277, v35278, v35767, v35279, v35280, v35284, v35285, v35286, v35287, v35288, v35289, v35290, v35291, v35292, 3, 7, 4, 2, 5, 8) :|: 0 = 0 184.33/84.83 f_2665(v35265, v35266, v35267, v35268, v35269, v35270, v35271, 0, v35273, v35274, 1, v35276, v35277, v35278, v35767, v35279, v35280, v35284, v35285, v35286, v35287, v35288, v35289, v35290, v35291, v35292, 3, 7, 4, 2, 5, 8) -> f_2667(v35265, v35266, v35267, v35268, v35269, v35270, v35271, 0, v35273, v35274, 1, v35276, v35277, v35278, v35767, v35279, v35280, v35284, v35285, v35286, v35287, v35288, v35289, v35290, v35291, v35292, 3, 7, 4, 2, 9, 5, 8, 12) :|: v35767 < v35271 && 3 <= v35271 && 2 <= v35277 && 9 <= v35278 && 12 <= v35290 184.33/84.83 f_2667(v35265, v35266, v35267, v35268, v35269, v35270, v35271, 0, v35273, v35274, 1, v35276, v35277, v35278, v35767, v35279, v35280, v35284, v35285, v35286, v35287, v35288, v35289, v35290, v35291, v35292, 3, 7, 4, 2, 9, 5, 8, 12) -> f_2669(v35265, v35266, v35267, v35268, v35269, v35270, v35271, 0, v35273, v35274, 1, v35276, v35277, v35278, v35767, v35279, v35280, v35284, v35285, v35286, v35287, v35288, v35289, v35290, v35291, v35292, 3, 7, 4, 2, 9, 5, 8, 12) :|: 0 = 0 184.33/84.83 f_2669(v35265, v35266, v35267, v35268, v35269, v35270, v35271, 0, v35273, v35274, 1, v35276, v35277, v35278, v35767, v35279, v35280, v35284, v35285, v35286, v35287, v35288, v35289, v35290, v35291, v35292, 3, 7, 4, 2, 9, 5, 8, 12) -> f_2671(v35265, v35266, v35267, v35268, v35269, v35270, v35271, 0, v35273, v35274, 1, v35276, v35277, v35278, v35767, v35279, v35280, v35284, v35285, v35286, v35287, v35288, v35289, v35290, v35291, v35292, 3, 7, 4, 2, 9, 5, 8, 12) :|: TRUE 184.33/84.83 f_2671(v35265, v35266, v35267, v35268, v35269, v35270, v35271, 0, v35273, v35274, 1, v35276, v35277, v35278, v35767, v35279, v35280, v35284, v35285, v35286, v35287, v35288, v35289, v35290, v35291, v35292, 3, 7, 4, 2, 9, 5, 8, 12) -> f_2594(v35265, v35266, v35267, v35268, v35269, v35270, v35271, 0, v35273, v35274, 1, v35276, v35277, v35278, v35767, v35279, v35280, 0, v35279, v35280, v35284, v35285, v35286, v35287, v35288, v35289, v35290, 3, 7, 4, 2, 5, 8) :|: TRUE 184.33/84.83 f_2617(v32969, v32970, v32971, v32972, v32973, v32974, v32975, 0, v32977, v32978, 1, v32980, v32981, v32982, v32988, v34175, v34176, v32986, v32987, v32983, v32989, v32990, v32991, v32992, v32993, v32994, v32995, v32984, v32985, 3, 7, 4, 2, 5, 8) -> f_2621(v32969, v32970, v32971, v32972, v32973, v32974, v32975, 0, v32977, v32978, 1, v32980, v32981, v32982, v32988, v34175, v34176, v32986, v32987, v32983, v32989, v32990, v32991, v32992, v32993, v32994, v32995, v32984, v32985, 3, 7, 4, 2, 5, 8) :|: 0 = 0 184.33/84.83 f_2621(v32969, v32970, v32971, v32972, v32973, v32974, v32975, 0, v32977, v32978, 1, v32980, v32981, v32982, v32988, v34175, v34176, v32986, v32987, v32983, v32989, v32990, v32991, v32992, v32993, v32994, v32995, v32984, v32985, 3, 7, 4, 2, 5, 8) -> f_2624(v32969, v32970, v32971, v32972, v32973, v32974, v32975, 0, v32977, v32978, 1, v32980, v32981, v32982, v32988, v34175, v34176, v32986, v32987, v32983, v32989, v32990, v32991, v32992, v32993, v32994, v32995, v32984, v32985, 3, 7, 4, 2, 5, 8) :|: TRUE 184.33/84.83 f_2624(v32969, v32970, v32971, v32972, v32973, v32974, v32975, 0, v32977, v32978, 1, v32980, v32981, v32982, v32988, v34175, v34176, v32986, v32987, v32983, v32989, v32990, v32991, v32992, v32993, v32994, v32995, v32984, v32985, 3, 7, 4, 2, 5, 8) -> f_2625(v32969, v32970, v32971, v32972, v32973, v32974, v32975, 0, v32977, v32978, 1, v32980, v32981, v32982, v32988, v34175, v34176, v32986, v32987, v32983, v32989, v32990, v32991, v32992, v32993, v32994, v32995, v34836, v34837, 3, 7, 4, 2, 5, 8) :|: TRUE 184.33/84.83 f_2625(v34809, v34810, v34811, v34812, v34813, v34814, v34815, 0, v34817, v34818, 1, v34820, v34821, v34822, v34823, v34824, v34825, v34826, v34827, v34828, v34829, v34830, v34831, v34832, v34833, v34834, v34835, v34836, v34837, 3, 7, 4, 2, 5, 8) -> f_2627(v34809, v34810, v34811, v34812, v34813, v34814, v34815, 0, v34817, v34818, 1, v34820, v34821, v34822, v34823, v34824, v34825, v34826, v34827, v34828, v34829, v34830, v34831, v34832, v34833, v34834, v34835, v34836, v34837, 3, 7, 4, 2, 5, 8) :|: TRUE 184.33/84.83 f_2627(v34809, v34810, v34811, v34812, v34813, v34814, v34815, 0, v34817, v34818, 1, v34820, v34821, v34822, v34823, v34824, v34825, v34826, v34827, v34828, v34829, v34830, v34831, v34832, v34833, v34834, v34835, v34836, v34837, 3, 7, 4, 2, 5, 8) -> f_2629(v34809, v34810, v34811, v34812, v34813, v34814, v34815, 0, v34817, v34818, 1, v34820, v34821, v34822, v34823, v34824, v34825, v34826, v34827, v34829, v34830, v34831, v34832, v34833, v34834, v34835, v34836, v34837, 3, 7, 4, 2, 5, 8) :|: 0 = 0 184.33/84.83 f_2629(v34809, v34810, v34811, v34812, v34813, v34814, v34815, 0, v34817, v34818, 1, v34820, v34821, v34822, v34823, v34824, v34825, v34826, v34827, v34829, v34830, v34831, v34832, v34833, v34834, v34835, v34836, v34837, 3, 7, 4, 2, 5, 8) -> f_2631(v34809, v34810, v34811, v34812, v34813, v34814, v34815, 0, v34817, v34818, 1, v34820, v34821, v34822, v34823, v34824, v34825, v34826, v34827, v34958, v34829, v34830, v34831, v34832, v34833, v34834, v34835, v34836, v34837, 3, 7, 4, 2, 5, 8) :|: v34958 = 1 + v34823 && 2 <= v34958 184.33/84.83 f_2631(v34809, v34810, v34811, v34812, v34813, v34814, v34815, 0, v34817, v34818, 1, v34820, v34821, v34822, v34823, v34824, v34825, v34826, v34827, v34958, v34829, v34830, v34831, v34832, v34833, v34834, v34835, v34836, v34837, 3, 7, 4, 2, 5, 8) -> f_2633(v34809, v34810, v34811, v34812, v34813, v34814, v34815, 0, v34817, v34818, 1, v34820, v34821, v34822, v34823, v34824, v34825, v34826, v34827, v34958, v34829, v34830, v34831, v34832, v34833, v34834, v34835, v34836, v34837, 3, 7, 4, 2, 5, 8) :|: TRUE 184.33/84.83 f_2633(v34809, v34810, v34811, v34812, v34813, v34814, v34815, 0, v34817, v34818, 1, v34820, v34821, v34822, v34823, v34824, v34825, v34826, v34827, v34958, v34829, v34830, v34831, v34832, v34833, v34834, v34835, v34836, v34837, 3, 7, 4, 2, 5, 8) -> f_2635(v34809, v34810, v34811, v34812, v34813, v34814, v34815, 0, v34817, v34818, 1, v34820, v34821, v34822, v34823, v34824, v34825, v34826, v34827, v34958, v34829, v34830, v34831, v34832, v34833, v34834, v34835, v34836, v34837, 3, 7, 4, 2, 5, 8) :|: TRUE 184.33/84.83 f_2635(v34809, v34810, v34811, v34812, v34813, v34814, v34815, 0, v34817, v34818, 1, v34820, v34821, v34822, v34823, v34824, v34825, v34826, v34827, v34958, v34829, v34830, v34831, v34832, v34833, v34834, v34835, v34836, v34837, 3, 7, 4, 2, 5, 8) -> f_2572(v34809, v34810, v34811, v34812, v34813, v34814, v34815, 0, v34817, v34818, 1, v34820, v34821, v34822, v34823, v34824, v34825, v34826, v34827, v34958, v34829, v34830, v34831, v34832, v34833, v34834, v34835, 3, 7, 4, 2, 5, 8) :|: TRUE 184.33/84.83 f_2572(v32969, v32970, v32971, v32972, v32973, v32974, v32975, 0, v32977, v32978, 1, v32980, v32981, v32982, v32983, v32984, v32985, v32986, v32987, v32988, v32989, v32990, v32991, v32992, v32993, v32994, v32995, 3, 7, 4, 2, 5, 8) -> f_2576(v32969, v32970, v32971, v32972, v32973, v32974, v32975, 0, v32977, v32978, 1, v32980, v32981, v32982, v32988, v32983, v32984, v32985, v32986, v32987, v32989, v32990, v32991, v32992, v32993, v32994, v32995, 3, 7, 4, 2, 5, 8) :|: 0 = 0 184.33/84.83 Combined rules. Obtained 4 rulesP rules: 184.33/84.83 f_2613(v32969:0, v32970:0, v32971:0, v32972:0, v32973:0, v32974:0, v32975:0, 0, v32977:0, v32978:0, 1, v32980:0, v32981:0, v32982:0, v32988:0, v34175:0, v34176:0, v32986:0, v32987:0, v32983:0, v32989:0, v32990:0, v32991:0, v32992:0, v32993:0, v32994:0, v32995:0, v32984:0, v32985:0, 3, 7, 4, 2, 5, 8) -> f_2613(v32969:0, v32970:0, v32971:0, v32972:0, v32973:0, v32974:0, v32975:0, 0, v32977:0, v32978:0, 1, v32980:0, v32981:0, v32982:0, 1 + v32988:0, v32978:0 + 4 * (1 + v32988:0), v34176:1, v32986:0, v32987:0, v32988:0, v32989:0, v32990:0, v32991:0, v32992:0, v32993:0, v32994:0, v32995:0, v34175:0, v34176:0, 3, 7, 4, 2, 5, 8) :|: v34176:0 < 1 && v32975:0 > 1 + v32988:0 && v32978:0 + 4 * (1 + v32988:0) > 4 && v32988:0 > 0 184.33/84.83 f_2644(v35265:0, v35266:0, v35267:0, v35268:0, v35269:0, v35270:0, v35271:0, 0, v35273:0, v35274:0, 1, v35276:0, v35277:0, v35278:0, v35279:0, v35280:0, 0, v35282:0, 1, v35284:0, v35285:0, v35286:0, v35287:0, v35288:0, v35289:0, v35290:0, v35291:0, v35292:0, 3, 7, 4, 2, 5, 8) -> f_2613(v35265:0, v35266:0, v35267:0, v35268:0, v35269:0, v35270:0, v35271:0, 0, v35273:0, v35274:0, 1, v35276:0, v35277:0, v35278:0, 1 + v35279:0, v35274:0 + 4 * (1 + v35279:0), v34176:0, v35279:0, v35280:0, v35279:0, v35284:0, v35285:0, v35286:0, v35287:0, v35288:0, v35289:0, v35290:0, v35280:0, 0, 3, 7, 4, 2, 5, 8) :|: v35279:0 > 0 && v35271:0 > 2 && v35271:0 > 1 + v35279:0 && v35277:0 > 1 && v35278:0 > 8 && v35274:0 + 4 * (1 + v35279:0) > 4 && v35290:0 > 11 184.33/84.83 f_2613(v32969:0, v32970:0, v32971:0, v32972:0, v32973:0, v32974:0, v32975:0, 0, v32977:0, v32978:0, 1, v32980:0, v32981:0, v32982:0, v32988:0, v32978:0 + 4 * v32988:0, 1 + v35908:0, v32986:0, v32987:0, v32983:0, v32989:0, v32990:0, v32991:0, v32992:0, v32993:0, v32994:0, v32995:0, v32984:0, v32985:0, 3, 7, 4, 2, 5, 8) -> f_2644(v32969:0, v32970:0, v32971:0, v32972:0, v32973:0, v32974:0, v32975:0, 0, v32977:0, v32978:0, 1, v32980:0, v32981:0, v32982:0, v32988:0, v32978:0 + 4 * v32988:0, v35908:0, v32983:0, 1 + v35908:0, v32989:0, v32990:0, v32991:0, v32992:0, v32993:0, v32994:0, v32995:0, v35291:0, v35292:0, 3, 7, 4, 2, 5, 8) :|: v35908:0 > -1 184.33/84.83 f_2644(v35265:0, v35266:0, v35267:0, v35268:0, v35269:0, v35270:0, v35271:0, 0, v35273:0, v35274:0, 1, v35276:0, v35277:0, v35278:0, v35279:0, v35274:0 + 4 * v35279:0, 1 + v35908:0, v35282:0, v35281:0, v35284:0, v35285:0, v35286:0, v35287:0, v35288:0, v35289:0, v35290:0, v35291:0, v35292:0, 3, 7, 4, 2, 5, 8) -> f_2644(v35265:0, v35266:0, v35267:0, v35268:0, v35269:0, v35270:0, v35271:0, 0, v35273:0, v35274:0, 1, v35276:0, v35277:0, v35278:0, v35279:0, v35274:0 + 4 * v35279:0, v35908:0, v35282:0, 1 + v35908:0, v35284:0, v35285:0, v35286:0, v35287:0, v35288:0, v35289:0, v35290:0, v35291:1, v35292:1, 3, 7, 4, 2, 5, 8) :|: v35908:0 > -1 && v35281:0 > 1 184.33/84.83 Filtered unneeded arguments: 184.33/84.83 f_2613(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22, x23, x24, x25, x26, x27, x28, x29, x30, x31, x32, x33, x34, x35) -> f_2613(x7, x10, x13, x14, x15, x16, x17, x27) 184.33/84.83 f_2644(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22, x23, x24, x25, x26, x27, x28, x29, x30, x31, x32, x33, x34) -> f_2644(x7, x10, x13, x14, x15, x16, x17, x19, x26) 184.33/84.83 Removed division, modulo operations, cleaned up constraints. Obtained 4 rules.P rules: 184.33/84.83 f_2613(v32975:0, v32978:0, v32981:0, v32982:0, v32988:0, v34175:0, v34176:0, v32995:0) -> f_2613(v32975:0, v32978:0, v32981:0, v32982:0, 1 + v32988:0, v32978:0 + (4 + 4 * v32988:0), v34176:1, v32995:0) :|: v32975:0 > 1 + v32988:0 && v34176:0 < 1 && v32988:0 > 0 && v32978:0 + (4 + 4 * v32988:0) > 4 184.33/84.83 f_2644(v35271:0, v35274:0, v35277:0, v35278:0, v35279:0, v35280:0, cons_0, cons_1, v35290:0) -> f_2613(v35271:0, v35274:0, v35277:0, v35278:0, 1 + v35279:0, v35274:0 + (4 + 4 * v35279:0), v34176:0, v35290:0) :|: v35271:0 > 2 && v35279:0 > 0 && v35271:0 > 1 + v35279:0 && v35277:0 > 1 && v35278:0 > 8 && v35290:0 > 11 && v35274:0 + (4 + 4 * v35279:0) > 4 && cons_0 = 0 && cons_1 = 1 184.33/84.83 f_2613(v32975:0, v32978:0, v32981:0, v32982:0, v32988:0, sum~v32978:0~times~cons_4~v32988:0, sum~cons_1~v35908:0, v32995:0) -> f_2644(v32975:0, v32978:0, v32981:0, v32982:0, v32988:0, v32978:0 + 4 * v32988:0, v35908:0, 1 + v35908:0, v32995:0) :|: v35908:0 > -1 && sum~v32978:0~times~cons_4~v32988:0 = v32978:0 + 4 * v32988:0 && sum~cons_1~v35908:0 = 1 + v35908:0 184.33/84.83 f_2644(v35271:0, v35274:0, v35277:0, v35278:0, v35279:0, sum~v35274:0~times~cons_4~v35279:0, sum~cons_1~v35908:0, v35281:0, v35290:0) -> f_2644(v35271:0, v35274:0, v35277:0, v35278:0, v35279:0, v35274:0 + 4 * v35279:0, v35908:0, 1 + v35908:0, v35290:0) :|: v35908:0 > -1 && v35281:0 > 1 && sum~v35274:0~times~cons_4~v35279:0 = v35274:0 + 4 * v35279:0 && sum~cons_1~v35908:0 = 1 + v35908:0 184.33/84.83 184.33/84.83 ---------------------------------------- 184.33/84.83 184.33/84.83 (9) 184.33/84.83 Obligation: 184.33/84.83 Rules: 184.33/84.83 f_2613(v32975:0, v32978:0, v32981:0, v32982:0, v32988:0, v34175:0, v34176:0, v32995:0) -> f_2613(v32975:0, v32978:0, v32981:0, v32982:0, 1 + v32988:0, v32978:0 + (4 + 4 * v32988:0), v34176:1, v32995:0) :|: v32975:0 > 1 + v32988:0 && v34176:0 < 1 && v32988:0 > 0 && v32978:0 + (4 + 4 * v32988:0) > 4 184.33/84.83 f_2644(x, x1, x2, x3, x4, x5, x6, x7, x8) -> f_2613(x, x1, x2, x3, 1 + x4, x1 + (4 + 4 * x4), x9, x8) :|: x > 2 && x4 > 0 && x > 1 + x4 && x2 > 1 && x3 > 8 && x8 > 11 && x1 + (4 + 4 * x4) > 4 && x6 = 0 && x7 = 1 184.33/84.83 f_2613(x10, x11, x12, x13, x14, x15, x16, x17) -> f_2644(x10, x11, x12, x13, x14, x11 + 4 * x14, x18, 1 + x18, x17) :|: x18 > -1 && x15 = x11 + 4 * x14 && x16 = 1 + x18 184.33/84.83 f_2644(v35271:0, v35274:0, v35277:0, v35278:0, v35279:0, sum~v35274:0~times~cons_4~v35279:0, sum~cons_1~v35908:0, v35281:0, v35290:0) -> f_2644(v35271:0, v35274:0, v35277:0, v35278:0, v35279:0, v35274:0 + 4 * v35279:0, v35908:0, 1 + v35908:0, v35290:0) :|: v35908:0 > -1 && v35281:0 > 1 && sum~v35274:0~times~cons_4~v35279:0 = v35274:0 + 4 * v35279:0 && sum~cons_1~v35908:0 = 1 + v35908:0 184.33/84.83 184.33/84.83 ---------------------------------------- 184.33/84.83 184.33/84.83 (10) IRS2T2 (EQUIVALENT) 184.33/84.83 Transformed input IRS into an integer transition system.Used the following mapping from defined symbols to location IDs: 184.33/84.83 184.33/84.83 (f_2613_9,1) 184.33/84.83 (f_2644_9,2) 184.33/84.83 184.33/84.83 ---------------------------------------- 184.33/84.83 184.33/84.83 (11) 184.33/84.83 Obligation: 184.33/84.83 START: 0; 184.33/84.83 184.33/84.83 FROM: 0; 184.33/84.83 TO: 1; 184.33/84.83 184.33/84.83 FROM: 0; 184.33/84.83 TO: 2; 184.33/84.83 184.33/84.83 FROM: 1; 184.33/84.83 oldX0 := x0; 184.33/84.83 oldX1 := x1; 184.33/84.83 oldX2 := x2; 184.33/84.83 oldX3 := x3; 184.33/84.83 oldX4 := x4; 184.33/84.83 oldX5 := x5; 184.33/84.83 oldX6 := x6; 184.33/84.83 oldX7 := x7; 184.33/84.83 oldX8 := x8; 184.33/84.83 oldX9 := nondet(); 184.33/84.83 oldX10 := nondet(); 184.33/84.83 assume(oldX0 > 1 + oldX4 && oldX6 < 1 && oldX4 > 0 && oldX1 + (4 + 4 * oldX4) > 4); 184.33/84.83 x0 := oldX0; 184.33/84.83 x1 := oldX1; 184.33/84.83 x2 := oldX2; 184.33/84.83 x3 := oldX3; 184.33/84.83 x4 := 1 + oldX4; 184.33/84.83 x5 := oldX1 + (4 + 4 * oldX4); 184.33/84.83 x6 := oldX9; 184.33/84.83 x7 := oldX7; 184.33/84.83 x8 := oldX10; 184.33/84.83 TO: 1; 184.33/84.83 184.33/84.83 FROM: 2; 184.33/84.83 oldX0 := x0; 184.33/84.83 oldX1 := x1; 184.33/84.83 oldX2 := x2; 184.33/84.83 oldX3 := x3; 184.33/84.83 oldX4 := x4; 184.33/84.83 oldX5 := x5; 184.33/84.83 oldX6 := x6; 184.33/84.83 oldX7 := x7; 184.33/84.83 oldX8 := x8; 184.33/84.83 oldX9 := nondet(); 184.33/84.83 oldX10 := nondet(); 184.33/84.83 assume(oldX0 > 2 && oldX4 > 0 && oldX0 > 1 + oldX4 && oldX2 > 1 && oldX3 > 8 && oldX8 > 11 && oldX1 + (4 + 4 * oldX4) > 4 && oldX6 = 0 && oldX7 = 1); 184.33/84.83 x0 := oldX0; 184.33/84.83 x1 := oldX1; 184.33/84.83 x2 := oldX2; 184.33/84.83 x3 := oldX3; 184.33/84.83 x4 := 1 + oldX4; 184.33/84.83 x5 := oldX1 + (4 + 4 * oldX4); 184.33/84.83 x6 := oldX9; 184.33/84.83 x7 := oldX8; 184.33/84.83 x8 := oldX10; 184.33/84.83 TO: 1; 184.33/84.83 184.33/84.83 FROM: 1; 184.33/84.83 oldX0 := x0; 184.33/84.83 oldX1 := x1; 184.33/84.83 oldX2 := x2; 184.33/84.83 oldX3 := x3; 184.33/84.83 oldX4 := x4; 184.33/84.83 oldX5 := x5; 184.33/84.83 oldX6 := x6; 184.33/84.83 oldX7 := x7; 184.33/84.83 oldX8 := x8; 184.33/84.83 oldX9 := oldX6 - 1; 184.33/84.83 assume(oldX9 > -1 && oldX5 = oldX1 + 4 * oldX4 && oldX6 = 1 + oldX9); 184.33/84.83 x0 := oldX0; 184.33/84.83 x1 := oldX1; 184.33/84.83 x2 := oldX2; 184.33/84.83 x3 := oldX3; 184.33/84.83 x4 := oldX4; 184.33/84.83 x5 := oldX1 + 4 * oldX4; 184.33/84.83 x6 := oldX6 - 1; 184.33/84.83 x7 := 1 + oldX9; 184.33/84.83 x8 := oldX7; 184.33/84.83 TO: 2; 184.33/84.83 184.33/84.83 FROM: 2; 184.33/84.83 oldX0 := x0; 184.33/84.83 oldX1 := x1; 184.33/84.83 oldX2 := x2; 184.33/84.83 oldX3 := x3; 184.33/84.83 oldX4 := x4; 184.33/84.83 oldX5 := x5; 184.33/84.83 oldX6 := x6; 184.33/84.83 oldX7 := x7; 184.33/84.83 oldX8 := x8; 184.33/84.83 oldX9 := oldX6 - 1; 184.33/84.83 assume(oldX9 > -1 && oldX7 > 1 && oldX5 = oldX1 + 4 * oldX4 && oldX6 = 1 + oldX9); 184.33/84.83 x0 := oldX0; 184.33/84.83 x1 := oldX1; 184.33/84.83 x2 := oldX2; 184.33/84.83 x3 := oldX3; 184.33/84.83 x4 := oldX4; 184.33/84.83 x5 := oldX1 + 4 * oldX4; 184.33/84.83 x6 := oldX6 - 1; 184.33/84.83 x7 := 1 + oldX9; 184.33/84.83 x8 := oldX8; 184.33/84.83 TO: 2; 184.33/84.83 184.33/84.83 184.33/84.83 ---------------------------------------- 184.33/84.83 184.33/84.83 (12) T2 (EQUIVALENT) 184.33/84.83 Initially, performed program simplifications using lexicographic rank functions: 184.33/84.83 * Removed transitions 2, 5, 6, 14, 17, 18 using the following rank functions: 184.33/84.83 - Rank function 1: 184.33/84.83 RF for loc. 6: 2+4*x0-4*x4 184.33/84.83 RF for loc. 7: 4*x0-4*x4 184.33/84.83 RF for loc. 8: 1+4*x0-4*x4 184.33/84.83 RF for loc. 12: 4*x0-4*x4 184.33/84.83 Bound for (chained) transitions 17: 8 184.33/84.83 - Rank function 2: 184.33/84.83 RF for loc. 6: 1 184.33/84.83 RF for loc. 7: 0 184.33/84.83 RF for loc. 8: 1 184.33/84.83 RF for loc. 12: 0 184.33/84.83 Bound for (chained) transitions 6: 1 184.33/84.83 - Rank function 3: 184.33/84.83 RF for loc. 6: 0 184.33/84.83 RF for loc. 7: 1+2*x6 184.33/84.83 RF for loc. 8: 0 184.33/84.83 RF for loc. 12: 2*x6 184.33/84.83 Bound for (chained) transitions 18: 2 184.33/84.83 - Rank function 4: 184.33/84.83 RF for loc. 6: 1+2*x0-2*x4 184.33/84.83 RF for loc. 7: 1 184.33/84.83 RF for loc. 8: 2*x0-2*x4 184.33/84.83 RF for loc. 12: 0 184.33/84.83 Bound for (chained) transitions 5: 4 184.33/84.83 - Rank function 5: 184.33/84.83 RF for loc. 6: 0 184.33/84.83 RF for loc. 7: 0 184.33/84.83 RF for loc. 8: -1 184.33/84.83 RF for loc. 12: -1 184.33/84.83 Bound for (chained) transitions 2: 0 184.33/84.83 Bound for (chained) transitions 14: 0 184.33/84.83 184.33/84.83 ---------------------------------------- 184.33/84.83 184.33/84.83 (13) 184.33/84.83 YES 184.33/84.83 184.33/84.83 ---------------------------------------- 184.33/84.83 184.33/84.83 (14) 184.33/84.83 Obligation: 184.33/84.83 SCC 184.33/84.83 ---------------------------------------- 184.33/84.83 184.33/84.83 (15) SCC2IRS (SOUND) 184.33/84.83 Transformed LLVM symbolic execution graph SCC into a rewrite problem. Log: 184.33/84.83 Generated rules. Obtained 48 rulesP rules: 184.33/84.83 f_2494(v27141, v27142, v27143, v27144, v27145, v27146, v27147, 0, v27149, v27150, 1, v27152, v27153, v27154, v27158, v28419, v28421, v27155, v30279, v27159, v27160, v27161, v27162, v27163, v27164, v27165, v27156, v27157, 3, 7, 4, 2, 5, 8) -> f_2499(v27141, v27142, v27143, v27144, v27145, v27146, v27147, 0, v27149, v27150, 1, v27152, v27153, v27154, v27158, v28419, v28421, v27155, v30279, v27159, v27160, v27161, v27162, v27163, v27164, v27165, v27156, v27157, 3, 7, 4, 2, 5, 8) :|: 0 = 0 184.33/84.83 f_2499(v27141, v27142, v27143, v27144, v27145, v27146, v27147, 0, v27149, v27150, 1, v27152, v27153, v27154, v27158, v28419, v28421, v27155, v30279, v27159, v27160, v27161, v27162, v27163, v27164, v27165, v27156, v27157, 3, 7, 4, 2, 5, 8) -> f_2505(v27141, v27142, v27143, v27144, v27145, v27146, v27147, 0, v27149, v27150, 1, v27152, v27153, v27154, v27158, v28419, v28421, v27155, v30279, v27159, v27160, v27161, v27162, v27163, v27164, v27165, v27156, v27157, 3, 7, 4, 2, 5, 8) :|: 0 = 0 184.33/84.83 f_2505(v27141, v27142, v27143, v27144, v27145, v27146, v27147, 0, v27149, v27150, 1, v27152, v27153, v27154, v27158, v28419, v28421, v27155, v30279, v27159, v27160, v27161, v27162, v27163, v27164, v27165, v27156, v27157, 3, 7, 4, 2, 5, 8) -> f_2510(v27141, v27142, v27143, v27144, v27145, v27146, v27147, 0, v27149, v27150, 1, v27152, v27153, v27154, v27158, v28419, v28421, v27155, v30279, v27159, v27160, v27161, v27162, v27163, v27164, v27165, v27156, v27157, 3, 7, 4, 2, 5, 8) :|: v28419 = v27150 + 4 * v27158 184.33/84.83 f_2510(v27141, v27142, v27143, v27144, v27145, v27146, v27147, 0, v27149, v27150, 1, v27152, v27153, v27154, v27158, v28419, v28421, v27155, v30279, v27159, v27160, v27161, v27162, v27163, v27164, v27165, v27156, v27157, 3, 7, 4, 2, 5, 8) -> f_2515(v27141, v27142, v27143, v27144, v27145, v27146, v27147, 0, v27149, v27150, 1, v27152, v27153, v27154, v27158, v28419, v30279, v27155, v28421, v27159, v27160, v27161, v27162, v27163, v27164, v27165, v27156, v27157, 3, 7, 4, 2, 5, 8) :|: 0 = 0 184.33/84.83 f_2515(v27141, v27142, v27143, v27144, v27145, v27146, v27147, 0, v27149, v27150, 1, v27152, v27153, v27154, v27158, v28419, v30279, v27155, v28421, v27159, v27160, v27161, v27162, v27163, v27164, v27165, v27156, v27157, 3, 7, 4, 2, 5, 8) -> f_2520(v27141, v27142, v27143, v27144, v27145, v27146, v27147, 0, v27149, v27150, 1, v27152, v27153, v27154, v27158, v28419, v30279, v27155, v28421, v27159, v27160, v27161, v27162, v27163, v27164, v27165, v27156, v27157, 3, 7, 4, 2, 5, 8) :|: 0 < v30279 && 2 <= v28421 184.33/84.83 f_2515(v27141, v27142, v27143, v27144, v27145, v27146, v27147, 0, v27149, v27150, 1, v27152, v27153, v27154, v27158, v28419, v30279, v27155, v28421, v27159, v27160, v27161, v27162, v27163, v27164, v27165, v27156, v27157, 3, 7, 4, 2, 5, 8) -> f_2521(v27141, v27142, v27143, v27144, v27145, v27146, v27147, 0, v27149, v27150, 1, v27152, v27153, v27154, v27158, v28419, v27155, v27159, v27160, v27161, v27162, v27163, v27164, v27165, v27156, v27157, 3, 7, 4, 2, 5, 8) :|: v30279 <= 0 && v28421 = 1 && v30279 = 0 && 0 = 0 184.33/84.83 f_2520(v27141, v27142, v27143, v27144, v27145, v27146, v27147, 0, v27149, v27150, 1, v27152, v27153, v27154, v27158, v28419, v30279, v27155, v28421, v27159, v27160, v27161, v27162, v27163, v27164, v27165, v27156, v27157, 3, 7, 4, 2, 5, 8) -> f_2527(v27141, v27142, v27143, v27144, v27145, v27146, v27147, 0, v27149, v27150, 1, v27152, v27153, v27154, v27158, v28419, v30279, v27155, v28421, v27159, v27160, v27161, v27162, v27163, v27164, v27165, v27156, v27157, 3, 7, 4, 2, 5, 8) :|: 0 = 0 184.33/84.83 f_2527(v27141, v27142, v27143, v27144, v27145, v27146, v27147, 0, v27149, v27150, 1, v27152, v27153, v27154, v27158, v28419, v30279, v27155, v28421, v27159, v27160, v27161, v27162, v27163, v27164, v27165, v27156, v27157, 3, 7, 4, 2, 5, 8) -> f_2535(v27141, v27142, v27143, v27144, v27145, v27146, v27147, 0, v27149, v27150, 1, v27152, v27153, v27154, v27158, v28419, v30279, v27155, v28421, v27159, v27160, v27161, v27162, v27163, v27164, v27165, v27156, v27157, 3, 7, 4, 2, 5, 8) :|: TRUE 184.33/84.83 f_2535(v27141, v27142, v27143, v27144, v27145, v27146, v27147, 0, v27149, v27150, 1, v27152, v27153, v27154, v27158, v28419, v30279, v27155, v28421, v27159, v27160, v27161, v27162, v27163, v27164, v27165, v27156, v27157, 3, 7, 4, 2, 5, 8) -> f_2536(v27141, v27142, v27143, v27144, v27145, v27146, v27147, 0, v27149, v27150, 1, v27152, v27153, v27154, v27158, v28419, v30279, v27158, v28419, v28421, v30279, v27155, v27159, v27160, v27161, v27162, v27163, v27164, v27165, v31554, v31555, 3, 7, 4, 2, 5, 8) :|: TRUE 184.33/84.83 f_2536(v31525, v31526, v31527, v31528, v31529, v31530, v31531, 0, v31533, v31534, 1, v31536, v31537, v31538, v31539, v31540, v31541, v31542, v31543, v31544, v31545, v31546, v31547, v31548, v31549, v31550, v31551, v31552, v31553, v31554, v31555, 3, 7, 4, 2, 5, 8) -> f_2543(v31525, v31526, v31527, v31528, v31529, v31530, v31531, 0, v31533, v31534, 1, v31536, v31537, v31538, v31539, v31540, v31541, v31542, v31543, v31544, v31545, v31546, v31547, v31548, v31549, v31550, v31551, v31552, v31553, v31554, v31555, 3, 7, 4, 2, 5, 8) :|: 0 = 0 184.33/84.83 f_2543(v31525, v31526, v31527, v31528, v31529, v31530, v31531, 0, v31533, v31534, 1, v31536, v31537, v31538, v31539, v31540, v31541, v31542, v31543, v31544, v31545, v31546, v31547, v31548, v31549, v31550, v31551, v31552, v31553, v31554, v31555, 3, 7, 4, 2, 5, 8) -> f_2551(v31525, v31526, v31527, v31528, v31529, v31530, v31531, 0, v31533, v31534, 1, v31536, v31537, v31538, v31539, v31540, v31541, v31543, v31544, v31545, v31546, v31547, v31548, v31549, v31550, v31551, v31552, v31553, v31554, v31555, 3, 7, 4, 2, 5, 8) :|: 0 = 0 184.33/84.83 f_2551(v31525, v31526, v31527, v31528, v31529, v31530, v31531, 0, v31533, v31534, 1, v31536, v31537, v31538, v31539, v31540, v31541, v31543, v31544, v31545, v31546, v31547, v31548, v31549, v31550, v31551, v31552, v31553, v31554, v31555, 3, 7, 4, 2, 5, 8) -> f_2555(v31525, v31526, v31527, v31528, v31529, v31530, v31531, 0, v31533, v31534, 1, v31536, v31537, v31538, v31539, v31540, v31541, v31543, v31544, v31545, v31546, v31547, v31548, v31549, v31550, v31551, v31552, v31553, v31554, v31555, 3, 7, 4, 2, 5, 8) :|: 0 = 0 184.33/84.83 f_2555(v31525, v31526, v31527, v31528, v31529, v31530, v31531, 0, v31533, v31534, 1, v31536, v31537, v31538, v31539, v31540, v31541, v31543, v31544, v31545, v31546, v31547, v31548, v31549, v31550, v31551, v31552, v31553, v31554, v31555, 3, 7, 4, 2, 5, 8) -> f_2559(v31525, v31526, v31527, v31528, v31529, v31530, v31531, 0, v31533, v31534, 1, v31536, v31537, v31538, v31539, v31540, v31541, v31544, v31545, v31546, v31547, v31548, v31549, v31550, v31551, v31552, v31553, v31543, v31554, v31555, 3, 7, 4, 2, 5, 8) :|: v31540 = v31534 + 4 * v31539 184.33/84.83 f_2559(v31525, v31526, v31527, v31528, v31529, v31530, v31531, 0, v31533, v31534, 1, v31536, v31537, v31538, v31539, v31540, v31541, v31544, v31545, v31546, v31547, v31548, v31549, v31550, v31551, v31552, v31553, v31543, v31554, v31555, 3, 7, 4, 2, 5, 8) -> f_2563(v31525, v31526, v31527, v31528, v31529, v31530, v31531, 0, v31533, v31534, 1, v31536, v31537, v31538, v31539, v31540, v31541, v31545, v31546, v31547, v31548, v31549, v31550, v31551, v31552, v31553, v31543, v31554, v31555, 3, 7, 4, 2, 5, 8) :|: 0 = 0 184.33/84.83 f_2563(v31525, v31526, v31527, v31528, v31529, v31530, v31531, 0, v31533, v31534, 1, v31536, v31537, v31538, v31539, v31540, v31541, v31545, v31546, v31547, v31548, v31549, v31550, v31551, v31552, v31553, v31543, v31554, v31555, 3, 7, 4, 2, 5, 8) -> f_2568(v31525, v31526, v31527, v31528, v31529, v31530, v31531, 0, v31533, v31534, 1, v31536, v31537, v31538, v31539, v31540, v31541, v32851, v31546, v31547, v31548, v31549, v31550, v31551, v31552, v31553, v31543, v31545, v31554, v31555, 3, 7, 4, 2, 5, 8) :|: 1 + v32851 = v31541 && 0 <= v32851 184.33/84.83 f_2568(v31525, v31526, v31527, v31528, v31529, v31530, v31531, 0, v31533, v31534, 1, v31536, v31537, v31538, v31539, v31540, v31541, v32851, v31546, v31547, v31548, v31549, v31550, v31551, v31552, v31553, v31543, v31545, v31554, v31555, 3, 7, 4, 2, 5, 8) -> f_2573(v31525, v31526, v31527, v31528, v31529, v31530, v31531, 0, v31533, v31534, 1, v31536, v31537, v31538, v31539, v31540, v31541, v32851, v31546, v31547, v31548, v31549, v31550, v31551, v31552, v31553, v31554, v31555, 3, 7, 4, 2, 5, 8) :|: TRUE 184.33/84.83 f_2573(v31525, v31526, v31527, v31528, v31529, v31530, v31531, 0, v31533, v31534, 1, v31536, v31537, v31538, v31539, v31540, v31541, v32851, v31546, v31547, v31548, v31549, v31550, v31551, v31552, v31553, v31554, v31555, 3, 7, 4, 2, 5, 8) -> f_2577(v31525, v31526, v31527, v31528, v31529, v31530, v31531, 0, v31533, v31534, 1, v31536, v31537, v31538, v31539, v31540, v31541, v32851, v31546, v31547, v31548, v31549, v31550, v31551, v31552, v31553, v31554, v31555, 3, 7, 4, 2, 5, 8) :|: TRUE 184.33/84.83 f_2577(v31525, v31526, v31527, v31528, v31529, v31530, v31531, 0, v31533, v31534, 1, v31536, v31537, v31538, v31539, v31540, v31541, v32851, v31546, v31547, v31548, v31549, v31550, v31551, v31552, v31553, v31554, v31555, 3, 7, 4, 2, 5, 8) -> f_2489(v31525, v31526, v31527, v31528, v31529, v31530, v31531, 0, v31533, v31534, 1, v31536, v31537, v31538, v31539, v31540, v31541, v31546, v32851, v31547, v31548, v31549, v31550, v31551, v31552, v31553, v27156, v27157, 3, 7, 4, 2, 5, 8) :|: TRUE 184.33/84.83 f_2489(v27141, v27142, v27143, v27144, v27145, v27146, v27147, 0, v27149, v27150, 1, v27152, v27153, v27154, v27158, v28419, v28421, v27155, v30279, v27159, v27160, v27161, v27162, v27163, v27164, v27165, v27156, v27157, 3, 7, 4, 2, 5, 8) -> f_2494(v27141, v27142, v27143, v27144, v27145, v27146, v27147, 0, v27149, v27150, 1, v27152, v27153, v27154, v27158, v28419, v28421, v27155, v30279, v27159, v27160, v27161, v27162, v27163, v27164, v27165, v27156, v27157, 3, 7, 4, 2, 5, 8) :|: 0 = 0 184.33/84.83 f_2521(v27141, v27142, v27143, v27144, v27145, v27146, v27147, 0, v27149, v27150, 1, v27152, v27153, v27154, v27158, v28419, v27155, v27159, v27160, v27161, v27162, v27163, v27164, v27165, v27156, v27157, 3, 7, 4, 2, 5, 8) -> f_2528(v27141, v27142, v27143, v27144, v27145, v27146, v27147, 0, v27149, v27150, 1, v27152, v27153, v27154, v27158, v28419, v27155, v27159, v27160, v27161, v27162, v27163, v27164, v27165, v27156, v27157, 3, 7, 4, 2, 5, 8) :|: 0 = 0 184.33/84.83 f_2528(v27141, v27142, v27143, v27144, v27145, v27146, v27147, 0, v27149, v27150, 1, v27152, v27153, v27154, v27158, v28419, v27155, v27159, v27160, v27161, v27162, v27163, v27164, v27165, v27156, v27157, 3, 7, 4, 2, 5, 8) -> f_2537(v27141, v27142, v27143, v27144, v27145, v27146, v27147, 0, v27149, v27150, 1, v27152, v27153, v27154, v27158, v28419, v27155, v27159, v27160, v27161, v27162, v27163, v27164, v27165, v27156, v27157, 3, 7, 4, 2, 5, 8) :|: TRUE 184.33/84.83 f_2537(v27141, v27142, v27143, v27144, v27145, v27146, v27147, 0, v27149, v27150, 1, v27152, v27153, v27154, v27158, v28419, v27155, v27159, v27160, v27161, v27162, v27163, v27164, v27165, v27156, v27157, 3, 7, 4, 2, 5, 8) -> f_2538(v27141, v27142, v27143, v27144, v27145, v27146, v27147, 0, v27149, v27150, 1, v27152, v27153, v27154, v27158, v28419, 0, v27158, v28419, v27155, v27159, v27160, v27161, v27162, v27163, v27164, v27165, v31718, v31719, 3, 7, 4, 2, 5, 8) :|: TRUE 184.33/84.83 f_2538(v31691, v31692, v31693, v31694, v31695, v31696, v31697, 0, v31699, v31700, 1, v31702, v31703, v31704, v31705, v31706, v31707, v31708, v31709, v31710, v31711, v31712, v31713, v31714, v31715, v31716, v31717, v31718, v31719, 3, 7, 4, 2, 5, 8) -> f_2544(v31691, v31692, v31693, v31694, v31695, v31696, v31697, 0, v31699, v31700, 1, v31702, v31703, v31704, v31705, v31706, v31707, v31708, v31709, v31710, v31711, v31712, v31713, v31714, v31715, v31716, v31717, v31718, v31719, 3, 7, 4, 2, 5, 8) :|: TRUE 184.33/84.83 f_2544(v31691, v31692, v31693, v31694, v31695, v31696, v31697, 0, v31699, v31700, 1, v31702, v31703, v31704, v31705, v31706, v31707, v31708, v31709, v31710, v31711, v31712, v31713, v31714, v31715, v31716, v31717, v31718, v31719, 3, 7, 4, 2, 5, 8) -> f_2552(v31691, v31692, v31693, v31694, v31695, v31696, v31697, 0, v31699, v31700, 1, v31702, v31703, v31704, v31705, v31706, v31707, v31708, v31709, v31711, v31712, v31713, v31714, v31715, v31716, v31717, v31718, v31719, 3, 7, 4, 2, 5, 8) :|: 0 = 0 184.33/84.83 f_2552(v31691, v31692, v31693, v31694, v31695, v31696, v31697, 0, v31699, v31700, 1, v31702, v31703, v31704, v31705, v31706, v31707, v31708, v31709, v31711, v31712, v31713, v31714, v31715, v31716, v31717, v31718, v31719, 3, 7, 4, 2, 5, 8) -> f_2556(v31691, v31692, v31693, v31694, v31695, v31696, v31697, 0, v31699, v31700, 1, v31702, v31703, v31704, v31705, v31706, v31707, v31708, v31709, v32678, v31711, v31712, v31713, v31714, v31715, v31716, v31717, v31718, v31719, 3, 7, 4, 2, 5, 8) :|: v32678 = 1 + v31705 && 2 <= v32678 184.33/84.83 f_2556(v31691, v31692, v31693, v31694, v31695, v31696, v31697, 0, v31699, v31700, 1, v31702, v31703, v31704, v31705, v31706, v31707, v31708, v31709, v32678, v31711, v31712, v31713, v31714, v31715, v31716, v31717, v31718, v31719, 3, 7, 4, 2, 5, 8) -> f_2560(v31691, v31692, v31693, v31694, v31695, v31696, v31697, 0, v31699, v31700, 1, v31702, v31703, v31704, v31705, v31706, v31707, v31708, v31709, v32678, v31711, v31712, v31713, v31714, v31715, v31716, v31717, v31718, v31719, 3, 7, 4, 2, 5, 8) :|: TRUE 184.33/84.83 f_2560(v31691, v31692, v31693, v31694, v31695, v31696, v31697, 0, v31699, v31700, 1, v31702, v31703, v31704, v31705, v31706, v31707, v31708, v31709, v32678, v31711, v31712, v31713, v31714, v31715, v31716, v31717, v31718, v31719, 3, 7, 4, 2, 5, 8) -> f_2564(v31691, v31692, v31693, v31694, v31695, v31696, v31697, 0, v31699, v31700, 1, v31702, v31703, v31704, v31705, v31706, v31707, v31708, v31709, v32678, v31711, v31712, v31713, v31714, v31715, v31716, v31717, v31718, v31719, 3, 7, 4, 2, 5, 8) :|: TRUE 184.33/84.83 f_2564(v31691, v31692, v31693, v31694, v31695, v31696, v31697, 0, v31699, v31700, 1, v31702, v31703, v31704, v31705, v31706, v31707, v31708, v31709, v32678, v31711, v31712, v31713, v31714, v31715, v31716, v31717, v31718, v31719, 3, 7, 4, 2, 5, 8) -> f_2565(v31691, v31692, v31693, v31694, v31695, v31696, v31697, 0, v31699, v31700, 1, v31702, v31703, v31704, v31705, v31706, v31707, v31708, v31709, v32678, v31711, v31712, v31713, v31714, v31715, v31716, v31717, 3, 7, 4, 8) :|: TRUE 184.33/84.83 f_2565(v32811, v32812, v32813, v32814, v32815, v32816, v32817, 0, v32819, v32820, 1, v32822, v32823, v32824, v32825, v32826, v32827, v32828, v32829, v32830, v32831, v32832, v32833, v32834, v32835, v32836, v32837, 3, 7, 4, 8) -> f_2569(v32811, v32812, v32813, v32814, v32815, v32816, v32817, 0, v32819, v32820, 1, v32822, v32823, v32824, v32830, v32825, v32826, v32827, v32828, v32829, v32831, v32832, v32833, v32834, v32835, v32836, v32837, 3, 7, 4, 8) :|: 0 = 0 184.33/84.83 f_2569(v32811, v32812, v32813, v32814, v32815, v32816, v32817, 0, v32819, v32820, 1, v32822, v32823, v32824, v32830, v32825, v32826, v32827, v32828, v32829, v32831, v32832, v32833, v32834, v32835, v32836, v32837, 3, 7, 4, 8) -> f_2574(v32811, v32812, v32813, v32814, v32815, v32816, v32817, 0, v32819, v32820, 1, v32822, v32823, v32824, v32830, v32825, v32826, v32827, v32828, v32829, v32831, v32832, v32833, v32834, v32835, v32836, v32837, 3, 7, 4, 8) :|: 0 = 0 184.33/84.83 f_2574(v32811, v32812, v32813, v32814, v32815, v32816, v32817, 0, v32819, v32820, 1, v32822, v32823, v32824, v32830, v32825, v32826, v32827, v32828, v32829, v32831, v32832, v32833, v32834, v32835, v32836, v32837, 3, 7, 4, 8) -> f_2578(v32811, v32812, v32813, v32814, v32815, v32816, v32817, 0, v32819, v32820, 1, v32822, v32823, v32824, v32830, v32825, v32826, v32827, v32828, v32829, v32831, v32832, v32833, v32834, v32835, v32836, v32837, 3, 7, 4, 2, 5, 8) :|: v32830 < v32817 && 1 <= v32823 && 5 <= v32824 && 2 <= v32817 && 8 <= v32837 184.33/84.83 f_2578(v32811, v32812, v32813, v32814, v32815, v32816, v32817, 0, v32819, v32820, 1, v32822, v32823, v32824, v32830, v32825, v32826, v32827, v32828, v32829, v32831, v32832, v32833, v32834, v32835, v32836, v32837, 3, 7, 4, 2, 5, 8) -> f_2582(v32811, v32812, v32813, v32814, v32815, v32816, v32817, 0, v32819, v32820, 1, v32822, v32823, v32824, v32830, v32825, v32826, v32827, v32828, v32829, v32831, v32832, v32833, v32834, v32835, v32836, v32837, 3, 7, 4, 2, 5, 8) :|: 0 = 0 184.33/84.83 f_2582(v32811, v32812, v32813, v32814, v32815, v32816, v32817, 0, v32819, v32820, 1, v32822, v32823, v32824, v32830, v32825, v32826, v32827, v32828, v32829, v32831, v32832, v32833, v32834, v32835, v32836, v32837, 3, 7, 4, 2, 5, 8) -> f_2587(v32811, v32812, v32813, v32814, v32815, v32816, v32817, 0, v32819, v32820, 1, v32822, v32823, v32824, v32830, v32825, v32826, v32827, v32828, v32829, v32831, v32832, v32833, v32834, v32835, v32836, v32837, 3, 7, 4, 2, 5, 8) :|: TRUE 184.33/84.83 f_2587(v32811, v32812, v32813, v32814, v32815, v32816, v32817, 0, v32819, v32820, 1, v32822, v32823, v32824, v32830, v32825, v32826, v32827, v32828, v32829, v32831, v32832, v32833, v32834, v32835, v32836, v32837, 3, 7, 4, 2, 5, 8) -> f_2588(v32811, v32812, v32813, v32814, v32815, v32816, v32817, 0, v32819, v32820, 1, v32822, v32823, v32824, v32830, v32825, v32826, v32827, v32828, v32829, v32831, v32832, v32833, v32834, v32835, v32836, v32837, 3, 7, 4, 2, 5, 8) :|: TRUE 184.33/84.83 f_2588(v33476, v33477, v33478, v33479, v33480, v33481, v33482, 0, v33484, v33485, 1, v33487, v33488, v33489, v33490, v33491, v33492, v33493, v33494, v33495, v33496, v33497, v33498, v33499, v33500, v33501, v33502, 3, 7, 4, 2, 5, 8) -> f_2592(v33476, v33477, v33478, v33479, v33480, v33481, v33482, 0, v33484, v33485, 1, v33487, v33488, v33489, v33490, v33491, v33492, v33493, v33494, v33495, v33496, v33497, v33498, v33499, v33500, v33501, v33502, 3, 7, 4, 2, 5, 8) :|: TRUE 184.33/84.83 f_2592(v33476, v33477, v33478, v33479, v33480, v33481, v33482, 0, v33484, v33485, 1, v33487, v33488, v33489, v33490, v33491, v33492, v33493, v33494, v33495, v33496, v33497, v33498, v33499, v33500, v33501, v33502, 3, 7, 4, 2, 5, 8) -> f_2596(v33476, v33477, v33478, v33479, v33480, v33481, v33482, 0, v33484, v33485, 1, v33487, v33488, v33489, v33490, v33491, v33492, v33493, v33494, v33495, v33496, v33497, v33498, v33499, v33500, v33501, v33502, 3, 7, 4, 2, 5, 8) :|: 0 = 0 184.33/84.83 f_2596(v33476, v33477, v33478, v33479, v33480, v33481, v33482, 0, v33484, v33485, 1, v33487, v33488, v33489, v33490, v33491, v33492, v33493, v33494, v33495, v33496, v33497, v33498, v33499, v33500, v33501, v33502, 3, 7, 4, 2, 5, 8) -> f_2600(v33476, v33477, v33478, v33479, v33480, v33481, v33482, 0, v33484, v33485, 1, v33487, v33488, v33489, v33490, v33492, v33493, v33494, v33495, v33491, v33496, v33497, v33498, v33499, v33500, v33501, v33502, 3, 7, 4, 2, 5, 8) :|: 0 = 0 184.33/84.83 f_2600(v33476, v33477, v33478, v33479, v33480, v33481, v33482, 0, v33484, v33485, 1, v33487, v33488, v33489, v33490, v33492, v33493, v33494, v33495, v33491, v33496, v33497, v33498, v33499, v33500, v33501, v33502, 3, 7, 4, 2, 5, 8) -> f_2604(v33476, v33477, v33478, v33479, v33480, v33481, v33482, 0, v33484, v33485, 1, v33487, v33488, v33489, v33490, v33492, v33493, v33494, v33495, v33491, v33496, v33497, v33498, v33499, v33500, v33501, v33502, 3, 7, 4, 2, 5, 8) :|: 0 = 0 184.33/84.83 f_2604(v33476, v33477, v33478, v33479, v33480, v33481, v33482, 0, v33484, v33485, 1, v33487, v33488, v33489, v33490, v33492, v33493, v33494, v33495, v33491, v33496, v33497, v33498, v33499, v33500, v33501, v33502, 3, 7, 4, 2, 5, 8) -> f_2607(v33476, v33477, v33478, v33479, v33480, v33481, v33482, 0, v33484, v33485, 1, v33487, v33488, v33489, v33490, v34172, v33493, v33494, v33495, v33491, v33496, v33497, v33498, v33499, v33500, v33501, v33502, v33492, 3, 7, 4, 2, 5, 8) :|: v34172 = v33485 + 4 * v33490 && 5 <= v34172 184.33/84.83 f_2607(v33476, v33477, v33478, v33479, v33480, v33481, v33482, 0, v33484, v33485, 1, v33487, v33488, v33489, v33490, v34172, v33493, v33494, v33495, v33491, v33496, v33497, v33498, v33499, v33500, v33501, v33502, v33492, 3, 7, 4, 2, 5, 8) -> f_2609(v33476, v33477, v33478, v33479, v33480, v33481, v33482, 0, v33484, v33485, 1, v33487, v33488, v33489, v33490, v34172, v34173, v33494, v33495, v33491, v33496, v33497, v33498, v33499, v33500, v33501, v33502, v33492, v33493, 3, 7, 4, 2, 5, 8) :|: TRUE 184.33/84.83 f_2609(v33476, v33477, v33478, v33479, v33480, v33481, v33482, 0, v33484, v33485, 1, v33487, v33488, v33489, v33490, v34172, v34173, v33494, v33495, v33491, v33496, v33497, v33498, v33499, v33500, v33501, v33502, v33492, v33493, 3, 7, 4, 2, 5, 8) -> f_2611(v33476, v33477, v33478, v33479, v33480, v33481, v33482, 0, v33484, v33485, 1, v33487, v33488, v33489, v33490, v34172, v34173, v33494, v33495, v33491, v33496, v33497, v33498, v33499, v33500, v33501, v33502, v33492, v33493, 3, 7, 4, 2, 5, 8) :|: 0 < v34173 184.33/84.83 f_2609(v33476, v33477, v33478, v33479, v33480, v33481, v33482, 0, v33484, v33485, 1, v33487, v33488, v33489, v33490, v34172, v34173, v33494, v33495, v33491, v33496, v33497, v33498, v33499, v33500, v33501, v33502, v33492, v33493, 3, 7, 4, 2, 5, 8) -> f_2612(v33476, v33477, v33478, v33479, v33480, v33481, v33482, 0, v33484, v33485, 1, v33487, v33488, v33489, v33490, v34172, v34173, v33494, v33495, v33491, v33496, v33497, v33498, v33499, v33500, v33501, v33502, v33492, v33493, 3, 7, 4, 2, 5, 8) :|: v34173 <= 0 184.33/84.83 f_2611(v33476, v33477, v33478, v33479, v33480, v33481, v33482, 0, v33484, v33485, 1, v33487, v33488, v33489, v33490, v34172, v34173, v33494, v33495, v33491, v33496, v33497, v33498, v33499, v33500, v33501, v33502, v33492, v33493, 3, 7, 4, 2, 5, 8) -> f_2614(v33476, v33477, v33478, v33479, v33480, v33481, v33482, 0, v33484, v33485, 1, v33487, v33488, v33489, v33490, v34172, v34173, v33494, v33495, v33491, v33496, v33497, v33498, v33499, v33500, v33501, v33502, v33492, v33493, 3, 7, 4, 2, 5, 8) :|: 0 = 0 184.33/84.83 f_2614(v33476, v33477, v33478, v33479, v33480, v33481, v33482, 0, v33484, v33485, 1, v33487, v33488, v33489, v33490, v34172, v34173, v33494, v33495, v33491, v33496, v33497, v33498, v33499, v33500, v33501, v33502, v33492, v33493, 3, 7, 4, 2, 5, 8) -> f_2618(v33476, v33477, v33478, v33479, v33480, v33481, v33482, 0, v33484, v33485, 1, v33487, v33488, v33489, v33490, v34172, v34173, v33494, v33495, v33491, v33496, v33497, v33498, v33499, v33500, v33501, v33502, v33492, v33493, 3, 7, 4, 2, 5, 8) :|: TRUE 184.33/84.83 f_2618(v33476, v33477, v33478, v33479, v33480, v33481, v33482, 0, v33484, v33485, 1, v33487, v33488, v33489, v33490, v34172, v34173, v33494, v33495, v33491, v33496, v33497, v33498, v33499, v33500, v33501, v33502, v33492, v33493, 3, 7, 4, 2, 5, 8) -> f_2536(v33476, v33477, v33478, v33479, v33480, v33481, v33482, 0, v33484, v33485, 1, v33487, v33488, v33489, v33490, v34172, v34173, v33494, v33495, 1, 0, v33491, v33496, v33497, v33498, v33499, v33500, v33501, v33502, v31554, v31555, 3, 7, 4, 2, 5, 8) :|: TRUE 184.33/84.83 f_2612(v33476, v33477, v33478, v33479, v33480, v33481, v33482, 0, v33484, v33485, 1, v33487, v33488, v33489, v33490, v34172, v34173, v33494, v33495, v33491, v33496, v33497, v33498, v33499, v33500, v33501, v33502, v33492, v33493, 3, 7, 4, 2, 5, 8) -> f_2615(v33476, v33477, v33478, v33479, v33480, v33481, v33482, 0, v33484, v33485, 1, v33487, v33488, v33489, v33490, v34172, v34173, v33494, v33495, v33491, v33496, v33497, v33498, v33499, v33500, v33501, v33502, v33492, v33493, 3, 7, 4, 2, 5, 8) :|: 0 = 0 184.33/84.83 f_2615(v33476, v33477, v33478, v33479, v33480, v33481, v33482, 0, v33484, v33485, 1, v33487, v33488, v33489, v33490, v34172, v34173, v33494, v33495, v33491, v33496, v33497, v33498, v33499, v33500, v33501, v33502, v33492, v33493, 3, 7, 4, 2, 5, 8) -> f_2619(v33476, v33477, v33478, v33479, v33480, v33481, v33482, 0, v33484, v33485, 1, v33487, v33488, v33489, v33490, v34172, v34173, v33494, v33495, v33491, v33496, v33497, v33498, v33499, v33500, v33501, v33502, v33492, v33493, 3, 7, 4, 2, 5, 8) :|: TRUE 184.33/84.83 f_2619(v33476, v33477, v33478, v33479, v33480, v33481, v33482, 0, v33484, v33485, 1, v33487, v33488, v33489, v33490, v34172, v34173, v33494, v33495, v33491, v33496, v33497, v33498, v33499, v33500, v33501, v33502, v33492, v33493, 3, 7, 4, 2, 5, 8) -> f_2538(v33476, v33477, v33478, v33479, v33480, v33481, v33482, 0, v33484, v33485, 1, v33487, v33488, v33489, v33490, v34172, v34173, v33494, v33495, v33491, v33496, v33497, v33498, v33499, v33500, v33501, v33502, v31718, v31719, 3, 7, 4, 2, 5, 8) :|: TRUE 184.33/84.83 Combined rules. Obtained 4 rulesP rules: 184.33/84.83 f_2609(v33476:0, v33477:0, v33478:0, v33479:0, v33480:0, v33481:0, v33482:0, 0, v33484:0, v33485:0, 1, v33487:0, v33488:0, v33489:0, v33490:0, v33485:0 + 4 * v33490:0, 1 + v32851:0, v33494:0, v33495:0, v33491:0, v33496:0, v33497:0, v33498:0, v33499:0, v33500:0, v33501:0, v33502:0, v33492:0, v33493:0, 3, 7, 4, 2, 5, 8) -> f_2494(v33476:0, v33477:0, v33478:0, v33479:0, v33480:0, v33481:0, v33482:0, 0, v33484:0, v33485:0, 1, v33487:0, v33488:0, v33489:0, v33490:0, v33485:0 + 4 * v33490:0, 1 + v32851:0, v33491:0, v32851:0, v33496:0, v33497:0, v33498:0, v33499:0, v33500:0, v33501:0, v33502:0, v27156:0, v27157:0, 3, 7, 4, 2, 5, 8) :|: v32851:0 > -1 184.33/84.83 f_2494(v27141:0, v27142:0, v27143:0, v27144:0, v27145:0, v27146:0, v27147:0, 0, v27149:0, v27150:0, 1, v27152:0, v27153:0, v27154:0, v27158:0, v27150:0 + 4 * v27158:0, 1, v27155:0, 0, v27159:0, v27160:0, v27161:0, v27162:0, v27163:0, v27164:0, v27165:0, v27156:0, v27157:0, 3, 7, 4, 2, 5, 8) -> f_2609(v27141:0, v27142:0, v27143:0, v27144:0, v27145:0, v27146:0, v27147:0, 0, v27149:0, v27150:0, 1, v27152:0, v27153:0, v27154:0, 1 + v27158:0, v27150:0 + 4 * (1 + v27158:0), v34173:0, v27158:0, v27150:0 + 4 * v27158:0, v27158:0, v27159:0, v27160:0, v27161:0, v27162:0, v27163:0, v27164:0, v27165:0, v27150:0 + 4 * v27158:0, 0, 3, 7, 4, 2, 5, 8) :|: v27158:0 > 0 && v27153:0 > 0 && v27147:0 > 1 + v27158:0 && v27154:0 > 4 && v27147:0 > 1 && v27150:0 + 4 * (1 + v27158:0) > 4 && v27165:0 > 7 184.33/84.83 f_2494(v27141:0, v27142:0, v27143:0, v27144:0, v27145:0, v27146:0, v27147:0, 0, v27149:0, v27150:0, 1, v27152:0, v27153:0, v27154:0, v27158:0, v27150:0 + 4 * v27158:0, v28421:0, v27155:0, 1 + v32851:0, v27159:0, v27160:0, v27161:0, v27162:0, v27163:0, v27164:0, v27165:0, v27156:0, v27157:0, 3, 7, 4, 2, 5, 8) -> f_2494(v27141:0, v27142:0, v27143:0, v27144:0, v27145:0, v27146:0, v27147:0, 0, v27149:0, v27150:0, 1, v27152:0, v27153:0, v27154:0, v27158:0, v27150:0 + 4 * v27158:0, 1 + v32851:0, v27155:0, v32851:0, v27159:0, v27160:0, v27161:0, v27162:0, v27163:0, v27164:0, v27165:0, v27156:1, v27157:1, 3, 7, 4, 2, 5, 8) :|: v28421:0 > 1 && v32851:0 > -1 184.33/84.83 f_2609(v33476:0, v33477:0, v33478:0, v33479:0, v33480:0, v33481:0, v33482:0, 0, v33484:0, v33485:0, 1, v33487:0, v33488:0, v33489:0, v33490:0, v34172:0, v34173:0, v33494:0, v33495:0, v33491:0, v33496:0, v33497:0, v33498:0, v33499:0, v33500:0, v33501:0, v33502:0, v33492:0, v33493:0, 3, 7, 4, 2, 5, 8) -> f_2609(v33476:0, v33477:0, v33478:0, v33479:0, v33480:0, v33481:0, v33482:0, 0, v33484:0, v33485:0, 1, v33487:0, v33488:0, v33489:0, 1 + v33490:0, v33485:0 + 4 * (1 + v33490:0), v34173:1, v33494:0, v33495:0, v33490:0, v33496:0, v33497:0, v33498:0, v33499:0, v33500:0, v33501:0, v33502:0, v34172:0, v34173:0, 3, 7, 4, 2, 5, 8) :|: v33490:0 > 0 && v33488:0 > 0 && v33482:0 > 1 + v33490:0 && v33489:0 > 4 && v33482:0 > 1 && v33502:0 > 7 && v34173:0 < 1 && v33485:0 + 4 * (1 + v33490:0) > 4 184.33/84.83 Filtered unneeded arguments: 184.33/84.83 f_2609(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22, x23, x24, x25, x26, x27, x28, x29, x30, x31, x32, x33, x34, x35) -> f_2609(x7, x10, x13, x14, x15, x16, x17, x27) 184.33/84.83 f_2494(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22, x23, x24, x25, x26, x27, x28, x29, x30, x31, x32, x33, x34) -> f_2494(x7, x10, x13, x14, x15, x16, x17, x19, x26) 184.33/84.83 Removed division, modulo operations, cleaned up constraints. Obtained 4 rules.P rules: 184.33/84.83 f_2609(v33482:0, v33485:0, v33488:0, v33489:0, v33490:0, sum~v33485:0~times~cons_4~v33490:0, sum~cons_1~v32851:0, v33502:0) -> f_2494(v33482:0, v33485:0, v33488:0, v33489:0, v33490:0, v33485:0 + 4 * v33490:0, 1 + v32851:0, v32851:0, v33502:0) :|: v32851:0 > -1 && sum~v33485:0~times~cons_4~v33490:0 = v33485:0 + 4 * v33490:0 && sum~cons_1~v32851:0 = 1 + v32851:0 184.33/84.83 f_2494(v27147:0, v27150:0, v27153:0, v27154:0, v27158:0, sum~v27150:0~times~cons_4~v27158:0, cons_1, cons_0, v27165:0) -> f_2609(v27147:0, v27150:0, v27153:0, v27154:0, 1 + v27158:0, v27150:0 + (4 + 4 * v27158:0), v34173:0, v27165:0) :|: v27153:0 > 0 && v27158:0 > 0 && v27147:0 > 1 + v27158:0 && v27154:0 > 4 && v27147:0 > 1 && v27165:0 > 7 && v27150:0 + (4 + 4 * v27158:0) > 4 && sum~v27150:0~times~cons_4~v27158:0 = v27150:0 + 4 * v27158:0 && cons_1 = 1 && cons_0 = 0 184.33/84.83 f_2494(v27147:0, v27150:0, v27153:0, v27154:0, v27158:0, sum~v27150:0~times~cons_4~v27158:0, v28421:0, sum~cons_1~v32851:0, v27165:0) -> f_2494(v27147:0, v27150:0, v27153:0, v27154:0, v27158:0, v27150:0 + 4 * v27158:0, 1 + v32851:0, v32851:0, v27165:0) :|: v28421:0 > 1 && v32851:0 > -1 && sum~v27150:0~times~cons_4~v27158:0 = v27150:0 + 4 * v27158:0 && sum~cons_1~v32851:0 = 1 + v32851:0 184.33/84.83 f_2609(v33482:0, v33485:0, v33488:0, v33489:0, v33490:0, v34172:0, v34173:0, v33502:0) -> f_2609(v33482:0, v33485:0, v33488:0, v33489:0, 1 + v33490:0, v33485:0 + (4 + 4 * v33490:0), v34173:1, v33502:0) :|: v33488:0 > 0 && v33490:0 > 0 && v33482:0 > 1 + v33490:0 && v33489:0 > 4 && v33482:0 > 1 && v33502:0 > 7 && v33485:0 + (4 + 4 * v33490:0) > 4 && v34173:0 < 1 184.33/84.83 184.33/84.83 ---------------------------------------- 184.33/84.83 184.33/84.83 (16) 184.33/84.83 Obligation: 184.33/84.83 Rules: 184.33/84.83 f_2609(v33482:0, v33485:0, v33488:0, v33489:0, v33490:0, sum~v33485:0~times~cons_4~v33490:0, sum~cons_1~v32851:0, v33502:0) -> f_2494(v33482:0, v33485:0, v33488:0, v33489:0, v33490:0, v33485:0 + 4 * v33490:0, 1 + v32851:0, v32851:0, v33502:0) :|: v32851:0 > -1 && sum~v33485:0~times~cons_4~v33490:0 = v33485:0 + 4 * v33490:0 && sum~cons_1~v32851:0 = 1 + v32851:0 184.33/84.83 f_2494(v27147:0, v27150:0, v27153:0, v27154:0, v27158:0, sum~v27150:0~times~cons_4~v27158:0, cons_1, cons_0, v27165:0) -> f_2609(v27147:0, v27150:0, v27153:0, v27154:0, 1 + v27158:0, v27150:0 + (4 + 4 * v27158:0), v34173:0, v27165:0) :|: v27153:0 > 0 && v27158:0 > 0 && v27147:0 > 1 + v27158:0 && v27154:0 > 4 && v27147:0 > 1 && v27165:0 > 7 && v27150:0 + (4 + 4 * v27158:0) > 4 && sum~v27150:0~times~cons_4~v27158:0 = v27150:0 + 4 * v27158:0 && cons_1 = 1 && cons_0 = 0 184.33/84.83 f_2494(x, x1, x2, x3, x4, x5, x6, x7, x8) -> f_2494(x, x1, x2, x3, x4, x1 + 4 * x4, 1 + x9, x9, x8) :|: x6 > 1 && x9 > -1 && x5 = x1 + 4 * x4 && x7 = 1 + x9 184.33/84.83 f_2609(x10, x11, x12, x13, x14, x15, x16, x17) -> f_2609(x10, x11, x12, x13, 1 + x14, x11 + (4 + 4 * x14), x18, x17) :|: x12 > 0 && x14 > 0 && x10 > 1 + x14 && x13 > 4 && x10 > 1 && x17 > 7 && x11 + (4 + 4 * x14) > 4 && x16 < 1 184.33/84.83 184.33/84.83 ---------------------------------------- 184.33/84.83 184.33/84.83 (17) IRS2T2 (EQUIVALENT) 184.33/84.83 Transformed input IRS into an integer transition system.Used the following mapping from defined symbols to location IDs: 184.33/84.83 184.33/84.83 (f_2609_9,1) 184.33/84.83 (f_2494_9,2) 184.33/84.83 184.33/84.83 ---------------------------------------- 184.33/84.83 184.33/84.83 (18) 184.33/84.83 Obligation: 184.33/84.83 START: 0; 184.33/84.83 184.33/84.83 FROM: 0; 184.33/84.83 TO: 1; 184.33/84.83 184.33/84.83 FROM: 0; 184.33/84.83 TO: 2; 184.33/84.83 184.33/84.83 FROM: 1; 184.33/84.83 oldX0 := x0; 184.33/84.83 oldX1 := x1; 184.33/84.83 oldX2 := x2; 184.33/84.83 oldX3 := x3; 184.33/84.83 oldX4 := x4; 184.33/84.83 oldX5 := x5; 184.33/84.83 oldX6 := x6; 184.33/84.83 oldX7 := x7; 184.33/84.83 oldX8 := x8; 184.33/84.83 oldX9 := oldX6 - 1; 184.33/84.83 assume(oldX9 > -1 && oldX5 = oldX1 + 4 * oldX4 && oldX6 = 1 + oldX9); 184.33/84.83 x0 := oldX0; 184.33/84.83 x1 := oldX1; 184.33/84.83 x2 := oldX2; 184.33/84.83 x3 := oldX3; 184.33/84.83 x4 := oldX4; 184.33/84.83 x5 := oldX1 + 4 * oldX4; 184.33/84.83 x6 := 1 + oldX9; 184.33/84.83 x7 := oldX6 - 1; 184.33/84.83 x8 := oldX7; 184.33/84.83 TO: 2; 184.33/84.83 184.33/84.83 FROM: 2; 184.33/84.83 oldX0 := x0; 184.33/84.83 oldX1 := x1; 184.33/84.83 oldX2 := x2; 184.33/84.83 oldX3 := x3; 184.33/84.83 oldX4 := x4; 184.33/84.83 oldX5 := x5; 184.33/84.83 oldX6 := x6; 184.33/84.83 oldX7 := x7; 184.33/84.83 oldX8 := x8; 184.33/84.83 oldX9 := nondet(); 184.33/84.83 oldX10 := nondet(); 184.33/84.83 assume(oldX2 > 0 && oldX4 > 0 && oldX0 > 1 + oldX4 && oldX3 > 4 && oldX0 > 1 && oldX8 > 7 && oldX1 + (4 + 4 * oldX4) > 4 && oldX5 = oldX1 + 4 * oldX4 && oldX6 = 1 && oldX7 = 0); 184.33/84.83 x0 := oldX0; 184.33/84.83 x1 := oldX1; 184.33/84.83 x2 := oldX2; 184.33/84.83 x3 := oldX3; 184.33/84.83 x4 := 1 + oldX4; 184.33/84.83 x5 := oldX1 + (4 + 4 * oldX4); 184.33/84.83 x6 := oldX9; 184.33/84.83 x7 := oldX8; 184.33/84.83 x8 := oldX10; 184.33/84.83 TO: 1; 184.33/84.83 184.33/84.83 FROM: 2; 184.33/84.83 oldX0 := x0; 184.33/84.83 oldX1 := x1; 184.33/84.83 oldX2 := x2; 184.33/84.83 oldX3 := x3; 184.33/84.83 oldX4 := x4; 184.33/84.83 oldX5 := x5; 184.33/84.83 oldX6 := x6; 184.33/84.83 oldX7 := x7; 184.33/84.83 oldX8 := x8; 184.33/84.83 oldX9 := oldX7 - 1; 184.33/84.83 assume(oldX6 > 1 && oldX9 > -1 && oldX5 = oldX1 + 4 * oldX4 && oldX7 = 1 + oldX9); 184.33/84.83 x0 := oldX0; 184.33/84.83 x1 := oldX1; 184.33/84.83 x2 := oldX2; 184.33/84.83 x3 := oldX3; 184.33/84.83 x4 := oldX4; 184.33/84.83 x5 := oldX1 + 4 * oldX4; 184.33/84.83 x6 := 1 + oldX9; 184.33/84.83 x7 := oldX7 - 1; 184.33/84.83 x8 := oldX8; 184.33/84.83 TO: 2; 184.33/84.83 184.33/84.83 FROM: 1; 184.33/84.83 oldX0 := x0; 184.33/84.83 oldX1 := x1; 184.33/84.83 oldX2 := x2; 184.33/84.83 oldX3 := x3; 184.33/84.83 oldX4 := x4; 184.33/84.83 oldX5 := x5; 184.33/84.83 oldX6 := x6; 184.33/84.83 oldX7 := x7; 184.33/84.83 oldX8 := x8; 184.33/84.83 oldX9 := nondet(); 184.33/84.83 oldX10 := nondet(); 184.33/84.83 assume(oldX2 > 0 && oldX4 > 0 && oldX0 > 1 + oldX4 && oldX3 > 4 && oldX0 > 1 && oldX7 > 7 && oldX1 + (4 + 4 * oldX4) > 4 && oldX6 < 1); 184.33/84.83 x0 := oldX0; 184.33/84.83 x1 := oldX1; 184.33/84.83 x2 := oldX2; 184.33/84.83 x3 := oldX3; 184.33/84.83 x4 := 1 + oldX4; 184.33/84.83 x5 := oldX1 + (4 + 4 * oldX4); 184.33/84.83 x6 := oldX9; 184.33/84.83 x7 := oldX7; 184.33/84.83 x8 := oldX10; 184.33/84.83 TO: 1; 184.33/84.83 184.33/84.83 184.33/84.83 ---------------------------------------- 184.33/84.83 184.33/84.83 (19) T2 (EQUIVALENT) 184.33/84.83 Initially, performed program simplifications using lexicographic rank functions: 184.33/84.83 * Removed transitions 2, 5, 6, 14, 17, 18 using the following rank functions: 184.33/84.83 - Rank function 1: 184.33/84.83 RF for loc. 6: 8+12*x0-12*x4 184.33/84.83 RF for loc. 7: 12*x0+3*x1-3*x5 184.33/84.83 RF for loc. 8: 4+12*x0-12*x4 184.33/84.83 RF for loc. 12: 12*x0+3*x1-3*x5 184.33/84.83 Bound for (chained) transitions 6: 28 184.33/84.83 Bound for (chained) transitions 17: 24 184.33/84.83 - Rank function 2: 184.33/84.83 RF for loc. 6: 3*x6 184.33/84.83 RF for loc. 7: 1+3*x7 184.33/84.83 RF for loc. 8: -1+3*x6 184.33/84.83 RF for loc. 12: 3*x7 184.33/84.83 Bound for (chained) transitions 5: 2 184.33/84.83 Bound for (chained) transitions 18: 3 184.33/84.83 - Rank function 3: 184.33/84.83 RF for loc. 6: 1 184.33/84.83 RF for loc. 7: 0 184.33/84.83 RF for loc. 8: 0 184.33/84.83 RF for loc. 12: -1 184.33/84.83 Bound for (chained) transitions 2: 1 184.33/84.83 Bound for (chained) transitions 14: 0 184.33/84.83 184.33/84.83 ---------------------------------------- 184.33/84.83 184.33/84.83 (20) 184.33/84.83 YES 184.33/84.83 184.33/84.83 ---------------------------------------- 184.33/84.83 184.33/84.83 (21) 184.33/84.83 Obligation: 184.33/84.83 SCC 184.33/84.83 ---------------------------------------- 184.33/84.83 184.33/84.83 (22) SCC2IRS (SOUND) 184.33/84.83 Transformed LLVM symbolic execution graph SCC into a rewrite problem. Log: 184.33/84.83 Generated rules. Obtained 20 rulesP rules: 184.33/84.83 f_2347(v27330, v27331, v27332, v27333, v27334, v27335, v27336, 0, v27338, v27339, 1, v27341, v27342, v27343, v27347, v27344, v27345, v27346, v27348, v27349, v27350, v27351, v27352, v27353, v27354, 3, 7, 4, 8) -> f_2353(v27330, v27331, v27332, v27333, v27334, v27335, v27336, 0, v27338, v27339, 1, v27341, v27342, v27343, v27347, v27344, v27345, v27346, v27348, v27349, v27350, v27351, v27352, v27353, v27354, 3, 7, 4, 8) :|: 0 = 0 184.33/84.83 f_2353(v27330, v27331, v27332, v27333, v27334, v27335, v27336, 0, v27338, v27339, 1, v27341, v27342, v27343, v27347, v27344, v27345, v27346, v27348, v27349, v27350, v27351, v27352, v27353, v27354, 3, 7, 4, 8) -> f_2359(v27330, v27331, v27332, v27333, v27334, v27335, v27336, 0, v27338, v27339, 1, v27341, v27342, v27343, v27347, v27344, v27345, v27346, v27348, v27349, v27350, v27351, v27352, v27353, v27354, 3, 7, 4, 2, 5, 8) :|: v27347 < v27336 && 1 <= v27342 && 5 <= v27343 && 2 <= v27336 && 8 <= v27354 184.33/84.83 f_2359(v27330, v27331, v27332, v27333, v27334, v27335, v27336, 0, v27338, v27339, 1, v27341, v27342, v27343, v27347, v27344, v27345, v27346, v27348, v27349, v27350, v27351, v27352, v27353, v27354, 3, 7, 4, 2, 5, 8) -> f_2366(v27330, v27331, v27332, v27333, v27334, v27335, v27336, 0, v27338, v27339, 1, v27341, v27342, v27343, v27347, v27344, v27345, v27346, v27348, v27349, v27350, v27351, v27352, v27353, v27354, 3, 7, 4, 2, 5, 8) :|: 0 = 0 184.33/84.83 f_2366(v27330, v27331, v27332, v27333, v27334, v27335, v27336, 0, v27338, v27339, 1, v27341, v27342, v27343, v27347, v27344, v27345, v27346, v27348, v27349, v27350, v27351, v27352, v27353, v27354, 3, 7, 4, 2, 5, 8) -> f_2373(v27330, v27331, v27332, v27333, v27334, v27335, v27336, 0, v27338, v27339, 1, v27341, v27342, v27343, v27347, v27344, v27345, v27346, v27348, v27349, v27350, v27351, v27352, v27353, v27354, 3, 7, 4, 2, 5, 8) :|: TRUE 184.33/84.83 f_2373(v27330, v27331, v27332, v27333, v27334, v27335, v27336, 0, v27338, v27339, 1, v27341, v27342, v27343, v27347, v27344, v27345, v27346, v27348, v27349, v27350, v27351, v27352, v27353, v27354, 3, 7, 4, 2, 5, 8) -> f_2380(v27330, v27331, v27332, v27333, v27334, v27335, v27336, 0, v27338, v27339, 1, v27341, v27342, v27343, v27347, v27344, v27345, v27346, v27348, v27349, v27350, v27351, v27352, v27353, v27354, 3, 7, 4, 2, 5, 8) :|: TRUE 184.33/84.83 f_2380(v27330, v27331, v27332, v27333, v27334, v27335, v27336, 0, v27338, v27339, 1, v27341, v27342, v27343, v27347, v27344, v27345, v27346, v27348, v27349, v27350, v27351, v27352, v27353, v27354, 3, 7, 4, 2, 5, 8) -> f_2387(v27330, v27331, v27332, v27333, v27334, v27335, v27336, 0, v27338, v27339, 1, v27341, v27342, v27343, v27347, v27344, v27345, v27346, v27348, v27349, v27350, v27351, v27352, v27353, v27354, 3, 7, 4, 2, 5, 8) :|: 0 = 0 184.33/84.83 f_2387(v27330, v27331, v27332, v27333, v27334, v27335, v27336, 0, v27338, v27339, 1, v27341, v27342, v27343, v27347, v27344, v27345, v27346, v27348, v27349, v27350, v27351, v27352, v27353, v27354, 3, 7, 4, 2, 5, 8) -> f_2394(v27330, v27331, v27332, v27333, v27334, v27335, v27336, 0, v27338, v27339, 1, v27341, v27342, v27343, v27347, v27345, v27346, v27344, v27348, v27349, v27350, v27351, v27352, v27353, v27354, 3, 7, 4, 2, 5, 8) :|: 0 = 0 184.33/84.83 f_2394(v27330, v27331, v27332, v27333, v27334, v27335, v27336, 0, v27338, v27339, 1, v27341, v27342, v27343, v27347, v27345, v27346, v27344, v27348, v27349, v27350, v27351, v27352, v27353, v27354, 3, 7, 4, 2, 5, 8) -> f_2401(v27330, v27331, v27332, v27333, v27334, v27335, v27336, 0, v27338, v27339, 1, v27341, v27342, v27343, v27347, v27345, v27346, v27344, v27348, v27349, v27350, v27351, v27352, v27353, v27354, 3, 7, 4, 2, 5, 8) :|: 0 = 0 184.33/84.83 f_2401(v27330, v27331, v27332, v27333, v27334, v27335, v27336, 0, v27338, v27339, 1, v27341, v27342, v27343, v27347, v27345, v27346, v27344, v27348, v27349, v27350, v27351, v27352, v27353, v27354, 3, 7, 4, 2, 5, 8) -> f_2407(v27330, v27331, v27332, v27333, v27334, v27335, v27336, 0, v27338, v27339, 1, v27341, v27342, v27343, v27347, v28587, v27346, v27344, v27348, v27349, v27350, v27351, v27352, v27353, v27354, v27345, 3, 7, 4, 2, 5, 8) :|: v28587 = v27339 + 4 * v27347 && 5 <= v28587 184.33/84.83 f_2407(v27330, v27331, v27332, v27333, v27334, v27335, v27336, 0, v27338, v27339, 1, v27341, v27342, v27343, v27347, v28587, v27346, v27344, v27348, v27349, v27350, v27351, v27352, v27353, v27354, v27345, 3, 7, 4, 2, 5, 8) -> f_2414(v27330, v27331, v27332, v27333, v27334, v27335, v27336, 0, v27338, v27339, 1, v27341, v27342, v27343, v27347, v28587, v28680, v27344, v27348, v27349, v27350, v27351, v27352, v27353, v27354, v27345, v27346, 3, 7, 4, 2, 5, 8) :|: TRUE 184.33/84.83 f_2414(v27330, v27331, v27332, v27333, v27334, v27335, v27336, 0, v27338, v27339, 1, v27341, v27342, v27343, v27347, v28587, v28680, v27344, v27348, v27349, v27350, v27351, v27352, v27353, v27354, v27345, v27346, 3, 7, 4, 2, 5, 8) -> f_2423(v27330, v27331, v27332, v27333, v27334, v27335, v27336, 0, v27338, v27339, 1, v27341, v27342, v27343, v27347, v28587, v28680, v27344, v27348, v27349, v27350, v27351, v27352, v27353, v27354, v27345, v27346, 3, 7, 4, 2, 5, 8) :|: v28680 <= 0 184.33/84.83 f_2423(v27330, v27331, v27332, v27333, v27334, v27335, v27336, 0, v27338, v27339, 1, v27341, v27342, v27343, v27347, v28587, v28680, v27344, v27348, v27349, v27350, v27351, v27352, v27353, v27354, v27345, v27346, 3, 7, 4, 2, 5, 8) -> f_2431(v27330, v27331, v27332, v27333, v27334, v27335, v27336, 0, v27338, v27339, 1, v27341, v27342, v27343, v27347, v28587, v28680, v27344, v27348, v27349, v27350, v27351, v27352, v27353, v27354, v27345, v27346, 3, 7, 4, 2, 5, 8) :|: 0 = 0 184.33/84.83 f_2431(v27330, v27331, v27332, v27333, v27334, v27335, v27336, 0, v27338, v27339, 1, v27341, v27342, v27343, v27347, v28587, v28680, v27344, v27348, v27349, v27350, v27351, v27352, v27353, v27354, v27345, v27346, 3, 7, 4, 2, 5, 8) -> f_2439(v27330, v27331, v27332, v27333, v27334, v27335, v27336, 0, v27338, v27339, 1, v27341, v27342, v27343, v27347, v28587, v28680, v27344, v27348, v27349, v27350, v27351, v27352, v27353, v27354, v27345, v27346, 3, 7, 4, 2, 5, 8) :|: TRUE 184.33/84.83 f_2439(v27330, v27331, v27332, v27333, v27334, v27335, v27336, 0, v27338, v27339, 1, v27341, v27342, v27343, v27347, v28587, v28680, v27344, v27348, v27349, v27350, v27351, v27352, v27353, v27354, v27345, v27346, 3, 7, 4, 2, 5, 8) -> f_2449(v27330, v27331, v27332, v27333, v27334, v27335, v27336, 0, v27338, v27339, 1, v27341, v27342, v27343, v27347, v28587, v28680, v27344, v27348, v27349, v27350, v27351, v27352, v27353, v27354, v27345, v27346, 3, 7, 4, 2, 5, 8) :|: TRUE 184.33/84.83 f_2449(v27330, v27331, v27332, v27333, v27334, v27335, v27336, 0, v27338, v27339, 1, v27341, v27342, v27343, v27347, v28587, v28680, v27344, v27348, v27349, v27350, v27351, v27352, v27353, v27354, v27345, v27346, 3, 7, 4, 2, 5, 8) -> f_2457(v27330, v27331, v27332, v27333, v27334, v27335, v27336, 0, v27338, v27339, 1, v27341, v27342, v27343, v27347, v28587, v28680, v27348, v27349, v27350, v27351, v27352, v27353, v27354, v27345, v27346, 3, 7, 4, 2, 5, 8) :|: 0 = 0 184.33/84.83 f_2457(v27330, v27331, v27332, v27333, v27334, v27335, v27336, 0, v27338, v27339, 1, v27341, v27342, v27343, v27347, v28587, v28680, v27348, v27349, v27350, v27351, v27352, v27353, v27354, v27345, v27346, 3, 7, 4, 2, 5, 8) -> f_2466(v27330, v27331, v27332, v27333, v27334, v27335, v27336, 0, v27338, v27339, 1, v27341, v27342, v27343, v27347, v28587, v28680, v29963, v27348, v27349, v27350, v27351, v27352, v27353, v27354, v27345, v27346, 3, 7, 4, 2, 5, 8) :|: v29963 = 1 + v27347 && 2 <= v29963 184.33/84.83 f_2466(v27330, v27331, v27332, v27333, v27334, v27335, v27336, 0, v27338, v27339, 1, v27341, v27342, v27343, v27347, v28587, v28680, v29963, v27348, v27349, v27350, v27351, v27352, v27353, v27354, v27345, v27346, 3, 7, 4, 2, 5, 8) -> f_2474(v27330, v27331, v27332, v27333, v27334, v27335, v27336, 0, v27338, v27339, 1, v27341, v27342, v27343, v27347, v28587, v28680, v29963, v27348, v27349, v27350, v27351, v27352, v27353, v27354, v27345, v27346, 3, 7, 4, 2, 5, 8) :|: TRUE 184.33/84.83 f_2474(v27330, v27331, v27332, v27333, v27334, v27335, v27336, 0, v27338, v27339, 1, v27341, v27342, v27343, v27347, v28587, v28680, v29963, v27348, v27349, v27350, v27351, v27352, v27353, v27354, v27345, v27346, 3, 7, 4, 2, 5, 8) -> f_2481(v27330, v27331, v27332, v27333, v27334, v27335, v27336, 0, v27338, v27339, 1, v27341, v27342, v27343, v27347, v28587, v28680, v29963, v27348, v27349, v27350, v27351, v27352, v27353, v27354, v27345, v27346, 3, 7, 4, 2, 5, 8) :|: TRUE 184.33/84.83 f_2481(v27330, v27331, v27332, v27333, v27334, v27335, v27336, 0, v27338, v27339, 1, v27341, v27342, v27343, v27347, v28587, v28680, v29963, v27348, v27349, v27350, v27351, v27352, v27353, v27354, v27345, v27346, 3, 7, 4, 2, 5, 8) -> f_2341(v27330, v27331, v27332, v27333, v27334, v27335, v27336, 0, v27338, v27339, 1, v27341, v27342, v27343, v27347, v28587, v28680, v29963, v27348, v27349, v27350, v27351, v27352, v27353, v27354, 3, 7, 4, 8) :|: TRUE 184.33/84.83 f_2341(v27330, v27331, v27332, v27333, v27334, v27335, v27336, 0, v27338, v27339, 1, v27341, v27342, v27343, v27344, v27345, v27346, v27347, v27348, v27349, v27350, v27351, v27352, v27353, v27354, 3, 7, 4, 8) -> f_2347(v27330, v27331, v27332, v27333, v27334, v27335, v27336, 0, v27338, v27339, 1, v27341, v27342, v27343, v27347, v27344, v27345, v27346, v27348, v27349, v27350, v27351, v27352, v27353, v27354, 3, 7, 4, 8) :|: 0 = 0 184.33/84.83 Combined rules. Obtained 1 rulesP rules: 184.33/84.83 f_2347(v27330:0, v27331:0, v27332:0, v27333:0, v27334:0, v27335:0, v27336:0, 0, v27338:0, v27339:0, 1, v27341:0, v27342:0, v27343:0, v27347:0, v27344:0, v27345:0, v27346:0, v27348:0, v27349:0, v27350:0, v27351:0, v27352:0, v27353:0, v27354:0, 3, 7, 4, 8) -> f_2347(v27330:0, v27331:0, v27332:0, v27333:0, v27334:0, v27335:0, v27336:0, 0, v27338:0, v27339:0, 1, v27341:0, v27342:0, v27343:0, 1 + v27347:0, v27347:0, v27339:0 + 4 * v27347:0, v28680:0, v27348:0, v27349:0, v27350:0, v27351:0, v27352:0, v27353:0, v27354:0, 3, 7, 4, 8) :|: v27342:0 > 0 && v27347:0 < v27336:0 && v27343:0 > 4 && v27336:0 > 1 && v27354:0 > 7 && v27339:0 + 4 * v27347:0 > 4 && v27347:0 > 0 && v28680:0 < 1 184.33/84.83 Filtered unneeded arguments: 184.33/84.83 f_2347(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22, x23, x24, x25, x26, x27, x28, x29) -> f_2347(x7, x10, x13, x14, x15, x25) 184.33/84.83 Removed division, modulo operations, cleaned up constraints. Obtained 1 rules.P rules: 184.33/84.83 f_2347(v27336:0, v27339:0, v27342:0, v27343:0, v27347:0, v27354:0) -> f_2347(v27336:0, v27339:0, v27342:0, v27343:0, 1 + v27347:0, v27354:0) :|: v27347:0 < v27336:0 && v27342:0 > 0 && v27343:0 > 4 && v27336:0 > 1 && v27354:0 > 7 && v27347:0 > 0 && v27339:0 + 4 * v27347:0 > 4 184.33/84.83 184.33/84.83 ---------------------------------------- 184.33/84.83 184.33/84.83 (23) 184.33/84.83 Obligation: 184.33/84.83 Rules: 184.33/84.83 f_2347(v27336:0, v27339:0, v27342:0, v27343:0, v27347:0, v27354:0) -> f_2347(v27336:0, v27339:0, v27342:0, v27343:0, 1 + v27347:0, v27354:0) :|: v27347:0 < v27336:0 && v27342:0 > 0 && v27343:0 > 4 && v27336:0 > 1 && v27354:0 > 7 && v27347:0 > 0 && v27339:0 + 4 * v27347:0 > 4 184.33/84.83 184.33/84.83 ---------------------------------------- 184.33/84.83 184.33/84.83 (24) IRS2T2 (EQUIVALENT) 184.33/84.83 Transformed input IRS into an integer transition system.Used the following mapping from defined symbols to location IDs: 184.33/84.83 184.33/84.83 (f_2347_6,1) 184.33/84.83 184.33/84.83 ---------------------------------------- 184.33/84.83 184.33/84.83 (25) 184.33/84.83 Obligation: 184.33/84.83 START: 0; 184.33/84.83 184.33/84.83 FROM: 0; 184.33/84.83 TO: 1; 184.33/84.83 184.33/84.83 FROM: 1; 184.33/84.83 oldX0 := x0; 184.33/84.83 oldX1 := x1; 184.33/84.83 oldX2 := x2; 184.33/84.83 oldX3 := x3; 184.33/84.83 oldX4 := x4; 184.33/84.83 oldX5 := x5; 184.33/84.83 assume(oldX4 < oldX0 && oldX2 > 0 && oldX3 > 4 && oldX0 > 1 && oldX5 > 7 && oldX4 > 0 && oldX1 + 4 * oldX4 > 4); 184.33/84.83 x0 := oldX0; 184.33/84.83 x1 := oldX1; 184.33/84.83 x2 := oldX2; 184.33/84.83 x3 := oldX3; 184.33/84.83 x4 := 1 + oldX4; 184.33/84.83 x5 := oldX5; 184.33/84.83 TO: 1; 184.33/84.83 184.33/84.83 184.33/84.83 ---------------------------------------- 184.33/84.83 184.33/84.83 (26) T2 (EQUIVALENT) 184.33/84.83 Initially, performed program simplifications using lexicographic rank functions: 184.33/84.83 * Removed transitions 1, 3, 4 using the following rank functions: 184.33/84.83 - Rank function 1: 184.33/84.83 RF for loc. 5: 1+2*x0-2*x4 184.33/84.83 RF for loc. 6: 2*x0-2*x4 184.33/84.83 Bound for (chained) transitions 3: 2 184.33/84.83 Bound for (chained) transitions 4: 2 184.33/84.83 - Rank function 2: 184.33/84.83 RF for loc. 5: 1 184.33/84.83 RF for loc. 6: 0 184.33/84.83 Bound for (chained) transitions 1: 1 184.33/84.83 184.33/84.83 ---------------------------------------- 184.33/84.83 184.33/84.83 (27) 184.33/84.83 YES 184.33/84.83 184.33/84.83 ---------------------------------------- 184.33/84.83 184.33/84.83 (28) 184.33/84.83 Obligation: 184.33/84.83 SCC 184.33/84.83 ---------------------------------------- 184.33/84.83 184.33/84.83 (29) SCC2IRS (SOUND) 184.33/84.83 Transformed LLVM symbolic execution graph SCC into a rewrite problem. Log: 184.33/84.83 Generated rules. Obtained 20 rulesP rules: 184.33/84.83 f_2336(v27141, v27142, v27143, v27144, v27145, v27146, v27147, 0, v27149, v27150, 1, v27152, v27153, v27154, v27158, v27155, v27156, v27157, v27159, v27160, v27161, v27162, v27163, v27164, v27165, 3, 7, 4, 8) -> f_2344(v27141, v27142, v27143, v27144, v27145, v27146, v27147, 0, v27149, v27150, 1, v27152, v27153, v27154, v27158, v27155, v27156, v27157, v27159, v27160, v27161, v27162, v27163, v27164, v27165, 3, 7, 4, 8) :|: 0 = 0 184.33/84.83 f_2344(v27141, v27142, v27143, v27144, v27145, v27146, v27147, 0, v27149, v27150, 1, v27152, v27153, v27154, v27158, v27155, v27156, v27157, v27159, v27160, v27161, v27162, v27163, v27164, v27165, 3, 7, 4, 8) -> f_2349(v27141, v27142, v27143, v27144, v27145, v27146, v27147, 0, v27149, v27150, 1, v27152, v27153, v27154, v27158, v27155, v27156, v27157, v27159, v27160, v27161, v27162, v27163, v27164, v27165, 3, 7, 4, 2, 5, 8) :|: v27158 < v27147 && 1 <= v27153 && 5 <= v27154 && 2 <= v27147 && 8 <= v27165 184.33/84.83 f_2349(v27141, v27142, v27143, v27144, v27145, v27146, v27147, 0, v27149, v27150, 1, v27152, v27153, v27154, v27158, v27155, v27156, v27157, v27159, v27160, v27161, v27162, v27163, v27164, v27165, 3, 7, 4, 2, 5, 8) -> f_2355(v27141, v27142, v27143, v27144, v27145, v27146, v27147, 0, v27149, v27150, 1, v27152, v27153, v27154, v27158, v27155, v27156, v27157, v27159, v27160, v27161, v27162, v27163, v27164, v27165, 3, 7, 4, 2, 5, 8) :|: 0 = 0 184.33/84.83 f_2355(v27141, v27142, v27143, v27144, v27145, v27146, v27147, 0, v27149, v27150, 1, v27152, v27153, v27154, v27158, v27155, v27156, v27157, v27159, v27160, v27161, v27162, v27163, v27164, v27165, 3, 7, 4, 2, 5, 8) -> f_2362(v27141, v27142, v27143, v27144, v27145, v27146, v27147, 0, v27149, v27150, 1, v27152, v27153, v27154, v27158, v27155, v27156, v27157, v27159, v27160, v27161, v27162, v27163, v27164, v27165, 3, 7, 4, 2, 5, 8) :|: TRUE 184.33/84.83 f_2362(v27141, v27142, v27143, v27144, v27145, v27146, v27147, 0, v27149, v27150, 1, v27152, v27153, v27154, v27158, v27155, v27156, v27157, v27159, v27160, v27161, v27162, v27163, v27164, v27165, 3, 7, 4, 2, 5, 8) -> f_2370(v27141, v27142, v27143, v27144, v27145, v27146, v27147, 0, v27149, v27150, 1, v27152, v27153, v27154, v27158, v27155, v27156, v27157, v27159, v27160, v27161, v27162, v27163, v27164, v27165, 3, 7, 4, 2, 5, 8) :|: TRUE 184.33/84.83 f_2370(v27141, v27142, v27143, v27144, v27145, v27146, v27147, 0, v27149, v27150, 1, v27152, v27153, v27154, v27158, v27155, v27156, v27157, v27159, v27160, v27161, v27162, v27163, v27164, v27165, 3, 7, 4, 2, 5, 8) -> f_2377(v27141, v27142, v27143, v27144, v27145, v27146, v27147, 0, v27149, v27150, 1, v27152, v27153, v27154, v27158, v27155, v27156, v27157, v27159, v27160, v27161, v27162, v27163, v27164, v27165, 3, 7, 4, 2, 5, 8) :|: 0 = 0 184.33/84.83 f_2377(v27141, v27142, v27143, v27144, v27145, v27146, v27147, 0, v27149, v27150, 1, v27152, v27153, v27154, v27158, v27155, v27156, v27157, v27159, v27160, v27161, v27162, v27163, v27164, v27165, 3, 7, 4, 2, 5, 8) -> f_2384(v27141, v27142, v27143, v27144, v27145, v27146, v27147, 0, v27149, v27150, 1, v27152, v27153, v27154, v27158, v27156, v27157, v27155, v27159, v27160, v27161, v27162, v27163, v27164, v27165, 3, 7, 4, 2, 5, 8) :|: 0 = 0 184.33/84.83 f_2384(v27141, v27142, v27143, v27144, v27145, v27146, v27147, 0, v27149, v27150, 1, v27152, v27153, v27154, v27158, v27156, v27157, v27155, v27159, v27160, v27161, v27162, v27163, v27164, v27165, 3, 7, 4, 2, 5, 8) -> f_2391(v27141, v27142, v27143, v27144, v27145, v27146, v27147, 0, v27149, v27150, 1, v27152, v27153, v27154, v27158, v27156, v27157, v27155, v27159, v27160, v27161, v27162, v27163, v27164, v27165, 3, 7, 4, 2, 5, 8) :|: 0 = 0 184.33/84.83 f_2391(v27141, v27142, v27143, v27144, v27145, v27146, v27147, 0, v27149, v27150, 1, v27152, v27153, v27154, v27158, v27156, v27157, v27155, v27159, v27160, v27161, v27162, v27163, v27164, v27165, 3, 7, 4, 2, 5, 8) -> f_2398(v27141, v27142, v27143, v27144, v27145, v27146, v27147, 0, v27149, v27150, 1, v27152, v27153, v27154, v27158, v28419, v27157, v27155, v27159, v27160, v27161, v27162, v27163, v27164, v27165, v27156, 3, 7, 4, 2, 5, 8) :|: v28419 = v27150 + 4 * v27158 && 5 <= v28419 184.33/84.83 f_2398(v27141, v27142, v27143, v27144, v27145, v27146, v27147, 0, v27149, v27150, 1, v27152, v27153, v27154, v27158, v28419, v27157, v27155, v27159, v27160, v27161, v27162, v27163, v27164, v27165, v27156, 3, 7, 4, 2, 5, 8) -> f_2404(v27141, v27142, v27143, v27144, v27145, v27146, v27147, 0, v27149, v27150, 1, v27152, v27153, v27154, v27158, v28419, v28421, v27155, v27159, v27160, v27161, v27162, v27163, v27164, v27165, v27156, v27157, 3, 7, 4, 2, 5, 8) :|: TRUE 184.33/84.83 f_2404(v27141, v27142, v27143, v27144, v27145, v27146, v27147, 0, v27149, v27150, 1, v27152, v27153, v27154, v27158, v28419, v28421, v27155, v27159, v27160, v27161, v27162, v27163, v27164, v27165, v27156, v27157, 3, 7, 4, 2, 5, 8) -> f_2411(v27141, v27142, v27143, v27144, v27145, v27146, v27147, 0, v27149, v27150, 1, v27152, v27153, v27154, v27158, v28419, v28421, v27155, v27159, v27160, v27161, v27162, v27163, v27164, v27165, v27156, v27157, 3, 7, 4, 2, 5, 8) :|: v28421 <= 0 184.33/84.83 f_2411(v27141, v27142, v27143, v27144, v27145, v27146, v27147, 0, v27149, v27150, 1, v27152, v27153, v27154, v27158, v28419, v28421, v27155, v27159, v27160, v27161, v27162, v27163, v27164, v27165, v27156, v27157, 3, 7, 4, 2, 5, 8) -> f_2419(v27141, v27142, v27143, v27144, v27145, v27146, v27147, 0, v27149, v27150, 1, v27152, v27153, v27154, v27158, v28419, v28421, v27155, v27159, v27160, v27161, v27162, v27163, v27164, v27165, v27156, v27157, 3, 7, 4, 2, 5, 8) :|: 0 = 0 184.33/84.83 f_2419(v27141, v27142, v27143, v27144, v27145, v27146, v27147, 0, v27149, v27150, 1, v27152, v27153, v27154, v27158, v28419, v28421, v27155, v27159, v27160, v27161, v27162, v27163, v27164, v27165, v27156, v27157, 3, 7, 4, 2, 5, 8) -> f_2427(v27141, v27142, v27143, v27144, v27145, v27146, v27147, 0, v27149, v27150, 1, v27152, v27153, v27154, v27158, v28419, v28421, v27155, v27159, v27160, v27161, v27162, v27163, v27164, v27165, v27156, v27157, 3, 7, 4, 2, 5, 8) :|: TRUE 184.33/84.83 f_2427(v27141, v27142, v27143, v27144, v27145, v27146, v27147, 0, v27149, v27150, 1, v27152, v27153, v27154, v27158, v28419, v28421, v27155, v27159, v27160, v27161, v27162, v27163, v27164, v27165, v27156, v27157, 3, 7, 4, 2, 5, 8) -> f_2435(v27141, v27142, v27143, v27144, v27145, v27146, v27147, 0, v27149, v27150, 1, v27152, v27153, v27154, v27158, v28419, v28421, v27155, v27159, v27160, v27161, v27162, v27163, v27164, v27165, v27156, v27157, 3, 7, 4, 2, 5, 8) :|: TRUE 184.33/84.83 f_2435(v27141, v27142, v27143, v27144, v27145, v27146, v27147, 0, v27149, v27150, 1, v27152, v27153, v27154, v27158, v28419, v28421, v27155, v27159, v27160, v27161, v27162, v27163, v27164, v27165, v27156, v27157, 3, 7, 4, 2, 5, 8) -> f_2444(v27141, v27142, v27143, v27144, v27145, v27146, v27147, 0, v27149, v27150, 1, v27152, v27153, v27154, v27158, v28419, v28421, v27159, v27160, v27161, v27162, v27163, v27164, v27165, v27156, v27157, 3, 7, 4, 2, 5, 8) :|: 0 = 0 184.33/84.83 f_2444(v27141, v27142, v27143, v27144, v27145, v27146, v27147, 0, v27149, v27150, 1, v27152, v27153, v27154, v27158, v28419, v28421, v27159, v27160, v27161, v27162, v27163, v27164, v27165, v27156, v27157, 3, 7, 4, 2, 5, 8) -> f_2454(v27141, v27142, v27143, v27144, v27145, v27146, v27147, 0, v27149, v27150, 1, v27152, v27153, v27154, v27158, v28419, v28421, v29802, v27159, v27160, v27161, v27162, v27163, v27164, v27165, v27156, v27157, 3, 7, 4, 2, 5, 8) :|: v29802 = 1 + v27158 && 2 <= v29802 184.33/84.83 f_2454(v27141, v27142, v27143, v27144, v27145, v27146, v27147, 0, v27149, v27150, 1, v27152, v27153, v27154, v27158, v28419, v28421, v29802, v27159, v27160, v27161, v27162, v27163, v27164, v27165, v27156, v27157, 3, 7, 4, 2, 5, 8) -> f_2463(v27141, v27142, v27143, v27144, v27145, v27146, v27147, 0, v27149, v27150, 1, v27152, v27153, v27154, v27158, v28419, v28421, v29802, v27159, v27160, v27161, v27162, v27163, v27164, v27165, v27156, v27157, 3, 7, 4, 2, 5, 8) :|: TRUE 184.33/84.83 f_2463(v27141, v27142, v27143, v27144, v27145, v27146, v27147, 0, v27149, v27150, 1, v27152, v27153, v27154, v27158, v28419, v28421, v29802, v27159, v27160, v27161, v27162, v27163, v27164, v27165, v27156, v27157, 3, 7, 4, 2, 5, 8) -> f_2470(v27141, v27142, v27143, v27144, v27145, v27146, v27147, 0, v27149, v27150, 1, v27152, v27153, v27154, v27158, v28419, v28421, v29802, v27159, v27160, v27161, v27162, v27163, v27164, v27165, v27156, v27157, 3, 7, 4, 2, 5, 8) :|: TRUE 184.33/84.83 f_2470(v27141, v27142, v27143, v27144, v27145, v27146, v27147, 0, v27149, v27150, 1, v27152, v27153, v27154, v27158, v28419, v28421, v29802, v27159, v27160, v27161, v27162, v27163, v27164, v27165, v27156, v27157, 3, 7, 4, 2, 5, 8) -> f_2329(v27141, v27142, v27143, v27144, v27145, v27146, v27147, 0, v27149, v27150, 1, v27152, v27153, v27154, v27158, v28419, v28421, v29802, v27159, v27160, v27161, v27162, v27163, v27164, v27165, 3, 7, 4, 8) :|: TRUE 184.33/84.83 f_2329(v27141, v27142, v27143, v27144, v27145, v27146, v27147, 0, v27149, v27150, 1, v27152, v27153, v27154, v27155, v27156, v27157, v27158, v27159, v27160, v27161, v27162, v27163, v27164, v27165, 3, 7, 4, 8) -> f_2336(v27141, v27142, v27143, v27144, v27145, v27146, v27147, 0, v27149, v27150, 1, v27152, v27153, v27154, v27158, v27155, v27156, v27157, v27159, v27160, v27161, v27162, v27163, v27164, v27165, 3, 7, 4, 8) :|: 0 = 0 184.33/84.83 Combined rules. Obtained 1 rulesP rules: 184.33/84.83 f_2336(v27141:0, v27142:0, v27143:0, v27144:0, v27145:0, v27146:0, v27147:0, 0, v27149:0, v27150:0, 1, v27152:0, v27153:0, v27154:0, v27158:0, v27155:0, v27156:0, v27157:0, v27159:0, v27160:0, v27161:0, v27162:0, v27163:0, v27164:0, v27165:0, 3, 7, 4, 8) -> f_2336(v27141:0, v27142:0, v27143:0, v27144:0, v27145:0, v27146:0, v27147:0, 0, v27149:0, v27150:0, 1, v27152:0, v27153:0, v27154:0, 1 + v27158:0, v27158:0, v27150:0 + 4 * v27158:0, v28421:0, v27159:0, v27160:0, v27161:0, v27162:0, v27163:0, v27164:0, v27165:0, 3, 7, 4, 8) :|: v27153:0 > 0 && v27158:0 < v27147:0 && v27154:0 > 4 && v27147:0 > 1 && v27165:0 > 7 && v27150:0 + 4 * v27158:0 > 4 && v27158:0 > 0 && v28421:0 < 1 184.33/84.83 Filtered unneeded arguments: 184.33/84.83 f_2336(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22, x23, x24, x25, x26, x27, x28, x29) -> f_2336(x7, x10, x13, x14, x15, x25) 184.33/84.83 Removed division, modulo operations, cleaned up constraints. Obtained 1 rules.P rules: 184.33/84.83 f_2336(v27147:0, v27150:0, v27153:0, v27154:0, v27158:0, v27165:0) -> f_2336(v27147:0, v27150:0, v27153:0, v27154:0, 1 + v27158:0, v27165:0) :|: v27158:0 < v27147:0 && v27153:0 > 0 && v27154:0 > 4 && v27147:0 > 1 && v27165:0 > 7 && v27158:0 > 0 && v27150:0 + 4 * v27158:0 > 4 184.33/84.83 184.33/84.83 ---------------------------------------- 184.33/84.83 184.33/84.83 (30) 184.33/84.83 Obligation: 184.33/84.83 Rules: 184.33/84.83 f_2336(v27147:0, v27150:0, v27153:0, v27154:0, v27158:0, v27165:0) -> f_2336(v27147:0, v27150:0, v27153:0, v27154:0, 1 + v27158:0, v27165:0) :|: v27158:0 < v27147:0 && v27153:0 > 0 && v27154:0 > 4 && v27147:0 > 1 && v27165:0 > 7 && v27158:0 > 0 && v27150:0 + 4 * v27158:0 > 4 184.33/84.83 184.33/84.83 ---------------------------------------- 184.33/84.83 184.33/84.83 (31) IRS2T2 (EQUIVALENT) 184.33/84.83 Transformed input IRS into an integer transition system.Used the following mapping from defined symbols to location IDs: 184.33/84.83 184.33/84.83 (f_2336_6,1) 184.33/84.83 184.33/84.83 ---------------------------------------- 184.33/84.83 184.33/84.83 (32) 184.33/84.83 Obligation: 184.33/84.83 START: 0; 184.33/84.83 184.33/84.83 FROM: 0; 184.33/84.83 TO: 1; 184.33/84.83 184.33/84.83 FROM: 1; 184.33/84.83 oldX0 := x0; 184.33/84.83 oldX1 := x1; 184.33/84.83 oldX2 := x2; 184.33/84.83 oldX3 := x3; 184.33/84.83 oldX4 := x4; 184.33/84.83 oldX5 := x5; 184.33/84.83 assume(oldX4 < oldX0 && oldX2 > 0 && oldX3 > 4 && oldX0 > 1 && oldX5 > 7 && oldX4 > 0 && oldX1 + 4 * oldX4 > 4); 184.33/84.83 x0 := oldX0; 184.33/84.83 x1 := oldX1; 184.33/84.83 x2 := oldX2; 184.33/84.83 x3 := oldX3; 184.33/84.83 x4 := 1 + oldX4; 184.33/84.83 x5 := oldX5; 184.33/84.83 TO: 1; 184.33/84.83 184.33/84.83 184.33/84.83 ---------------------------------------- 184.33/84.83 184.33/84.83 (33) T2 (EQUIVALENT) 184.33/84.83 Initially, performed program simplifications using lexicographic rank functions: 184.33/84.83 * Removed transitions 1, 3, 4 using the following rank functions: 184.33/84.83 - Rank function 1: 184.33/84.83 RF for loc. 5: 1+2*x0-2*x4 184.33/84.83 RF for loc. 6: 2*x0-2*x4 184.33/84.83 Bound for (chained) transitions 3: 2 184.33/84.83 Bound for (chained) transitions 4: 2 184.33/84.83 - Rank function 2: 184.33/84.83 RF for loc. 5: 1 184.33/84.83 RF for loc. 6: 0 184.33/84.83 Bound for (chained) transitions 1: 1 184.33/84.83 184.33/84.83 ---------------------------------------- 184.33/84.83 184.33/84.83 (34) 184.33/84.83 YES 184.33/84.83 184.33/84.83 ---------------------------------------- 184.33/84.83 184.33/84.83 (35) 184.33/84.83 Obligation: 184.33/84.83 SCC 184.33/84.83 ---------------------------------------- 184.33/84.83 184.33/84.83 (36) SCC2IRS (SOUND) 184.33/84.83 Transformed LLVM symbolic execution graph SCC into a rewrite problem. Log: 184.33/84.83 Generated rules. Obtained 18 rulesP rules: 184.33/84.83 f_1578(v11080, v11081, v11082, v11083, v11084, v11085, v11086, 0, v11088, v11089, 1, v11091, v11092, v11093, v11094, v11095, v11096, v11097, v11098, v11099, v11100, v11101, v11102, 3, 7, 4, 8) -> f_1587(v11080, v11081, v11082, v11083, v11084, v11085, v11086, 0, v11088, v11089, 1, v11091, v11092, v11093, v11094, v11095, v11096, v11097, v11098, v11099, v11100, v11101, v11102, 3, 7, 4, 8) :|: 0 = 0 184.33/84.83 f_1587(v11080, v11081, v11082, v11083, v11084, v11085, v11086, 0, v11088, v11089, 1, v11091, v11092, v11093, v11094, v11095, v11096, v11097, v11098, v11099, v11100, v11101, v11102, 3, 7, 4, 8) -> f_1593(v11080, v11081, v11082, v11083, v11084, v11085, v11086, 0, v11088, v11089, 1, v11091, v11092, v11093, v11094, v11095, v11096, v11097, v11098, v11099, v11100, v11101, v11102, 3, 7, 4, 8) :|: 0 = 0 184.33/84.83 f_1593(v11080, v11081, v11082, v11083, v11084, v11085, v11086, 0, v11088, v11089, 1, v11091, v11092, v11093, v11094, v11095, v11096, v11097, v11098, v11099, v11100, v11101, v11102, 3, 7, 4, 8) -> f_1600(v11080, v11081, v11082, v11083, v11084, v11085, v11086, 0, v11088, v11089, 1, v11091, v11092, v11093, v11094, v11095, v11096, v11097, v11098, v11099, v11100, v11101, v11102, 3, 7, 4, 8) :|: 0 = 0 184.33/84.83 f_1600(v11080, v11081, v11082, v11083, v11084, v11085, v11086, 0, v11088, v11089, 1, v11091, v11092, v11093, v11094, v11095, v11096, v11097, v11098, v11099, v11100, v11101, v11102, 3, 7, 4, 8) -> f_1608(v11080, v11081, v11082, v11083, v11084, v11085, v11086, 0, v11088, v11089, 1, v11091, v11092, v11093, v11095, v11094, v11096, v11097, v11098, v11099, v11100, v11101, v11102, 3, 7, 4, 8) :|: 0 = 0 184.33/84.83 f_1608(v11080, v11081, v11082, v11083, v11084, v11085, v11086, 0, v11088, v11089, 1, v11091, v11092, v11093, v11095, v11094, v11096, v11097, v11098, v11099, v11100, v11101, v11102, 3, 7, 4, 8) -> f_1616(v11080, v11081, v11082, v11083, v11084, v11085, v11086, 0, v11088, v11089, 1, v11091, v11092, v11093, v11095, v11094, v11096, v11097, v11098, v11099, v11100, v11101, v11102, 3, 7, 4, 2, 8) :|: 0 < v11095 && 2 <= v11094 184.33/84.83 f_1616(v11080, v11081, v11082, v11083, v11084, v11085, v11086, 0, v11088, v11089, 1, v11091, v11092, v11093, v11095, v11094, v11096, v11097, v11098, v11099, v11100, v11101, v11102, 3, 7, 4, 2, 8) -> f_1624(v11080, v11081, v11082, v11083, v11084, v11085, v11086, 0, v11088, v11089, 1, v11091, v11092, v11093, v11095, v11094, v11096, v11097, v11098, v11099, v11100, v11101, v11102, 3, 7, 4, 2, 8) :|: 0 = 0 184.33/84.83 f_1624(v11080, v11081, v11082, v11083, v11084, v11085, v11086, 0, v11088, v11089, 1, v11091, v11092, v11093, v11095, v11094, v11096, v11097, v11098, v11099, v11100, v11101, v11102, 3, 7, 4, 2, 8) -> f_1632(v11080, v11081, v11082, v11083, v11084, v11085, v11086, 0, v11088, v11089, 1, v11091, v11092, v11093, v11095, v11094, v11096, v11097, v11098, v11099, v11100, v11101, v11102, 3, 7, 4, 2, 8) :|: TRUE 184.33/84.83 f_1632(v11080, v11081, v11082, v11083, v11084, v11085, v11086, 0, v11088, v11089, 1, v11091, v11092, v11093, v11095, v11094, v11096, v11097, v11098, v11099, v11100, v11101, v11102, 3, 7, 4, 2, 8) -> f_1633(v11080, v11081, v11082, v11083, v11084, v11085, v11086, 0, v11088, v11089, 1, v11091, v11092, v11093, v11095, v11094, v11096, v11097, v11098, v11099, v11100, v11101, v11102, 3, 7, 4, 2, 8) :|: TRUE 184.33/84.83 f_1633(v12373, v12374, v12375, v12376, v12377, v12378, v12379, 0, v12381, v12382, 1, v12384, v12385, v12386, v12387, v12388, v12389, v12390, v12391, v12392, v12393, v12394, v12395, 3, 7, 4, 2, 8) -> f_1641(v12373, v12374, v12375, v12376, v12377, v12378, v12379, 0, v12381, v12382, 1, v12384, v12385, v12386, v12387, v12388, v12389, v12390, v12391, v12392, v12393, v12394, v12395, 3, 7, 4, 2, 8) :|: 0 = 0 184.33/84.83 f_1641(v12373, v12374, v12375, v12376, v12377, v12378, v12379, 0, v12381, v12382, 1, v12384, v12385, v12386, v12387, v12388, v12389, v12390, v12391, v12392, v12393, v12394, v12395, 3, 7, 4, 2, 8) -> f_1650(v12373, v12374, v12375, v12376, v12377, v12378, v12379, 0, v12381, v12382, 1, v12384, v12385, v12386, v12387, v12388, v12389, v12390, v12391, v12392, v12393, v12394, v12395, 3, 7, 4, 2, 8) :|: 0 = 0 184.33/84.83 f_1650(v12373, v12374, v12375, v12376, v12377, v12378, v12379, 0, v12381, v12382, 1, v12384, v12385, v12386, v12387, v12388, v12389, v12390, v12391, v12392, v12393, v12394, v12395, 3, 7, 4, 2, 8) -> f_1658(v12373, v12374, v12375, v12376, v12377, v12378, v12379, 0, v12381, v12382, 1, v12384, v12385, v12386, v12387, v12388, v12389, v12390, v12391, v12392, v12393, v12394, v12395, 3, 7, 4, 2, 8) :|: 0 = 0 184.33/84.83 f_1658(v12373, v12374, v12375, v12376, v12377, v12378, v12379, 0, v12381, v12382, 1, v12384, v12385, v12386, v12387, v12388, v12389, v12390, v12391, v12392, v12393, v12394, v12395, 3, 7, 4, 2, 8) -> f_1666(v12373, v12374, v12375, v12376, v12377, v12378, v12379, 0, v12381, v12382, 1, v12384, v12385, v12386, v12387, v12388, v12389, v12390, v12391, v12392, v12393, v12394, v12395, 3, 7, 4, 2, 8) :|: 0 = 0 184.33/84.83 f_1666(v12373, v12374, v12375, v12376, v12377, v12378, v12379, 0, v12381, v12382, 1, v12384, v12385, v12386, v12387, v12388, v12389, v12390, v12391, v12392, v12393, v12394, v12395, 3, 7, 4, 2, 8) -> f_1675(v12373, v12374, v12375, v12376, v12377, v12378, v12379, 0, v12381, v12382, 1, v12384, v12385, v12386, v12387, v12389, v12390, v12391, v12392, v12393, v12394, v12395, 3, 7, 4, 8) :|: 0 = 0 184.33/84.83 f_1675(v12373, v12374, v12375, v12376, v12377, v12378, v12379, 0, v12381, v12382, 1, v12384, v12385, v12386, v12387, v12389, v12390, v12391, v12392, v12393, v12394, v12395, 3, 7, 4, 8) -> f_1685(v12373, v12374, v12375, v12376, v12377, v12378, v12379, 0, v12381, v12382, 1, v12384, v12385, v12386, v12387, v13200, v12389, v12390, v12391, v12392, v12393, v12394, v12395, 3, 7, 4, 8) :|: 1 + v13200 = v12387 && 0 <= v13200 184.33/84.83 f_1685(v12373, v12374, v12375, v12376, v12377, v12378, v12379, 0, v12381, v12382, 1, v12384, v12385, v12386, v12387, v13200, v12389, v12390, v12391, v12392, v12393, v12394, v12395, 3, 7, 4, 8) -> f_1695(v12373, v12374, v12375, v12376, v12377, v12378, v12379, 0, v12381, v12382, 1, v12384, v12385, v12386, v12387, v13200, v12389, v12390, v12391, v12392, v12393, v12394, v12395, 3, 7, 4, 8) :|: TRUE 184.33/84.83 f_1695(v12373, v12374, v12375, v12376, v12377, v12378, v12379, 0, v12381, v12382, 1, v12384, v12385, v12386, v12387, v13200, v12389, v12390, v12391, v12392, v12393, v12394, v12395, 3, 7, 4, 8) -> f_1705(v12373, v12374, v12375, v12376, v12377, v12378, v12379, 0, v12381, v12382, 1, v12384, v12385, v12386, v12387, v13200, v12389, v12390, v12391, v12392, v12393, v12394, v12395, 3, 7, 4, 8) :|: TRUE 184.33/84.83 f_1705(v12373, v12374, v12375, v12376, v12377, v12378, v12379, 0, v12381, v12382, 1, v12384, v12385, v12386, v12387, v13200, v12389, v12390, v12391, v12392, v12393, v12394, v12395, 3, 7, 4, 8) -> f_1568(v12373, v12374, v12375, v12376, v12377, v12378, v12379, 0, v12381, v12382, 1, v12384, v12385, v12386, v12387, v13200, v12389, v12390, v12391, v12392, v12393, v12394, v12395, 3, 7, 4, 8) :|: TRUE 184.33/84.83 f_1568(v11080, v11081, v11082, v11083, v11084, v11085, v11086, 0, v11088, v11089, 1, v11091, v11092, v11093, v11094, v11095, v11096, v11097, v11098, v11099, v11100, v11101, v11102, 3, 7, 4, 8) -> f_1578(v11080, v11081, v11082, v11083, v11084, v11085, v11086, 0, v11088, v11089, 1, v11091, v11092, v11093, v11094, v11095, v11096, v11097, v11098, v11099, v11100, v11101, v11102, 3, 7, 4, 8) :|: 0 = 0 184.33/84.83 Combined rules. Obtained 1 rulesP rules: 184.33/84.83 f_1578(v11080:0, v11081:0, v11082:0, v11083:0, v11084:0, v11085:0, v11086:0, 0, v11088:0, v11089:0, 1, v11091:0, v11092:0, v11093:0, v11094:0, 1 + v13200:0, v11096:0, v11097:0, v11098:0, v11099:0, v11100:0, v11101:0, v11102:0, 3, 7, 4, 8) -> f_1578(v11080:0, v11081:0, v11082:0, v11083:0, v11084:0, v11085:0, v11086:0, 0, v11088:0, v11089:0, 1, v11091:0, v11092:0, v11093:0, 1 + v13200:0, v13200:0, v11096:0, v11097:0, v11098:0, v11099:0, v11100:0, v11101:0, v11102:0, 3, 7, 4, 8) :|: v11094:0 > 1 && v13200:0 > -1 184.33/84.83 Filtered unneeded arguments: 184.33/84.83 f_1578(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22, x23, x24, x25, x26, x27) -> f_1578(x15, x16) 184.33/84.83 Removed division, modulo operations, cleaned up constraints. Obtained 1 rules.P rules: 184.33/84.83 f_1578(v11094:0, sum~cons_1~v13200:0) -> f_1578(1 + v13200:0, v13200:0) :|: v11094:0 > 1 && v13200:0 > -1 && sum~cons_1~v13200:0 = 1 + v13200:0 184.33/84.83 184.33/84.83 ---------------------------------------- 184.33/84.83 184.33/84.83 (37) 184.33/84.83 Obligation: 184.33/84.83 Rules: 184.33/84.83 f_1578(v11094:0, sum~cons_1~v13200:0) -> f_1578(1 + v13200:0, v13200:0) :|: v11094:0 > 1 && v13200:0 > -1 && sum~cons_1~v13200:0 = 1 + v13200:0 184.33/84.83 184.33/84.83 ---------------------------------------- 184.33/84.83 184.33/84.83 (38) IRS2T2 (EQUIVALENT) 184.33/84.83 Transformed input IRS into an integer transition system.Used the following mapping from defined symbols to location IDs: 184.33/84.83 184.33/84.83 (f_1578_2,1) 184.33/84.83 184.33/84.83 ---------------------------------------- 184.33/84.83 184.33/84.83 (39) 184.33/84.83 Obligation: 184.33/84.83 START: 0; 184.33/84.83 184.33/84.83 FROM: 0; 184.33/84.83 TO: 1; 184.33/84.83 184.33/84.83 FROM: 1; 184.33/84.83 oldX0 := x0; 184.33/84.83 oldX1 := x1; 184.33/84.83 oldX2 := oldX1 - 1; 184.33/84.83 assume(oldX0 > 1 && oldX2 > -1 && oldX1 = 1 + oldX2); 184.33/84.83 x0 := 1 + oldX2; 184.33/84.83 x1 := oldX1 - 1; 184.33/84.83 TO: 1; 184.33/84.83 184.33/84.83 184.33/84.83 ---------------------------------------- 184.33/84.83 184.33/84.83 (40) T2 (EQUIVALENT) 184.33/84.83 Initially, performed program simplifications using lexicographic rank functions: 184.33/84.83 * Removed transitions 1, 3, 4 using the following rank functions: 184.33/84.83 - Rank function 1: 184.33/84.83 RF for loc. 5: 1+2*x1 184.33/84.83 RF for loc. 6: 2*x1 184.33/84.83 Bound for (chained) transitions 3: 2 184.33/84.83 Bound for (chained) transitions 4: 2 184.33/84.83 - Rank function 2: 184.33/84.83 RF for loc. 5: 0 184.33/84.83 RF for loc. 6: -1 184.33/84.83 Bound for (chained) transitions 1: 0 184.33/84.83 184.33/84.83 ---------------------------------------- 184.33/84.83 184.33/84.83 (41) 184.33/84.83 YES 184.33/84.83 184.33/84.83 ---------------------------------------- 184.33/84.83 184.33/84.83 (42) 184.33/84.83 Obligation: 184.33/84.83 SCC 184.33/84.83 ---------------------------------------- 184.33/84.83 184.33/84.83 (43) SCC2IRS (SOUND) 184.33/84.83 Transformed LLVM symbolic execution graph SCC into a rewrite problem. Log: 184.33/84.83 Generated rules. Obtained 17 rulesP rules: 184.33/84.83 f_1471(v7762, v7763, v7764, v7765, v7766, v7767, v7889, 0, v7770, v7771, 1, v7774, v7773, v7801, v7785, v9164, v7778, v7779, v7780, v7781, v7782, v7783, v7784, v7777, 3, 7, 4, 8, 5, 2) -> f_1477(v7762, v7763, v7764, v7765, v7766, v7767, v7889, 0, v7770, v7771, 1, v7774, v7773, v7801, v7785, v9164, v7778, v7779, v7780, v7781, v7782, v7783, v7784, v7777, 3, 7, 4, 8, 5, 2) :|: 0 = 0 184.33/84.83 f_1477(v7762, v7763, v7764, v7765, v7766, v7767, v7889, 0, v7770, v7771, 1, v7774, v7773, v7801, v7785, v9164, v7778, v7779, v7780, v7781, v7782, v7783, v7784, v7777, 3, 7, 4, 8, 5, 2) -> f_1483(v7762, v7763, v7764, v7765, v7766, v7767, v7889, 0, v7770, v7771, 1, v7774, v7773, v7801, v7785, v9164, v7778, v7779, v7780, v7781, v7782, v7783, v7784, v7777, 3, 7, 4, 8, 5, 2) :|: 0 = 0 184.33/84.83 f_1483(v7762, v7763, v7764, v7765, v7766, v7767, v7889, 0, v7770, v7771, 1, v7774, v7773, v7801, v7785, v9164, v7778, v7779, v7780, v7781, v7782, v7783, v7784, v7777, 3, 7, 4, 8, 5, 2) -> f_1489(v7762, v7763, v7764, v7765, v7766, v7767, v7889, 0, v7770, v7771, 1, v7774, v7773, v7801, v7785, v9164, v7778, v7779, v7780, v7781, v7782, v7783, v7784, v7777, 3, 7, 4, 8, 5, 2) :|: 0 = 0 184.33/84.83 f_1489(v7762, v7763, v7764, v7765, v7766, v7767, v7889, 0, v7770, v7771, 1, v7774, v7773, v7801, v7785, v9164, v7778, v7779, v7780, v7781, v7782, v7783, v7784, v7777, 3, 7, 4, 8, 5, 2) -> f_1495(v7762, v7763, v7764, v7765, v7766, v7767, v7889, 0, v7770, v7771, 1, v7774, v7773, v7801, v9164, v7785, v7778, v7779, v7780, v7781, v7782, v7783, v7784, v7777, 3, 7, 4, 8, 5, 2) :|: 0 = 0 184.33/84.83 f_1495(v7762, v7763, v7764, v7765, v7766, v7767, v7889, 0, v7770, v7771, 1, v7774, v7773, v7801, v9164, v7785, v7778, v7779, v7780, v7781, v7782, v7783, v7784, v7777, 3, 7, 4, 8, 5, 2) -> f_1501(v7762, v7763, v7764, v7765, v7766, v7767, v7889, 0, v7770, v7771, 1, v7774, v7773, v7801, v9164, v7785, v7778, v7779, v7780, v7781, v7782, v7783, v7784, v7777, 3, 7, 4, 8, 2, 5) :|: 0 < v9164 && 2 <= v7785 184.33/84.83 f_1501(v7762, v7763, v7764, v7765, v7766, v7767, v7889, 0, v7770, v7771, 1, v7774, v7773, v7801, v9164, v7785, v7778, v7779, v7780, v7781, v7782, v7783, v7784, v7777, 3, 7, 4, 8, 2, 5) -> f_1508(v7762, v7763, v7764, v7765, v7766, v7767, v7889, 0, v7770, v7771, 1, v7774, v7773, v7801, v9164, v7785, v7778, v7779, v7780, v7781, v7782, v7783, v7784, v7777, 3, 7, 4, 8, 2, 5) :|: 0 = 0 184.33/84.83 f_1508(v7762, v7763, v7764, v7765, v7766, v7767, v7889, 0, v7770, v7771, 1, v7774, v7773, v7801, v9164, v7785, v7778, v7779, v7780, v7781, v7782, v7783, v7784, v7777, 3, 7, 4, 8, 2, 5) -> f_1515(v7762, v7763, v7764, v7765, v7766, v7767, v7889, 0, v7770, v7771, 1, v7774, v7773, v7801, v9164, v7785, v7778, v7779, v7780, v7781, v7782, v7783, v7784, v7777, 3, 7, 4, 8, 2, 5) :|: TRUE 184.33/84.83 f_1515(v7762, v7763, v7764, v7765, v7766, v7767, v7889, 0, v7770, v7771, 1, v7774, v7773, v7801, v9164, v7785, v7778, v7779, v7780, v7781, v7782, v7783, v7784, v7777, 3, 7, 4, 8, 2, 5) -> f_1522(v7762, v7763, v7764, v7765, v7766, v7767, v7889, 0, v7770, v7771, 1, v7774, v7773, v7801, v9164, v7785, v7778, v7779, v7780, v7781, v7782, v7783, v7784, v7777, 3, 7, 4, 8, 2, 5) :|: 0 = 0 184.33/84.83 f_1522(v7762, v7763, v7764, v7765, v7766, v7767, v7889, 0, v7770, v7771, 1, v7774, v7773, v7801, v9164, v7785, v7778, v7779, v7780, v7781, v7782, v7783, v7784, v7777, 3, 7, 4, 8, 2, 5) -> f_1530(v7762, v7763, v7764, v7765, v7766, v7767, v7889, 0, v7770, v7771, 1, v7774, v7773, v7801, v9164, v7785, v7778, v7779, v7780, v7781, v7782, v7783, v7784, v7777, 3, 7, 4, 8, 2, 5) :|: 0 = 0 184.33/84.83 f_1530(v7762, v7763, v7764, v7765, v7766, v7767, v7889, 0, v7770, v7771, 1, v7774, v7773, v7801, v9164, v7785, v7778, v7779, v7780, v7781, v7782, v7783, v7784, v7777, 3, 7, 4, 8, 2, 5) -> f_1538(v7762, v7763, v7764, v7765, v7766, v7767, v7889, 0, v7770, v7771, 1, v7774, v7773, v7801, v9164, v7785, v7778, v7779, v7780, v7781, v7782, v7783, v7784, v7777, 3, 7, 4, 8, 2, 5) :|: 0 = 0 184.33/84.83 f_1538(v7762, v7763, v7764, v7765, v7766, v7767, v7889, 0, v7770, v7771, 1, v7774, v7773, v7801, v9164, v7785, v7778, v7779, v7780, v7781, v7782, v7783, v7784, v7777, 3, 7, 4, 8, 2, 5) -> f_1547(v7762, v7763, v7764, v7765, v7766, v7767, v7889, 0, v7770, v7771, 1, v7774, v7773, v7801, v9164, v7785, v7778, v7779, v7780, v7781, v7782, v7783, v7784, v7777, 3, 7, 4, 8, 2, 5) :|: 0 = 0 184.33/84.83 f_1547(v7762, v7763, v7764, v7765, v7766, v7767, v7889, 0, v7770, v7771, 1, v7774, v7773, v7801, v9164, v7785, v7778, v7779, v7780, v7781, v7782, v7783, v7784, v7777, 3, 7, 4, 8, 2, 5) -> f_1555(v7762, v7763, v7764, v7765, v7766, v7767, v7889, 0, v7770, v7771, 1, v7774, v7773, v7801, v9164, v7778, v7779, v7780, v7781, v7782, v7783, v7784, v7777, 3, 7, 4, 8, 5, 2) :|: 0 = 0 184.33/84.83 f_1555(v7762, v7763, v7764, v7765, v7766, v7767, v7889, 0, v7770, v7771, 1, v7774, v7773, v7801, v9164, v7778, v7779, v7780, v7781, v7782, v7783, v7784, v7777, 3, 7, 4, 8, 5, 2) -> f_1563(v7762, v7763, v7764, v7765, v7766, v7767, v7889, 0, v7770, v7771, 1, v7774, v7773, v7801, v9164, v10997, v7778, v7779, v7780, v7781, v7782, v7783, v7784, v7777, 3, 7, 4, 8, 5, 2) :|: 1 + v10997 = v9164 && 0 <= v10997 184.33/84.83 f_1563(v7762, v7763, v7764, v7765, v7766, v7767, v7889, 0, v7770, v7771, 1, v7774, v7773, v7801, v9164, v10997, v7778, v7779, v7780, v7781, v7782, v7783, v7784, v7777, 3, 7, 4, 8, 5, 2) -> f_1574(v7762, v7763, v7764, v7765, v7766, v7767, v7889, 0, v7770, v7771, 1, v7774, v7773, v7801, v9164, v10997, v7778, v7779, v7780, v7781, v7782, v7783, v7784, v7777, 3, 7, 4, 8, 5, 2) :|: TRUE 184.33/84.83 f_1574(v7762, v7763, v7764, v7765, v7766, v7767, v7889, 0, v7770, v7771, 1, v7774, v7773, v7801, v9164, v10997, v7778, v7779, v7780, v7781, v7782, v7783, v7784, v7777, 3, 7, 4, 8, 5, 2) -> f_1582(v7762, v7763, v7764, v7765, v7766, v7767, v7889, 0, v7770, v7771, 1, v7774, v7773, v7801, v9164, v10997, v7778, v7779, v7780, v7781, v7782, v7783, v7784, v7777, 3, 7, 4, 8, 5, 2) :|: TRUE 184.33/84.83 f_1582(v7762, v7763, v7764, v7765, v7766, v7767, v7889, 0, v7770, v7771, 1, v7774, v7773, v7801, v9164, v10997, v7778, v7779, v7780, v7781, v7782, v7783, v7784, v7777, 3, 7, 4, 8, 5, 2) -> f_1465(v7762, v7763, v7764, v7765, v7766, v7767, v7889, 0, v7770, v7771, 1, v7774, v7773, v7801, v9164, v10997, v7778, v7779, v7780, v7781, v7782, v7783, v7784, v7777, 3, 7, 4, 8, 5, 2) :|: TRUE 184.33/84.83 f_1465(v7762, v7763, v7764, v7765, v7766, v7767, v7889, 0, v7770, v7771, 1, v7774, v7773, v7801, v7785, v9164, v7778, v7779, v7780, v7781, v7782, v7783, v7784, v7777, 3, 7, 4, 8, 5, 2) -> f_1471(v7762, v7763, v7764, v7765, v7766, v7767, v7889, 0, v7770, v7771, 1, v7774, v7773, v7801, v7785, v9164, v7778, v7779, v7780, v7781, v7782, v7783, v7784, v7777, 3, 7, 4, 8, 5, 2) :|: 0 = 0 184.33/84.83 Combined rules. Obtained 1 rulesP rules: 184.33/84.83 f_1471(v7762:0, v7763:0, v7764:0, v7765:0, v7766:0, v7767:0, v7889:0, 0, v7770:0, v7771:0, 1, v7774:0, v7773:0, v7801:0, v7785:0, 1 + v10997:0, v7778:0, v7779:0, v7780:0, v7781:0, v7782:0, v7783:0, v7784:0, v7777:0, 3, 7, 4, 8, 5, 2) -> f_1471(v7762:0, v7763:0, v7764:0, v7765:0, v7766:0, v7767:0, v7889:0, 0, v7770:0, v7771:0, 1, v7774:0, v7773:0, v7801:0, 1 + v10997:0, v10997:0, v7778:0, v7779:0, v7780:0, v7781:0, v7782:0, v7783:0, v7784:0, v7777:0, 3, 7, 4, 8, 5, 2) :|: v7785:0 > 1 && v10997:0 > -1 184.33/84.83 Filtered unneeded arguments: 184.33/84.83 f_1471(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22, x23, x24, x25, x26, x27, x28, x29, x30) -> f_1471(x15, x16) 184.33/84.83 Removed division, modulo operations, cleaned up constraints. Obtained 1 rules.P rules: 184.33/84.83 f_1471(v7785:0, sum~cons_1~v10997:0) -> f_1471(1 + v10997:0, v10997:0) :|: v7785:0 > 1 && v10997:0 > -1 && sum~cons_1~v10997:0 = 1 + v10997:0 184.33/84.83 184.33/84.83 ---------------------------------------- 184.33/84.83 184.33/84.83 (44) 184.33/84.83 Obligation: 184.33/84.83 Rules: 184.33/84.83 f_1471(v7785:0, sum~cons_1~v10997:0) -> f_1471(1 + v10997:0, v10997:0) :|: v7785:0 > 1 && v10997:0 > -1 && sum~cons_1~v10997:0 = 1 + v10997:0 184.33/84.83 184.33/84.83 ---------------------------------------- 184.33/84.83 184.33/84.83 (45) IRS2T2 (EQUIVALENT) 184.33/84.83 Transformed input IRS into an integer transition system.Used the following mapping from defined symbols to location IDs: 184.33/84.83 184.33/84.83 (f_1471_2,1) 184.33/84.83 184.33/84.83 ---------------------------------------- 184.33/84.83 184.33/84.83 (46) 184.33/84.83 Obligation: 184.33/84.83 START: 0; 184.33/84.83 184.33/84.83 FROM: 0; 184.33/84.83 TO: 1; 184.33/84.83 184.33/84.83 FROM: 1; 184.33/84.83 oldX0 := x0; 184.33/84.83 oldX1 := x1; 184.33/84.83 oldX2 := oldX1 - 1; 184.33/84.83 assume(oldX0 > 1 && oldX2 > -1 && oldX1 = 1 + oldX2); 184.33/84.83 x0 := 1 + oldX2; 184.33/84.83 x1 := oldX1 - 1; 184.33/84.83 TO: 1; 184.33/84.83 184.33/84.83 184.33/84.83 ---------------------------------------- 184.33/84.83 184.33/84.83 (47) T2 (EQUIVALENT) 184.33/84.83 Initially, performed program simplifications using lexicographic rank functions: 184.33/84.83 * Removed transitions 1, 3, 4 using the following rank functions: 184.33/84.83 - Rank function 1: 184.33/84.83 RF for loc. 5: 1+2*x1 184.33/84.83 RF for loc. 6: 2*x1 184.33/84.83 Bound for (chained) transitions 3: 2 184.33/84.83 Bound for (chained) transitions 4: 2 184.33/84.83 - Rank function 2: 184.33/84.83 RF for loc. 5: 0 184.33/84.83 RF for loc. 6: -1 184.33/84.83 Bound for (chained) transitions 1: 0 184.33/84.83 184.33/84.83 ---------------------------------------- 184.33/84.83 184.33/84.83 (48) 184.33/84.83 YES 184.33/84.83 184.33/84.83 ---------------------------------------- 184.33/84.83 184.33/84.83 (49) 184.33/84.83 Obligation: 184.33/84.83 SCC 184.33/84.83 ---------------------------------------- 184.33/84.83 184.33/84.83 (50) SCC2IRS (SOUND) 184.33/84.83 Transformed LLVM symbolic execution graph SCC into a rewrite problem. Log: 184.33/84.83 Generated rules. Obtained 65 rulesP rules: 184.33/84.83 f_1219(v6291, v6292, v6293, v6294, v6295, v6296, v6297, 0, v6299, v6300, 1, v6302, v6303, v6304, v6305, v6306, v6307, v6308, v6309, v6310, v6311, v6312, v6313, 3, 7, 4, 2, 8) -> f_1222(v6291, v6292, v6293, v6294, v6295, v6296, v6297, 0, v6299, v6300, 1, v6302, v6303, v6304, v6305, v6306, v6307, v6308, v6309, v6310, v6311, v6312, v6313, 3, 7, 4, 2, 8) :|: 0 = 0 184.33/84.83 f_1222(v6291, v6292, v6293, v6294, v6295, v6296, v6297, 0, v6299, v6300, 1, v6302, v6303, v6304, v6305, v6306, v6307, v6308, v6309, v6310, v6311, v6312, v6313, 3, 7, 4, 2, 8) -> f_1225(v6291, v6292, v6293, v6294, v6295, v6296, v6297, 0, v6299, v6300, 1, v6302, v6303, v6305, v6304, v6306, v6307, v6308, v6309, v6310, v6311, v6312, v6313, 3, 7, 4, 2, 8) :|: 0 = 0 184.33/84.83 f_1225(v6291, v6292, v6293, v6294, v6295, v6296, v6297, 0, v6299, v6300, 1, v6302, v6303, v6305, v6304, v6306, v6307, v6308, v6309, v6310, v6311, v6312, v6313, 3, 7, 4, 2, 8) -> f_1228(v6291, v6292, v6293, v6294, v6295, v6296, v6297, 0, v6299, v6300, 1, v6302, v6303, v6305, v6304, v6306, v6307, v6308, v6309, v6310, v6311, v6312, v6313, 3, 7, 4, 2, 8) :|: 0 = 0 184.33/84.83 f_1228(v6291, v6292, v6293, v6294, v6295, v6296, v6297, 0, v6299, v6300, 1, v6302, v6303, v6305, v6304, v6306, v6307, v6308, v6309, v6310, v6311, v6312, v6313, 3, 7, 4, 2, 8) -> f_1231(v6291, v6292, v6293, v6294, v6295, v6296, v6297, 0, v6299, v6300, 1, v6302, v6303, v6448, v6304, v6306, v6307, v6308, v6309, v6310, v6311, v6312, v6313, v6305, 3, 7, 4, 2, 8, 5) :|: v6448 = v6300 + 4 * v6302 && 5 <= v6448 184.33/84.83 f_1231(v6291, v6292, v6293, v6294, v6295, v6296, v6297, 0, v6299, v6300, 1, v6302, v6303, v6448, v6304, v6306, v6307, v6308, v6309, v6310, v6311, v6312, v6313, v6305, 3, 7, 4, 2, 8, 5) -> f_1234(v6291, v6292, v6293, v6294, v6295, v6296, v6297, 0, v6299, v6300, 1, v6302, v6303, v6448, v6304, v6306, v6307, v6308, v6309, v6310, v6311, v6312, v6313, v6305, 3, 7, 4, 2, 8, 5) :|: TRUE 184.33/84.83 f_1234(v6291, v6292, v6293, v6294, v6295, v6296, v6297, 0, v6299, v6300, 1, v6302, v6303, v6448, v6304, v6306, v6307, v6308, v6309, v6310, v6311, v6312, v6313, v6305, 3, 7, 4, 2, 8, 5) -> f_1237(v6291, v6292, v6293, v6294, v6295, v6296, v6297, 0, v6299, v6300, 1, v6302, v6303, v6448, v6304, v6306, v6307, v6308, v6309, v6310, v6311, v6312, v6313, v6305, 3, 7, 4, 2, 8, 5) :|: TRUE 184.33/84.83 f_1237(v6291, v6292, v6293, v6294, v6295, v6296, v6297, 0, v6299, v6300, 1, v6302, v6303, v6448, v6304, v6306, v6307, v6308, v6309, v6310, v6311, v6312, v6313, v6305, 3, 7, 4, 2, 8, 5) -> f_1345(v6291, v6292, v6293, v6294, v6295, v6296, v6297, 0, v6299, v6300, 1, v6302, v6303, v6448, v6304, v6306, v6307, v6308, v6309, v6310, v6311, v6312, v6313, 3, 7, 4, 2, 5, 8) :|: TRUE 184.33/84.83 f_1345(v7829, v7830, v7831, v7832, v7833, v7834, v7835, 0, v7837, v7838, 1, v7840, v7841, v7842, v7843, v7844, v7845, v7846, v7847, v7848, v7849, v7850, v7851, 3, 7, 4, 2, 5, 8) -> f_1347(v7829, v7830, v7831, v7832, v7833, v7834, v7835, 0, v7837, v7838, 1, v7840, v7841, v7842, v7844, v7845, v7846, v7847, v7848, v7849, v7850, v7851, 3, 7, 4, 2, 5, 8) :|: 0 = 0 184.33/84.83 f_1347(v7829, v7830, v7831, v7832, v7833, v7834, v7835, 0, v7837, v7838, 1, v7840, v7841, v7842, v7844, v7845, v7846, v7847, v7848, v7849, v7850, v7851, 3, 7, 4, 2, 5, 8) -> f_1349(v7829, v7830, v7831, v7832, v7833, v7834, v7835, 0, v7837, v7838, 1, v7840, v7841, v7842, v7887, v7844, v7845, v7846, v7847, v7848, v7849, v7850, v7851, 3, 7, 4, 2, 5, 8) :|: v7887 = 1 + v7840 && 2 <= v7887 184.33/84.83 f_1349(v7829, v7830, v7831, v7832, v7833, v7834, v7835, 0, v7837, v7838, 1, v7840, v7841, v7842, v7887, v7844, v7845, v7846, v7847, v7848, v7849, v7850, v7851, 3, 7, 4, 2, 5, 8) -> f_1351(v7829, v7830, v7831, v7832, v7833, v7834, v7835, 0, v7837, v7838, 1, v7840, v7841, v7842, v7887, v7844, v7845, v7846, v7847, v7848, v7849, v7850, v7851, 3, 7, 4, 2, 5, 8) :|: TRUE 184.33/84.83 f_1351(v7829, v7830, v7831, v7832, v7833, v7834, v7835, 0, v7837, v7838, 1, v7840, v7841, v7842, v7887, v7844, v7845, v7846, v7847, v7848, v7849, v7850, v7851, 3, 7, 4, 2, 5, 8) -> f_1353(v7829, v7830, v7831, v7832, v7833, v7834, v7835, 0, v7837, v7838, 1, v7840, v7841, v7842, v7887, v7844, v7845, v7846, v7847, v7848, v7849, v7850, v7851, 3, 7, 4, 2, 5, 8) :|: TRUE 184.33/84.83 f_1353(v7829, v7830, v7831, v7832, v7833, v7834, v7835, 0, v7837, v7838, 1, v7840, v7841, v7842, v7887, v7844, v7845, v7846, v7847, v7848, v7849, v7850, v7851, 3, 7, 4, 2, 5, 8) -> f_1355(v7829, v7830, v7831, v7832, v7833, v7834, v7835, 0, v7837, v7838, 1, v7887, v7841, v7840, v7842, v7844, v7845, v7846, v7847, v7848, v7849, v7850, v7851, 3, 7, 4, 2, 5, 8) :|: 0 = 0 184.33/84.83 f_1355(v7829, v7830, v7831, v7832, v7833, v7834, v7835, 0, v7837, v7838, 1, v7887, v7841, v7840, v7842, v7844, v7845, v7846, v7847, v7848, v7849, v7850, v7851, 3, 7, 4, 2, 5, 8) -> f_1357(v7829, v7830, v7831, v7832, v7833, v7834, v7835, 0, v7837, v7838, 1, v7887, v7841, v7840, v7842, v7844, v7845, v7846, v7847, v7848, v7849, v7850, v7851, 3, 7, 4, 2, 5, 8) :|: 0 = 0 184.33/84.83 f_1357(v7829, v7830, v7831, v7832, v7833, v7834, v7835, 0, v7837, v7838, 1, v7887, v7841, v7840, v7842, v7844, v7845, v7846, v7847, v7848, v7849, v7850, v7851, 3, 7, 4, 2, 5, 8) -> f_1359(v7829, v7830, v7831, v7832, v7833, v7834, v7835, 0, v7837, v7838, 1, v7887, v7841, v7840, v7842, v7844, v7845, v7846, v7847, v7848, v7849, v7850, v7851, 3, 7, 4, 5, 8, 12, 2) :|: v7887 < v7835 && 3 <= v7835 && 12 <= v7850 184.33/84.83 f_1359(v7829, v7830, v7831, v7832, v7833, v7834, v7835, 0, v7837, v7838, 1, v7887, v7841, v7840, v7842, v7844, v7845, v7846, v7847, v7848, v7849, v7850, v7851, 3, 7, 4, 5, 8, 12, 2) -> f_1362(v7829, v7830, v7831, v7832, v7833, v7834, v7835, 0, v7837, v7838, 1, v7887, v7841, v7840, v7842, v7844, v7845, v7846, v7847, v7848, v7849, v7850, v7851, 3, 7, 4, 5, 8, 12, 2) :|: 0 = 0 184.33/84.83 f_1362(v7829, v7830, v7831, v7832, v7833, v7834, v7835, 0, v7837, v7838, 1, v7887, v7841, v7840, v7842, v7844, v7845, v7846, v7847, v7848, v7849, v7850, v7851, 3, 7, 4, 5, 8, 12, 2) -> f_1366(v7829, v7830, v7831, v7832, v7833, v7834, v7835, 0, v7837, v7838, 1, v7887, v7841, v7840, v7842, v7844, v7845, v7846, v7847, v7848, v7849, v7850, v7851, 3, 7, 4, 5, 8, 12, 2) :|: TRUE 184.33/84.83 f_1366(v7829, v7830, v7831, v7832, v7833, v7834, v7835, 0, v7837, v7838, 1, v7887, v7841, v7840, v7842, v7844, v7845, v7846, v7847, v7848, v7849, v7850, v7851, 3, 7, 4, 5, 8, 12, 2) -> f_1370(v7829, v7830, v7831, v7832, v7833, v7834, v7835, 0, v7837, v7838, 1, v7887, v8029, v7841, v7840, v7842, v7844, v7845, v7846, v7847, v7848, v7849, v7850, v7851, 3, 7, 4, 5, 8, 12, 2) :|: TRUE 184.33/84.83 f_1370(v7829, v7830, v7831, v7832, v7833, v7834, v7835, 0, v7837, v7838, 1, v7887, v8029, v7841, v7840, v7842, v7844, v7845, v7846, v7847, v7848, v7849, v7850, v7851, 3, 7, 4, 5, 8, 12, 2) -> f_1374(v7829, v7830, v7831, v7832, v7833, v7834, v7835, 0, v7837, v7838, 1, v7887, v8029, v7841, v7840, v7842, v7844, v7845, v7846, v7847, v7848, v7849, v7850, v7851, 3, 7, 4, 5, 8, 12, 2) :|: TRUE 184.33/84.83 f_1374(v7829, v7830, v7831, v7832, v7833, v7834, v7835, 0, v7837, v7838, 1, v7887, v8029, v7841, v7840, v7842, v7844, v7845, v7846, v7847, v7848, v7849, v7850, v7851, 3, 7, 4, 5, 8, 12, 2) -> f_1378(v7829, v7830, v7831, v7832, v7833, v7834, v7835, 0, v7837, v7838, 1, v7887, v8029, v7841, v7840, v7842, v7844, v7845, v7846, v7847, v7848, v7849, v7850, v7851, 3, 7, 4, 5, 8, 12, 2) :|: 0 = 0 184.33/84.83 f_1378(v7829, v7830, v7831, v7832, v7833, v7834, v7835, 0, v7837, v7838, 1, v7887, v8029, v7841, v7840, v7842, v7844, v7845, v7846, v7847, v7848, v7849, v7850, v7851, 3, 7, 4, 5, 8, 12, 2) -> f_1382(v7829, v7830, v7831, v7832, v7833, v7834, v7835, 0, v7837, v7838, 1, v7887, v8029, v7841, v7840, v7842, v7844, v7845, v7846, v7847, v7848, v7849, v7850, v7851, 3, 7, 4, 5, 8, 12, 2) :|: v8029 < 0 184.33/84.83 f_1378(v7829, v7830, v7831, v7832, v7833, v7834, v7835, 0, v7837, v7838, 1, v7887, v8029, v7841, v7840, v7842, v7844, v7845, v7846, v7847, v7848, v7849, v7850, v7851, 3, 7, 4, 5, 8, 12, 2) -> f_1383(v7829, v7830, v7831, v7832, v7833, v7834, v7835, 0, v7837, v7838, 1, v7887, v8029, v7841, v7840, v7842, v7844, v7845, v7846, v7847, v7848, v7849, v7850, v7851, 3, 7, 4, 5, 8, 12, 2) :|: 0 <= v8029 184.33/84.83 f_1382(v7829, v7830, v7831, v7832, v7833, v7834, v7835, 0, v7837, v7838, 1, v7887, v8029, v7841, v7840, v7842, v7844, v7845, v7846, v7847, v7848, v7849, v7850, v7851, 3, 7, 4, 5, 8, 12, 2) -> f_1387(v7829, v7830, v7831, v7832, v7833, v7834, v7835, 0, v7837, v7838, 1, v7887, v8029, v7841, v7840, v7842, v7844, v7845, v7846, v7847, v7848, v7849, v7850, v7851, 3, 7, 4, 5, 8, 12, 2) :|: 0 = 0 184.33/84.83 f_1387(v7829, v7830, v7831, v7832, v7833, v7834, v7835, 0, v7837, v7838, 1, v7887, v8029, v7841, v7840, v7842, v7844, v7845, v7846, v7847, v7848, v7849, v7850, v7851, 3, 7, 4, 5, 8, 12, 2) -> f_1393(v7829, v7830, v7831, v7832, v7833, v7834, v7835, 0, v7837, v7838, 1, v7887, v8029, v7841, v7840, v7842, v7844, v7845, v7846, v7847, v7848, v7849, v7850, v7851, 3, 7, 4, 5, 8, 12, 2) :|: TRUE 184.33/84.83 f_1393(v7829, v7830, v7831, v7832, v7833, v7834, v7835, 0, v7837, v7838, 1, v7887, v8029, v7841, v7840, v7842, v7844, v7845, v7846, v7847, v7848, v7849, v7850, v7851, 3, 7, 4, 5, 8, 12, 2) -> f_1399(v7829, v7830, v7831, v7832, v7833, v7834, v7835, 0, v7837, v7838, 1, v7887, v8029, v7841, v7840, v7842, v7844, v7845, v7846, v7847, v7848, v7849, v7850, v7851, 3, 7, 4, 5, 8, 12, 2) :|: TRUE 184.33/84.83 f_1399(v7829, v7830, v7831, v7832, v7833, v7834, v7835, 0, v7837, v7838, 1, v7887, v8029, v7841, v7840, v7842, v7844, v7845, v7846, v7847, v7848, v7849, v7850, v7851, 3, 7, 4, 5, 8, 12, 2) -> f_1404(v7829, v7830, v7831, v7832, v7833, v7834, v7835, 0, v7837, v7838, 1, v7887, v8029, v7841, v7840, v7842, v7844, v7845, v7846, v7847, v7848, v7849, v7850, v7851, 3, 7, 4, 5, 8, 12, 2) :|: TRUE 184.33/84.83 f_1404(v7829, v7830, v7831, v7832, v7833, v7834, v7835, 0, v7837, v7838, 1, v7887, v8029, v7841, v7840, v7842, v7844, v7845, v7846, v7847, v7848, v7849, v7850, v7851, 3, 7, 4, 5, 8, 12, 2) -> f_1328(v7829, v7830, v7831, v7832, v7833, v7834, v7835, 0, v7837, v7838, 1, v7887, v8029, v7841, v7840, v7842, v7844, v7845, v7846, v7847, v7848, v7849, v7850, v7851, 3, 7, 4, 2, 8) :|: TRUE 184.33/84.83 f_1328(v7762, v7763, v7764, v7765, v7766, v7767, v7768, 0, v7770, v7771, 1, v7773, v7774, v7775, v7776, v7777, v7778, v7779, v7780, v7781, v7782, v7783, v7784, v7785, 3, 7, 4, 2, 8) -> f_1331(v7762, v7763, v7764, v7765, v7766, v7767, v7768, 0, v7770, v7771, 1, v7773, v7774, v7776, v7777, v7778, v7779, v7780, v7781, v7782, v7783, v7784, v7785, v7775, 3, 7, 4, 2, 8) :|: 0 = 0 184.33/84.83 f_1331(v7762, v7763, v7764, v7765, v7766, v7767, v7768, 0, v7770, v7771, 1, v7773, v7774, v7776, v7777, v7778, v7779, v7780, v7781, v7782, v7783, v7784, v7785, v7775, 3, 7, 4, 2, 8) -> f_1334(v7762, v7763, v7764, v7765, v7766, v7767, v7768, 0, v7770, v7771, 1, v7773, v7774, v7776, v7777, v7778, v7779, v7780, v7781, v7782, v7783, v7784, v7785, v7775, 3, 7, 4, 2, 8) :|: 0 = 0 184.33/84.83 f_1334(v7762, v7763, v7764, v7765, v7766, v7767, v7768, 0, v7770, v7771, 1, v7773, v7774, v7776, v7777, v7778, v7779, v7780, v7781, v7782, v7783, v7784, v7785, v7775, 3, 7, 4, 2, 8) -> f_1337(v7762, v7763, v7764, v7765, v7766, v7767, v7768, 0, v7770, v7771, 1, v7773, v7774, v7777, v7776, v7778, v7779, v7780, v7781, v7782, v7783, v7784, v7785, v7775, 3, 7, 4, 2, 8) :|: 0 = 0 184.33/84.83 f_1337(v7762, v7763, v7764, v7765, v7766, v7767, v7768, 0, v7770, v7771, 1, v7773, v7774, v7777, v7776, v7778, v7779, v7780, v7781, v7782, v7783, v7784, v7785, v7775, 3, 7, 4, 2, 8) -> f_1340(v7762, v7763, v7764, v7765, v7766, v7767, v7768, 0, v7770, v7771, 1, v7773, v7774, v7777, v7776, v7778, v7779, v7780, v7781, v7782, v7783, v7784, v7785, v7775, 3, 7, 4, 2, 8) :|: 0 = 0 184.33/84.83 f_1340(v7762, v7763, v7764, v7765, v7766, v7767, v7768, 0, v7770, v7771, 1, v7773, v7774, v7777, v7776, v7778, v7779, v7780, v7781, v7782, v7783, v7784, v7785, v7775, 3, 7, 4, 2, 8) -> f_1343(v7762, v7763, v7764, v7765, v7766, v7767, v7768, 0, v7770, v7771, 1, v7773, v7774, v7801, v7776, v7778, v7779, v7780, v7781, v7782, v7783, v7784, v7785, v7777, v7775, 3, 7, 4, 2, 8, 5) :|: v7801 = v7771 + 4 * v7773 && 5 <= v7801 184.33/84.83 f_1343(v7762, v7763, v7764, v7765, v7766, v7767, v7768, 0, v7770, v7771, 1, v7773, v7774, v7801, v7776, v7778, v7779, v7780, v7781, v7782, v7783, v7784, v7785, v7777, v7775, 3, 7, 4, 2, 8, 5) -> f_1346(v7762, v7763, v7764, v7765, v7766, v7767, v7768, 0, v7770, v7771, 1, v7773, v7774, v7801, v7776, v7778, v7779, v7780, v7781, v7782, v7783, v7784, v7785, v7777, v7775, 3, 7, 4, 2, 8, 5) :|: TRUE 184.33/84.83 f_1346(v7762, v7763, v7764, v7765, v7766, v7767, v7768, 0, v7770, v7771, 1, v7773, v7774, v7801, v7776, v7778, v7779, v7780, v7781, v7782, v7783, v7784, v7785, v7777, v7775, 3, 7, 4, 2, 8, 5) -> f_1348(v7762, v7763, v7764, v7765, v7766, v7767, v7768, 0, v7770, v7771, 1, v7773, v7774, v7801, v7776, v7778, v7779, v7780, v7781, v7782, v7783, v7784, v7785, v7777, v7775, 3, 7, 4, 2, 8, 5) :|: TRUE 184.33/84.83 f_1348(v7762, v7763, v7764, v7765, v7766, v7767, v7768, 0, v7770, v7771, 1, v7773, v7774, v7801, v7776, v7778, v7779, v7780, v7781, v7782, v7783, v7784, v7785, v7777, v7775, 3, 7, 4, 2, 8, 5) -> f_1350(v7762, v7763, v7764, v7765, v7766, v7767, v7768, 0, v7770, v7771, 1, v7773, v7774, v7801, v7778, v7779, v7780, v7781, v7782, v7783, v7784, v7785, v7777, v7775, 3, 7, 4, 2, 8, 5) :|: 0 = 0 184.33/84.83 f_1350(v7762, v7763, v7764, v7765, v7766, v7767, v7768, 0, v7770, v7771, 1, v7773, v7774, v7801, v7778, v7779, v7780, v7781, v7782, v7783, v7784, v7785, v7777, v7775, 3, 7, 4, 2, 8, 5) -> f_1352(v7762, v7763, v7764, v7765, v7766, v7767, v7768, 0, v7770, v7771, 1, v7773, v7774, v7801, v7889, v7778, v7779, v7780, v7781, v7782, v7783, v7784, v7785, v7777, v7775, 3, 7, 4, 2, 8, 5) :|: v7889 = 1 + v7773 && 2 <= v7889 184.33/84.83 f_1352(v7762, v7763, v7764, v7765, v7766, v7767, v7768, 0, v7770, v7771, 1, v7773, v7774, v7801, v7889, v7778, v7779, v7780, v7781, v7782, v7783, v7784, v7785, v7777, v7775, 3, 7, 4, 2, 8, 5) -> f_1354(v7762, v7763, v7764, v7765, v7766, v7767, v7768, 0, v7770, v7771, 1, v7773, v7774, v7801, v7889, v7778, v7779, v7780, v7781, v7782, v7783, v7784, v7785, v7777, v7775, 3, 7, 4, 2, 8, 5) :|: TRUE 184.33/84.83 f_1354(v7762, v7763, v7764, v7765, v7766, v7767, v7768, 0, v7770, v7771, 1, v7773, v7774, v7801, v7889, v7778, v7779, v7780, v7781, v7782, v7783, v7784, v7785, v7777, v7775, 3, 7, 4, 2, 8, 5) -> f_1356(v7762, v7763, v7764, v7765, v7766, v7767, v7768, 0, v7770, v7771, 1, v7773, v7774, v7801, v7889, v7778, v7779, v7780, v7781, v7782, v7783, v7784, v7785, v7777, v7775, 3, 7, 4, 2, 8, 5) :|: TRUE 184.33/84.83 f_1356(v7762, v7763, v7764, v7765, v7766, v7767, v7768, 0, v7770, v7771, 1, v7773, v7774, v7801, v7889, v7778, v7779, v7780, v7781, v7782, v7783, v7784, v7785, v7777, v7775, 3, 7, 4, 2, 8, 5) -> f_1358(v7762, v7763, v7764, v7765, v7766, v7767, v7768, 0, v7770, v7771, 1, v7889, v7774, v7773, v7801, v7778, v7779, v7780, v7781, v7782, v7783, v7784, v7785, v7777, v7775, 3, 7, 4, 2, 8, 5) :|: 0 = 0 184.33/84.83 f_1358(v7762, v7763, v7764, v7765, v7766, v7767, v7768, 0, v7770, v7771, 1, v7889, v7774, v7773, v7801, v7778, v7779, v7780, v7781, v7782, v7783, v7784, v7785, v7777, v7775, 3, 7, 4, 2, 8, 5) -> f_1361(v7762, v7763, v7764, v7765, v7766, v7767, v7768, 0, v7770, v7771, 1, v7889, v7774, v7773, v7801, v7778, v7779, v7780, v7781, v7782, v7783, v7784, v7785, v7777, v7775, 3, 7, 4, 2, 8, 5) :|: 0 = 0 184.33/84.83 f_1361(v7762, v7763, v7764, v7765, v7766, v7767, v7768, 0, v7770, v7771, 1, v7889, v7774, v7773, v7801, v7778, v7779, v7780, v7781, v7782, v7783, v7784, v7785, v7777, v7775, 3, 7, 4, 2, 8, 5) -> f_1364(v7762, v7763, v7764, v7765, v7766, v7767, v7768, 0, v7770, v7771, 1, v7889, v7774, v7773, v7801, v7778, v7779, v7780, v7781, v7782, v7783, v7784, v7785, v7777, v7775, 3, 7, 4, 8, 12, 5, 2) :|: v7889 < v7768 && 3 <= v7768 && 12 <= v7784 184.33/84.83 f_1364(v7762, v7763, v7764, v7765, v7766, v7767, v7768, 0, v7770, v7771, 1, v7889, v7774, v7773, v7801, v7778, v7779, v7780, v7781, v7782, v7783, v7784, v7785, v7777, v7775, 3, 7, 4, 8, 12, 5, 2) -> f_1368(v7762, v7763, v7764, v7765, v7766, v7767, v7768, 0, v7770, v7771, 1, v7889, v7774, v7773, v7801, v7778, v7779, v7780, v7781, v7782, v7783, v7784, v7785, v7777, v7775, 3, 7, 4, 8, 12, 5, 2) :|: 0 = 0 184.33/84.83 f_1368(v7762, v7763, v7764, v7765, v7766, v7767, v7768, 0, v7770, v7771, 1, v7889, v7774, v7773, v7801, v7778, v7779, v7780, v7781, v7782, v7783, v7784, v7785, v7777, v7775, 3, 7, 4, 8, 12, 5, 2) -> f_1372(v7762, v7763, v7764, v7765, v7766, v7767, v7768, 0, v7770, v7771, 1, v7889, v7774, v7773, v7801, v7778, v7779, v7780, v7781, v7782, v7783, v7784, v7785, v7777, v7775, 3, 7, 4, 8, 12, 5, 2) :|: TRUE 184.33/84.83 f_1372(v7762, v7763, v7764, v7765, v7766, v7767, v7768, 0, v7770, v7771, 1, v7889, v7774, v7773, v7801, v7778, v7779, v7780, v7781, v7782, v7783, v7784, v7785, v7777, v7775, 3, 7, 4, 8, 12, 5, 2) -> f_1376(v7762, v7763, v7764, v7765, v7766, v7767, v7768, 0, v7770, v7771, 1, v7889, v8160, v7774, v7773, v7801, v7778, v7779, v7780, v7781, v7782, v7783, v7784, v7785, v7777, v7775, 3, 7, 4, 8, 12, 5, 2) :|: TRUE 184.33/84.83 f_1376(v7762, v7763, v7764, v7765, v7766, v7767, v7768, 0, v7770, v7771, 1, v7889, v8160, v7774, v7773, v7801, v7778, v7779, v7780, v7781, v7782, v7783, v7784, v7785, v7777, v7775, 3, 7, 4, 8, 12, 5, 2) -> f_1380(v7762, v7763, v7764, v7765, v7766, v7767, v7768, 0, v7770, v7771, 1, v7889, v8160, v7774, v7773, v7801, v7778, v7779, v7780, v7781, v7782, v7783, v7784, v7785, v7777, v7775, 3, 7, 4, 8, 12, 5, 2) :|: TRUE 184.33/84.83 f_1380(v7762, v7763, v7764, v7765, v7766, v7767, v7768, 0, v7770, v7771, 1, v7889, v8160, v7774, v7773, v7801, v7778, v7779, v7780, v7781, v7782, v7783, v7784, v7785, v7777, v7775, 3, 7, 4, 8, 12, 5, 2) -> f_1385(v7762, v7763, v7764, v7765, v7766, v7767, v7768, 0, v7770, v7771, 1, v7889, v8160, v7773, v7801, v7778, v7779, v7780, v7781, v7782, v7783, v7784, v7785, v7777, v7775, 3, 7, 4, 8, 12, 5, 2) :|: 0 = 0 184.33/84.83 f_1385(v7762, v7763, v7764, v7765, v7766, v7767, v7768, 0, v7770, v7771, 1, v7889, v8160, v7773, v7801, v7778, v7779, v7780, v7781, v7782, v7783, v7784, v7785, v7777, v7775, 3, 7, 4, 8, 12, 5, 2) -> f_1390(v7762, v7763, v7764, v7765, v7766, v7767, v7768, 0, v7770, v7771, 1, v7889, v8160, v7773, v7801, v7778, v7779, v7780, v7781, v7782, v7783, v7784, v7785, v7777, v7775, 3, 7, 4, 8, 12, 5, 2) :|: v8160 < 0 184.33/84.83 f_1385(v7762, v7763, v7764, v7765, v7766, v7767, v7768, 0, v7770, v7771, 1, v7889, v8160, v7773, v7801, v7778, v7779, v7780, v7781, v7782, v7783, v7784, v7785, v7777, v7775, 3, 7, 4, 8, 12, 5, 2) -> f_1391(v7762, v7763, v7764, v7765, v7766, v7767, v7768, 0, v7770, v7771, 1, v7889, v8160, v7773, v7801, v7778, v7779, v7780, v7781, v7782, v7783, v7784, v7785, v7777, v7775, 3, 7, 4, 8, 12, 5, 2) :|: 0 <= v8160 184.33/84.83 f_1390(v7762, v7763, v7764, v7765, v7766, v7767, v7768, 0, v7770, v7771, 1, v7889, v8160, v7773, v7801, v7778, v7779, v7780, v7781, v7782, v7783, v7784, v7785, v7777, v7775, 3, 7, 4, 8, 12, 5, 2) -> f_1396(v7762, v7763, v7764, v7765, v7766, v7767, v7768, 0, v7770, v7771, 1, v7889, v8160, v7773, v7801, v7778, v7779, v7780, v7781, v7782, v7783, v7784, v7785, v7777, v7775, 3, 7, 4, 8, 12, 5, 2) :|: 0 = 0 184.33/84.83 f_1396(v7762, v7763, v7764, v7765, v7766, v7767, v7768, 0, v7770, v7771, 1, v7889, v8160, v7773, v7801, v7778, v7779, v7780, v7781, v7782, v7783, v7784, v7785, v7777, v7775, 3, 7, 4, 8, 12, 5, 2) -> f_1401(v7762, v7763, v7764, v7765, v7766, v7767, v7768, 0, v7770, v7771, 1, v7889, v8160, v7773, v7801, v7778, v7779, v7780, v7781, v7782, v7783, v7784, v7785, v7777, v7775, 3, 7, 4, 8, 12, 5, 2) :|: TRUE 184.33/84.83 f_1401(v7762, v7763, v7764, v7765, v7766, v7767, v7768, 0, v7770, v7771, 1, v7889, v8160, v7773, v7801, v7778, v7779, v7780, v7781, v7782, v7783, v7784, v7785, v7777, v7775, 3, 7, 4, 8, 12, 5, 2) -> f_1393(v7762, v7763, v7764, v7765, v7766, v7767, v7768, 0, v7770, v7771, 1, v7889, v8160, 0, v7773, v7801, v7778, v7779, v7780, v7781, v7782, v7783, v7784, v7785, 3, 7, 4, 5, 8, 12, 2) :|: TRUE 184.33/84.83 f_1391(v7762, v7763, v7764, v7765, v7766, v7767, v7768, 0, v7770, v7771, 1, v7889, v8160, v7773, v7801, v7778, v7779, v7780, v7781, v7782, v7783, v7784, v7785, v7777, v7775, 3, 7, 4, 8, 12, 5, 2) -> f_1397(v7762, v7763, v7764, v7765, v7766, v7767, v7768, 0, v7770, v7771, 1, v7889, v8160, v7773, v7801, v7778, v7779, v7780, v7781, v7782, v7783, v7784, v7785, v7777, v7775, 3, 7, 4, 8, 12, 5, 2) :|: 0 = 0 184.33/84.83 f_1397(v7762, v7763, v7764, v7765, v7766, v7767, v7768, 0, v7770, v7771, 1, v7889, v8160, v7773, v7801, v7778, v7779, v7780, v7781, v7782, v7783, v7784, v7785, v7777, v7775, 3, 7, 4, 8, 12, 5, 2) -> f_1402(v7762, v7763, v7764, v7765, v7766, v7767, v7768, 0, v7770, v7771, 1, v7889, v8160, v7773, v7801, v7778, v7779, v7780, v7781, v7782, v7783, v7784, v7785, v7777, v7775, 3, 7, 4, 8, 12, 5, 2) :|: TRUE 184.33/84.83 f_1402(v7762, v7763, v7764, v7765, v7766, v7767, v7768, 0, v7770, v7771, 1, v7889, v8160, v7773, v7801, v7778, v7779, v7780, v7781, v7782, v7783, v7784, v7785, v7777, v7775, 3, 7, 4, 8, 12, 5, 2) -> f_1214(v7762, v7763, v7764, v7765, v7766, v7767, v7768, 0, v7770, v7771, 1, v7889, v8160, v7773, v7801, v7778, v7779, v7780, v7781, v7782, v7783, v7784, v7785, 3, 7, 4, 2, 8) :|: TRUE 184.33/84.83 f_1214(v6291, v6292, v6293, v6294, v6295, v6296, v6297, 0, v6299, v6300, 1, v6302, v6303, v6304, v6305, v6306, v6307, v6308, v6309, v6310, v6311, v6312, v6313, 3, 7, 4, 2, 8) -> f_1219(v6291, v6292, v6293, v6294, v6295, v6296, v6297, 0, v6299, v6300, 1, v6302, v6303, v6304, v6305, v6306, v6307, v6308, v6309, v6310, v6311, v6312, v6313, 3, 7, 4, 2, 8) :|: 0 = 0 184.33/84.83 f_1383(v7829, v7830, v7831, v7832, v7833, v7834, v7835, 0, v7837, v7838, 1, v7887, v8029, v7841, v7840, v7842, v7844, v7845, v7846, v7847, v7848, v7849, v7850, v7851, 3, 7, 4, 5, 8, 12, 2) -> f_1388(v7829, v7830, v7831, v7832, v7833, v7834, v7835, 0, v7837, v7838, 1, v7887, v8029, v7841, v7840, v7842, v7844, v7845, v7846, v7847, v7848, v7849, v7850, v7851, 3, 7, 4, 5, 8, 12, 2) :|: 0 = 0 184.33/84.83 f_1388(v7829, v7830, v7831, v7832, v7833, v7834, v7835, 0, v7837, v7838, 1, v7887, v8029, v7841, v7840, v7842, v7844, v7845, v7846, v7847, v7848, v7849, v7850, v7851, 3, 7, 4, 5, 8, 12, 2) -> f_1394(v7829, v7830, v7831, v7832, v7833, v7834, v7835, 0, v7837, v7838, 1, v7887, v8029, v7841, v7840, v7842, v7844, v7845, v7846, v7847, v7848, v7849, v7850, v7851, 3, 7, 4, 5, 8, 12, 2) :|: TRUE 184.33/84.83 f_1394(v7829, v7830, v7831, v7832, v7833, v7834, v7835, 0, v7837, v7838, 1, v7887, v8029, v7841, v7840, v7842, v7844, v7845, v7846, v7847, v7848, v7849, v7850, v7851, 3, 7, 4, 5, 8, 12, 2) -> f_1317(v7829, v7830, v7831, v7832, v7833, v7834, v7835, 0, v7837, v7838, 1, v7887, v8029, v7841, v7840, v7842, v7844, v7845, v7846, v7847, v7848, v7849, v7850, v7851, 3, 7, 4, 2, 8) :|: TRUE 184.33/84.83 f_1317(v7414, v7415, v7416, v7417, v7418, v7419, v7420, 0, v7422, v7423, 1, v7425, v7426, v7427, v7428, v7429, v7430, v7431, v7432, v7433, v7434, v7435, v7436, v7437, 3, 7, 4, 2, 8) -> f_1323(v7414, v7415, v7416, v7417, v7418, v7419, v7420, 0, v7422, v7423, 1, v7425, v7426, v7428, v7429, v7430, v7431, v7432, v7433, v7434, v7435, v7436, v7437, v7427, 3, 7, 4, 2, 8) :|: 0 = 0 184.33/84.83 f_1323(v7414, v7415, v7416, v7417, v7418, v7419, v7420, 0, v7422, v7423, 1, v7425, v7426, v7428, v7429, v7430, v7431, v7432, v7433, v7434, v7435, v7436, v7437, v7427, 3, 7, 4, 2, 8) -> f_1329(v7414, v7415, v7416, v7417, v7418, v7419, v7420, 0, v7422, v7423, 1, v7425, v7426, v7428, v7429, v7430, v7431, v7432, v7433, v7434, v7435, v7436, v7437, v7427, 3, 7, 4, 2, 8) :|: 0 = 0 184.33/84.83 f_1329(v7414, v7415, v7416, v7417, v7418, v7419, v7420, 0, v7422, v7423, 1, v7425, v7426, v7428, v7429, v7430, v7431, v7432, v7433, v7434, v7435, v7436, v7437, v7427, 3, 7, 4, 2, 8) -> f_1332(v7414, v7415, v7416, v7417, v7418, v7419, v7420, 0, v7422, v7423, 1, v7425, v7426, v7429, v7428, v7430, v7431, v7432, v7433, v7434, v7435, v7436, v7437, v7427, 3, 7, 4, 2, 8) :|: 0 = 0 184.33/84.83 f_1332(v7414, v7415, v7416, v7417, v7418, v7419, v7420, 0, v7422, v7423, 1, v7425, v7426, v7429, v7428, v7430, v7431, v7432, v7433, v7434, v7435, v7436, v7437, v7427, 3, 7, 4, 2, 8) -> f_1335(v7414, v7415, v7416, v7417, v7418, v7419, v7420, 0, v7422, v7423, 1, v7425, v7426, v7429, v7428, v7430, v7431, v7432, v7433, v7434, v7435, v7436, v7437, v7427, 3, 7, 4, 2, 8) :|: 0 = 0 184.33/84.83 f_1335(v7414, v7415, v7416, v7417, v7418, v7419, v7420, 0, v7422, v7423, 1, v7425, v7426, v7429, v7428, v7430, v7431, v7432, v7433, v7434, v7435, v7436, v7437, v7427, 3, 7, 4, 2, 8) -> f_1338(v7414, v7415, v7416, v7417, v7418, v7419, v7420, 0, v7422, v7423, 1, v7425, v7426, v7799, v7428, v7430, v7431, v7432, v7433, v7434, v7435, v7436, v7437, v7429, v7427, 3, 7, 4, 2, 8, 5) :|: v7799 = v7423 + 4 * v7425 && 5 <= v7799 184.33/84.83 f_1338(v7414, v7415, v7416, v7417, v7418, v7419, v7420, 0, v7422, v7423, 1, v7425, v7426, v7799, v7428, v7430, v7431, v7432, v7433, v7434, v7435, v7436, v7437, v7429, v7427, 3, 7, 4, 2, 8, 5) -> f_1341(v7414, v7415, v7416, v7417, v7418, v7419, v7420, 0, v7422, v7423, 1, v7425, v7426, v7799, v7428, v7430, v7431, v7432, v7433, v7434, v7435, v7436, v7437, v7429, v7427, 3, 7, 4, 2, 8, 5) :|: TRUE 184.33/84.83 f_1341(v7414, v7415, v7416, v7417, v7418, v7419, v7420, 0, v7422, v7423, 1, v7425, v7426, v7799, v7428, v7430, v7431, v7432, v7433, v7434, v7435, v7436, v7437, v7429, v7427, 3, 7, 4, 2, 8, 5) -> f_1344(v7414, v7415, v7416, v7417, v7418, v7419, v7420, 0, v7422, v7423, 1, v7425, v7426, v7799, v7428, v7430, v7431, v7432, v7433, v7434, v7435, v7436, v7437, v7429, v7427, 3, 7, 4, 2, 8, 5) :|: TRUE 184.33/84.83 f_1344(v7414, v7415, v7416, v7417, v7418, v7419, v7420, 0, v7422, v7423, 1, v7425, v7426, v7799, v7428, v7430, v7431, v7432, v7433, v7434, v7435, v7436, v7437, v7429, v7427, 3, 7, 4, 2, 8, 5) -> f_1345(v7414, v7415, v7416, v7417, v7418, v7419, v7420, 0, v7422, v7423, 1, v7425, v7426, v7799, v7428, v7430, v7431, v7432, v7433, v7434, v7435, v7436, v7437, 3, 7, 4, 2, 5, 8) :|: TRUE 184.33/84.83 Combined rules. Obtained 4 rulesP rules: 184.33/84.83 f_1378(v7829:0, v7830:0, v7831:0, v7832:0, v7833:0, v7834:0, v7835:0, 0, v7837:0, v7838:0, 1, v7887:0, v8029:0, v7841:0, v7840:0, v7842:0, v7844:0, v7845:0, v7846:0, v7847:0, v7848:0, v7849:0, v7850:0, v7851:0, 3, 7, 4, 5, 8, 12, 2) -> f_1385(v7829:0, v7830:0, v7831:0, v7832:0, v7833:0, v7834:0, v7835:0, 0, v7837:0, v7838:0, 1, 1 + v7887:0, v8160:0, v7887:0, v7838:0 + 4 * v7887:0, v7844:0, v7845:0, v7846:0, v7847:0, v7848:0, v7849:0, v7850:0, v7851:0, v7842:0, v7841:0, 3, 7, 4, 8, 12, 5, 2) :|: v8029:0 < 0 && v7838:0 + 4 * v7887:0 > 4 && v7887:0 > 0 && v7835:0 > 2 && v7850:0 > 11 && v7835:0 > 1 + v7887:0 184.33/84.83 f_1385(v7762:0, v7763:0, v7764:0, v7765:0, v7766:0, v7767:0, v7768:0, 0, v7770:0, v7771:0, 1, v7889:0, v8160:0, v7773:0, v7801:0, v7778:0, v7779:0, v7780:0, v7781:0, v7782:0, v7783:0, v7784:0, v7785:0, v7777:0, v7775:0, 3, 7, 4, 8, 12, 5, 2) -> f_1385(v7762:0, v7763:0, v7764:0, v7765:0, v7766:0, v7767:0, v7768:0, 0, v7770:0, v7771:0, 1, 1 + v7889:0, v8160:1, v7889:0, v7771:0 + 4 * v7889:0, v7778:0, v7779:0, v7780:0, v7781:0, v7782:0, v7783:0, v7784:0, v7785:0, v7801:0, 0, 3, 7, 4, 8, 12, 5, 2) :|: v7771:0 + 4 * v7889:0 > 4 && v7889:0 > 0 && v7768:0 > 2 && v7768:0 > 1 + v7889:0 && v8160:0 < 0 && v7784:0 > 11 184.33/84.83 f_1385(v7762:0, v7763:0, v7764:0, v7765:0, v7766:0, v7767:0, v7768:0, 0, v7770:0, v7771:0, 1, v7889:0, v8160:0, v7773:0, v7801:0, v7778:0, v7779:0, v7780:0, v7781:0, v7782:0, v7783:0, v7784:0, v7785:0, v7777:0, v7775:0, 3, 7, 4, 8, 12, 5, 2) -> f_1378(v7762:0, v7763:0, v7764:0, v7765:0, v7766:0, v7767:0, v7768:0, 0, v7770:0, v7771:0, 1, 1 + v7889:0, v8029:0, v8160:0, v7889:0, v7771:0 + 4 * v7889:0, v7778:0, v7779:0, v7780:0, v7781:0, v7782:0, v7783:0, v7784:0, v7785:0, 3, 7, 4, 5, 8, 12, 2) :|: v7771:0 + 4 * v7889:0 > 4 && v7889:0 > 0 && v7768:0 > 2 && v7768:0 > 1 + v7889:0 && v8160:0 > -1 && v7784:0 > 11 184.33/84.83 f_1378(v7829:0, v7830:0, v7831:0, v7832:0, v7833:0, v7834:0, v7835:0, 0, v7837:0, v7838:0, 1, v7887:0, v8029:0, v7841:0, v7840:0, v7842:0, v7844:0, v7845:0, v7846:0, v7847:0, v7848:0, v7849:0, v7850:0, v7851:0, 3, 7, 4, 5, 8, 12, 2) -> f_1378(v7829:0, v7830:0, v7831:0, v7832:0, v7833:0, v7834:0, v7835:0, 0, v7837:0, v7838:0, 1, 1 + v7887:0, v8029:1, v8029:0, v7887:0, v7838:0 + 4 * v7887:0, v7844:0, v7845:0, v7846:0, v7847:0, v7848:0, v7849:0, v7850:0, v7851:0, 3, 7, 4, 5, 8, 12, 2) :|: v7887:0 > 0 && v8029:0 > -1 && v7835:0 > 2 && v7835:0 > 1 + v7887:0 && v7838:0 + 4 * v7887:0 > 4 && v7850:0 > 11 184.33/84.83 Filtered unneeded arguments: 184.33/84.83 f_1378(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22, x23, x24, x25, x26, x27, x28, x29, x30, x31) -> f_1378(x7, x10, x12, x13, x23) 184.33/84.83 f_1385(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22, x23, x24, x25, x26, x27, x28, x29, x30, x31, x32) -> f_1385(x7, x10, x12, x13, x22) 184.33/84.83 Removed division, modulo operations, cleaned up constraints. Obtained 4 rules.P rules: 184.33/84.83 f_1378(v7835:0, v7838:0, v7887:0, v8029:0, v7850:0) -> f_1385(v7835:0, v7838:0, 1 + v7887:0, v8160:0, v7850:0) :|: v7838:0 + 4 * v7887:0 > 4 && v8029:0 < 0 && v7887:0 > 0 && v7835:0 > 2 && v7835:0 > 1 + v7887:0 && v7850:0 > 11 184.33/84.83 f_1385(v7768:0, v7771:0, v7889:0, v8160:0, v7784:0) -> f_1385(v7768:0, v7771:0, 1 + v7889:0, v8160:1, v7784:0) :|: v7889:0 > 0 && v7771:0 + 4 * v7889:0 > 4 && v7768:0 > 2 && v7768:0 > 1 + v7889:0 && v7784:0 > 11 && v8160:0 < 0 184.33/84.83 f_1385(v7768:0, v7771:0, v7889:0, v8160:0, v7784:0) -> f_1378(v7768:0, v7771:0, 1 + v7889:0, v8029:0, v7784:0) :|: v7889:0 > 0 && v7771:0 + 4 * v7889:0 > 4 && v7768:0 > 2 && v7768:0 > 1 + v7889:0 && v7784:0 > 11 && v8160:0 > -1 184.33/84.83 f_1378(v7835:0, v7838:0, v7887:0, v8029:0, v7850:0) -> f_1378(v7835:0, v7838:0, 1 + v7887:0, v8029:1, v7850:0) :|: v8029:0 > -1 && v7887:0 > 0 && v7835:0 > 2 && v7835:0 > 1 + v7887:0 && v7850:0 > 11 && v7838:0 + 4 * v7887:0 > 4 184.33/84.83 184.33/84.83 ---------------------------------------- 184.33/84.83 184.33/84.83 (51) 184.33/84.83 Obligation: 184.33/84.83 Rules: 184.33/84.83 f_1378(v7835:0, v7838:0, v7887:0, v8029:0, v7850:0) -> f_1385(v7835:0, v7838:0, 1 + v7887:0, v8160:0, v7850:0) :|: v7838:0 + 4 * v7887:0 > 4 && v8029:0 < 0 && v7887:0 > 0 && v7835:0 > 2 && v7835:0 > 1 + v7887:0 && v7850:0 > 11 184.33/84.83 f_1385(x, x1, x2, x3, x4) -> f_1385(x, x1, 1 + x2, x5, x4) :|: x2 > 0 && x1 + 4 * x2 > 4 && x > 2 && x > 1 + x2 && x4 > 11 && x3 < 0 184.33/84.83 f_1385(x6, x7, x8, x9, x10) -> f_1378(x6, x7, 1 + x8, x11, x10) :|: x8 > 0 && x7 + 4 * x8 > 4 && x6 > 2 && x6 > 1 + x8 && x10 > 11 && x9 > -1 184.33/84.83 f_1378(x12, x13, x14, x15, x16) -> f_1378(x12, x13, 1 + x14, x17, x16) :|: x15 > -1 && x14 > 0 && x12 > 2 && x12 > 1 + x14 && x16 > 11 && x13 + 4 * x14 > 4 184.33/84.83 184.33/84.83 ---------------------------------------- 184.33/84.83 184.33/84.83 (52) IRS2T2 (EQUIVALENT) 184.33/84.83 Transformed input IRS into an integer transition system.Used the following mapping from defined symbols to location IDs: 184.33/84.83 184.33/84.83 (f_1378_5,1) 184.33/84.83 (f_1385_5,2) 184.33/84.83 184.33/84.83 ---------------------------------------- 184.33/84.83 184.33/84.83 (53) 184.33/84.83 Obligation: 184.33/84.83 START: 0; 184.33/84.83 184.33/84.83 FROM: 0; 184.33/84.83 TO: 1; 184.33/84.83 184.33/84.83 FROM: 0; 184.33/84.83 TO: 2; 184.33/84.83 184.33/84.83 FROM: 1; 184.33/84.83 oldX0 := x0; 184.33/84.83 oldX1 := x1; 184.33/84.83 oldX2 := x2; 184.33/84.83 oldX3 := x3; 184.33/84.83 oldX4 := x4; 184.33/84.83 oldX5 := nondet(); 184.33/84.83 assume(oldX1 + 4 * oldX2 > 4 && oldX3 < 0 && oldX2 > 0 && oldX0 > 2 && oldX0 > 1 + oldX2 && oldX4 > 11); 184.33/84.83 x0 := oldX0; 184.33/84.83 x1 := oldX1; 184.33/84.83 x2 := 1 + oldX2; 184.33/84.83 x3 := oldX5; 184.33/84.83 x4 := oldX4; 184.33/84.83 TO: 2; 184.33/84.83 184.33/84.83 FROM: 2; 184.33/84.83 oldX0 := x0; 184.33/84.83 oldX1 := x1; 184.33/84.83 oldX2 := x2; 184.33/84.83 oldX3 := x3; 184.33/84.83 oldX4 := x4; 184.33/84.83 oldX5 := nondet(); 184.33/84.83 assume(oldX2 > 0 && oldX1 + 4 * oldX2 > 4 && oldX0 > 2 && oldX0 > 1 + oldX2 && oldX4 > 11 && oldX3 < 0); 184.33/84.83 x0 := oldX0; 184.33/84.83 x1 := oldX1; 184.33/84.83 x2 := 1 + oldX2; 184.33/84.83 x3 := oldX5; 184.33/84.83 x4 := oldX4; 184.33/84.83 TO: 2; 184.33/84.83 184.33/84.83 FROM: 2; 184.33/84.83 oldX0 := x0; 184.33/84.83 oldX1 := x1; 184.33/84.83 oldX2 := x2; 184.33/84.83 oldX3 := x3; 184.33/84.83 oldX4 := x4; 184.33/84.83 oldX5 := nondet(); 184.33/84.83 assume(oldX2 > 0 && oldX1 + 4 * oldX2 > 4 && oldX0 > 2 && oldX0 > 1 + oldX2 && oldX4 > 11 && oldX3 > -1); 184.33/84.83 x0 := oldX0; 184.33/84.83 x1 := oldX1; 184.33/84.83 x2 := 1 + oldX2; 184.33/84.83 x3 := oldX5; 184.33/84.83 x4 := oldX4; 184.33/84.83 TO: 1; 184.33/84.83 184.33/84.83 FROM: 1; 184.33/84.83 oldX0 := x0; 184.33/84.83 oldX1 := x1; 184.33/84.83 oldX2 := x2; 184.33/84.83 oldX3 := x3; 184.33/84.83 oldX4 := x4; 184.33/84.83 oldX5 := nondet(); 184.33/84.83 assume(oldX3 > -1 && oldX2 > 0 && oldX0 > 2 && oldX0 > 1 + oldX2 && oldX4 > 11 && oldX1 + 4 * oldX2 > 4); 184.33/84.83 x0 := oldX0; 184.33/84.83 x1 := oldX1; 184.33/84.83 x2 := 1 + oldX2; 184.33/84.83 x3 := oldX5; 184.33/84.83 x4 := oldX4; 184.33/84.83 TO: 1; 184.33/84.83 184.33/84.83 184.33/84.83 ---------------------------------------- 184.33/84.83 184.33/84.83 (54) T2 (EQUIVALENT) 184.33/84.83 Initially, performed program simplifications using lexicographic rank functions: 184.33/84.83 * Removed transitions 2, 5, 6, 14, 17, 18 using the following rank functions: 184.33/84.83 - Rank function 1: 184.33/84.83 RF for loc. 6: 1+2*x0-2*x2 184.33/84.83 RF for loc. 7: 1+2*x0-2*x2 184.33/84.83 RF for loc. 8: 2*x0-2*x2 184.33/84.83 RF for loc. 12: 2*x0-2*x2 184.33/84.83 Bound for (chained) transitions 5: 4 184.33/84.83 Bound for (chained) transitions 6: 4 184.33/84.83 Bound for (chained) transitions 17: 4 184.33/84.83 Bound for (chained) transitions 18: 4 184.33/84.83 - Rank function 2: 184.33/84.83 RF for loc. 6: 1 184.33/84.83 RF for loc. 7: 0 184.33/84.83 RF for loc. 8: 0 184.33/84.83 RF for loc. 12: -1 184.33/84.83 Bound for (chained) transitions 2: 1 184.33/84.83 Bound for (chained) transitions 14: 0 184.33/84.83 184.33/84.83 ---------------------------------------- 184.33/84.83 184.33/84.83 (55) 184.33/84.83 YES 184.33/84.83 184.33/84.83 ---------------------------------------- 184.33/84.83 184.33/84.83 (56) 184.33/84.83 Obligation: 184.33/84.83 SCC 184.33/84.83 ---------------------------------------- 184.33/84.83 184.33/84.83 (57) SCC2IRS (SOUND) 184.33/84.83 Transformed LLVM symbolic execution graph SCC into a rewrite problem. Log: 184.33/84.83 Generated rules. Obtained 17 rulesP rules: 184.33/84.83 f_906(v3085, v3086, v3087, v3088, v3089, v3090, v3091, 1, 4, v3094, 0, v3096, v3097, v3098, v3099, v3100, v3101, v3102, v3103, v3104, v3105, 3, 7, 8) -> f_911(v3085, v3086, v3087, v3088, v3089, v3090, v3091, 1, 4, v3094, 0, v3096, v3097, v3098, v3099, v3100, v3101, v3102, v3103, v3104, v3105, 3, 7, 8) :|: 0 = 0 184.33/84.83 f_911(v3085, v3086, v3087, v3088, v3089, v3090, v3091, 1, 4, v3094, 0, v3096, v3097, v3098, v3099, v3100, v3101, v3102, v3103, v3104, v3105, 3, 7, 8) -> f_915(v3085, v3086, v3087, v3088, v3089, v3090, v3091, 1, 4, v3094, 0, v3096, v3097, v3098, v3099, v3100, v3101, v3102, v3103, v3104, v3105, 3, 7, 8) :|: 0 = 0 184.33/84.83 f_915(v3085, v3086, v3087, v3088, v3089, v3090, v3091, 1, 4, v3094, 0, v3096, v3097, v3098, v3099, v3100, v3101, v3102, v3103, v3104, v3105, 3, 7, 8) -> f_919(v3085, v3086, v3087, v3088, v3089, v3090, v3091, 1, 4, v3094, 0, v3096, v3097, v3098, v3099, v3100, v3101, v3102, v3103, v3104, v3105, 3, 7, 8) :|: 0 = 0 184.33/84.83 f_919(v3085, v3086, v3087, v3088, v3089, v3090, v3091, 1, 4, v3094, 0, v3096, v3097, v3098, v3099, v3100, v3101, v3102, v3103, v3104, v3105, 3, 7, 8) -> f_923(v3085, v3086, v3087, v3088, v3089, v3090, v3091, 1, 4, v3094, 0, v3096, v3098, v3097, v3099, v3100, v3101, v3102, v3103, v3104, v3105, 3, 7, 8) :|: 0 = 0 184.33/84.83 f_923(v3085, v3086, v3087, v3088, v3089, v3090, v3091, 1, 4, v3094, 0, v3096, v3098, v3097, v3099, v3100, v3101, v3102, v3103, v3104, v3105, 3, 7, 8) -> f_928(v3085, v3086, v3087, v3088, v3089, v3090, v3091, 1, 4, v3094, 0, v3096, v3098, v3097, v3099, v3100, v3101, v3102, v3103, v3104, v3105, 3, 7, 2, 8) :|: 0 < v3098 && 2 <= v3097 && 2 <= v3096 184.33/84.83 f_928(v3085, v3086, v3087, v3088, v3089, v3090, v3091, 1, 4, v3094, 0, v3096, v3098, v3097, v3099, v3100, v3101, v3102, v3103, v3104, v3105, 3, 7, 2, 8) -> f_934(v3085, v3086, v3087, v3088, v3089, v3090, v3091, 1, 4, v3094, 0, v3096, v3098, v3097, v3099, v3100, v3101, v3102, v3103, v3104, v3105, 3, 7, 2, 8) :|: 0 = 0 184.33/84.83 f_934(v3085, v3086, v3087, v3088, v3089, v3090, v3091, 1, 4, v3094, 0, v3096, v3098, v3097, v3099, v3100, v3101, v3102, v3103, v3104, v3105, 3, 7, 2, 8) -> f_940(v3085, v3086, v3087, v3088, v3089, v3090, v3091, 1, 4, v3094, 0, v3096, v3098, v3097, v3099, v3100, v3101, v3102, v3103, v3104, v3105, 3, 7, 2, 8) :|: TRUE 184.33/84.83 f_940(v3085, v3086, v3087, v3088, v3089, v3090, v3091, 1, 4, v3094, 0, v3096, v3098, v3097, v3099, v3100, v3101, v3102, v3103, v3104, v3105, 3, 7, 2, 8) -> f_947(v3085, v3086, v3087, v3088, v3089, v3090, v3091, 1, 4, v3094, 0, v3096, v3098, v3097, v3099, v3100, v3101, v3102, v3103, v3104, v3105, 3, 7, 2, 8) :|: 0 = 0 184.33/84.83 f_947(v3085, v3086, v3087, v3088, v3089, v3090, v3091, 1, 4, v3094, 0, v3096, v3098, v3097, v3099, v3100, v3101, v3102, v3103, v3104, v3105, 3, 7, 2, 8) -> f_954(v3085, v3086, v3087, v3088, v3089, v3090, v3091, 1, 4, v3094, 0, v3096, v3098, v3097, v3099, v3100, v3101, v3102, v3103, v3104, v3105, 3, 7, 2, 8) :|: 0 = 0 184.33/84.83 f_954(v3085, v3086, v3087, v3088, v3089, v3090, v3091, 1, 4, v3094, 0, v3096, v3098, v3097, v3099, v3100, v3101, v3102, v3103, v3104, v3105, 3, 7, 2, 8) -> f_962(v3085, v3086, v3087, v3088, v3089, v3090, v3091, 1, 4, v3094, 0, v3096, v3098, v3097, v3099, v3100, v3101, v3102, v3103, v3104, v3105, 3, 7, 2, 8) :|: 0 = 0 184.33/84.83 f_962(v3085, v3086, v3087, v3088, v3089, v3090, v3091, 1, 4, v3094, 0, v3096, v3098, v3097, v3099, v3100, v3101, v3102, v3103, v3104, v3105, 3, 7, 2, 8) -> f_970(v3085, v3086, v3087, v3088, v3089, v3090, v3091, 1, 4, v3094, 0, v3096, v3098, v3097, v3099, v3100, v3101, v3102, v3103, v3104, v3105, 3, 7, 2, 8) :|: 0 = 0 184.33/84.83 f_970(v3085, v3086, v3087, v3088, v3089, v3090, v3091, 1, 4, v3094, 0, v3096, v3098, v3097, v3099, v3100, v3101, v3102, v3103, v3104, v3105, 3, 7, 2, 8) -> f_978(v3085, v3086, v3087, v3088, v3089, v3090, v3091, 1, 4, v3094, 0, v3096, v3098, v3099, v3100, v3101, v3102, v3103, v3104, v3105, 3, 7, 2, 8) :|: 0 = 0 184.33/84.83 f_978(v3085, v3086, v3087, v3088, v3089, v3090, v3091, 1, 4, v3094, 0, v3096, v3098, v3099, v3100, v3101, v3102, v3103, v3104, v3105, 3, 7, 2, 8) -> f_986(v3085, v3086, v3087, v3088, v3089, v3090, v3091, 1, 4, v3094, 0, v3096, v3098, v3809, v3099, v3100, v3101, v3102, v3103, v3104, v3105, 3, 7, 2, 8) :|: 1 + v3809 = v3098 && 0 <= v3809 184.33/84.83 f_986(v3085, v3086, v3087, v3088, v3089, v3090, v3091, 1, 4, v3094, 0, v3096, v3098, v3809, v3099, v3100, v3101, v3102, v3103, v3104, v3105, 3, 7, 2, 8) -> f_995(v3085, v3086, v3087, v3088, v3089, v3090, v3091, 1, 4, v3094, 0, v3096, v3098, v3809, v3099, v3100, v3101, v3102, v3103, v3104, v3105, 3, 7, 2, 8) :|: TRUE 184.33/84.83 f_995(v3085, v3086, v3087, v3088, v3089, v3090, v3091, 1, 4, v3094, 0, v3096, v3098, v3809, v3099, v3100, v3101, v3102, v3103, v3104, v3105, 3, 7, 2, 8) -> f_1004(v3085, v3086, v3087, v3088, v3089, v3090, v3091, 1, 4, v3094, 0, v3096, v3098, v3809, v3099, v3100, v3101, v3102, v3103, v3104, v3105, 3, 7, 2, 8) :|: TRUE 184.33/84.83 f_1004(v3085, v3086, v3087, v3088, v3089, v3090, v3091, 1, 4, v3094, 0, v3096, v3098, v3809, v3099, v3100, v3101, v3102, v3103, v3104, v3105, 3, 7, 2, 8) -> f_901(v3085, v3086, v3087, v3088, v3089, v3090, v3091, 1, 4, v3094, 0, v3096, v3098, v3809, v3099, v3100, v3101, v3102, v3103, v3104, v3105, 3, 7, 8) :|: TRUE 184.33/84.83 f_901(v3085, v3086, v3087, v3088, v3089, v3090, v3091, 1, 4, v3094, 0, v3096, v3097, v3098, v3099, v3100, v3101, v3102, v3103, v3104, v3105, 3, 7, 8) -> f_906(v3085, v3086, v3087, v3088, v3089, v3090, v3091, 1, 4, v3094, 0, v3096, v3097, v3098, v3099, v3100, v3101, v3102, v3103, v3104, v3105, 3, 7, 8) :|: 0 = 0 184.33/84.83 Combined rules. Obtained 1 rulesP rules: 184.33/84.83 f_906(v3085:0, v3086:0, v3087:0, v3088:0, v3089:0, v3090:0, v3091:0, 1, 4, v3094:0, 0, v3096:0, v3097:0, 1 + v3809:0, v3099:0, v3100:0, v3101:0, v3102:0, v3103:0, v3104:0, v3105:0, 3, 7, 8) -> f_906(v3085:0, v3086:0, v3087:0, v3088:0, v3089:0, v3090:0, v3091:0, 1, 4, v3094:0, 0, v3096:0, 1 + v3809:0, v3809:0, v3099:0, v3100:0, v3101:0, v3102:0, v3103:0, v3104:0, v3105:0, 3, 7, 8) :|: v3097:0 > 1 && v3809:0 > -1 && v3096:0 > 1 184.33/84.83 Filtered unneeded arguments: 184.33/84.83 f_906(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22, x23, x24) -> f_906(x12, x13, x14) 184.33/84.83 Removed division, modulo operations, cleaned up constraints. Obtained 1 rules.P rules: 184.33/84.83 f_906(v3096:0, v3097:0, sum~cons_1~v3809:0) -> f_906(v3096:0, 1 + v3809:0, v3809:0) :|: v3809:0 > -1 && v3096:0 > 1 && v3097:0 > 1 && sum~cons_1~v3809:0 = 1 + v3809:0 184.33/84.83 184.33/84.83 ---------------------------------------- 184.33/84.83 184.33/84.83 (58) 184.33/84.83 Obligation: 184.33/84.83 Rules: 184.33/84.83 f_906(v3096:0, v3097:0, sum~cons_1~v3809:0) -> f_906(v3096:0, 1 + v3809:0, v3809:0) :|: v3809:0 > -1 && v3096:0 > 1 && v3097:0 > 1 && sum~cons_1~v3809:0 = 1 + v3809:0 184.33/84.83 184.33/84.83 ---------------------------------------- 184.33/84.83 184.33/84.83 (59) IRS2T2 (EQUIVALENT) 184.33/84.83 Transformed input IRS into an integer transition system.Used the following mapping from defined symbols to location IDs: 184.33/84.83 184.33/84.83 (f_906_3,1) 184.33/84.83 184.33/84.83 ---------------------------------------- 184.33/84.83 184.33/84.83 (60) 184.33/84.83 Obligation: 184.33/84.83 START: 0; 184.33/84.83 184.33/84.83 FROM: 0; 184.33/84.83 TO: 1; 184.33/84.83 184.33/84.83 FROM: 1; 184.33/84.83 oldX0 := x0; 184.33/84.83 oldX1 := x1; 184.33/84.83 oldX2 := x2; 184.33/84.83 oldX3 := oldX2 - 1; 184.33/84.83 assume(oldX3 > -1 && oldX0 > 1 && oldX1 > 1 && oldX2 = 1 + oldX3); 184.33/84.83 x0 := oldX0; 184.33/84.83 x1 := 1 + oldX3; 184.33/84.83 x2 := oldX2 - 1; 184.33/84.83 TO: 1; 184.33/84.83 184.33/84.83 184.33/84.83 ---------------------------------------- 184.33/84.83 184.33/84.83 (61) T2 (EQUIVALENT) 184.33/84.83 Initially, performed program simplifications using lexicographic rank functions: 184.33/84.83 * Removed transitions 1, 3, 4 using the following rank functions: 184.33/84.83 - Rank function 1: 184.33/84.83 RF for loc. 5: 1+2*x2 184.33/84.83 RF for loc. 6: 2*x2 184.33/84.83 Bound for (chained) transitions 4: 2 184.33/84.83 - Rank function 2: 184.33/84.83 RF for loc. 5: 2*x2 184.33/84.83 RF for loc. 6: -1+2*x2 184.33/84.83 Bound for (chained) transitions 3: 1 184.33/84.83 - Rank function 3: 184.33/84.83 RF for loc. 5: 0 184.33/84.83 RF for loc. 6: -1 184.33/84.83 Bound for (chained) transitions 1: 0 184.33/84.83 184.33/84.83 ---------------------------------------- 184.33/84.83 184.33/84.83 (62) 184.33/84.83 YES 184.74/84.88 EOF