// This file is part of the SV-Benchmarks collection of verification tasks: // https://gitlab.com/sosy-lab/benchmarking/sv-benchmarks // // SPDX-FileCopyrightText: 2022 Jana (Philipp) Berger // // SPDX-License-Identifier: GPL-3.0-or-later // Prototype declarations of the functions used to communicate with the model checkers extern unsigned long __VERIFIER_nondet_ulong(); extern long __VERIFIER_nondet_long(); extern unsigned char __VERIFIER_nondet_uchar(); extern char __VERIFIER_nondet_char(); extern unsigned short __VERIFIER_nondet_ushort(); extern short __VERIFIER_nondet_short(); extern float __VERIFIER_nondet_float(); extern double __VERIFIER_nondet_double(); extern void abort(void); extern void __assert_fail(const char *, const char *, unsigned int, const char *) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__noreturn__)); void reach_error() { __assert_fail("0", "Req1_Prop1_Batch6Amount500.c", 13, "reach_error"); } void __VERIFIER_assert(int cond) { if(!(cond)) { ERROR: {reach_error();abort();} } return; } void assume_abort_if_not(int cond) { if(!cond) { abort(); } } #define max(a,b) (((a) > (b)) ? (a) : (b)) #define min(a,b) (((a) < (b)) ? (a) : (b)) #define abs(a) (((a) < 0 ) ? -(a) : (a)) // Function prototypes // Internal control logic variables unsigned char isInitial = 0; // Signal variables unsigned short int var_1_1 = 2; unsigned short int var_1_5 = 34011; signed short int var_1_7 = -4; signed long int var_1_9 = -4; unsigned short int var_1_10 = 4; double var_1_12 = 1.8; double var_1_13 = 49.5; double var_1_14 = 0.0; double var_1_15 = 8.5; unsigned long int var_1_16 = 4; unsigned long int var_1_17 = 3254334857; unsigned long int var_1_18 = 1980622399; signed char var_1_19 = 16; signed char var_1_20 = -100; signed char var_1_21 = 1; signed char var_1_22 = 100; signed char var_1_23 = 0; signed char var_1_24 = 1; signed short int var_1_25 = -1; signed short int var_1_26 = 30584; signed char var_1_28 = 64; signed char var_1_29 = 64; signed short int var_1_30 = -1; unsigned long int var_1_31 = 100000; unsigned long int var_1_34 = 2; signed long int var_1_36 = 0; double var_1_37 = 16.5; double var_1_38 = 32.25; signed char var_1_39 = 16; signed char var_1_40 = 2; unsigned long int var_1_41 = 256; unsigned char var_1_42 = 0; unsigned char var_1_43 = 64; unsigned long int var_1_45 = 5; double var_1_47 = -0.775; double var_1_48 = 0.0; double var_1_49 = 0.0; double var_1_50 = 15.2; unsigned char var_1_51 = 5; unsigned long int var_1_52 = 100; unsigned short int var_1_54 = 128; signed short int var_1_56 = -64; signed short int var_1_57 = 22403; unsigned char var_1_58 = 1; unsigned char var_1_59 = 0; unsigned char var_1_60 = 0; unsigned char var_1_61 = 0; float var_1_62 = 0.19999999999999996; signed short int var_1_63 = 64; double var_1_64 = 1.5; double var_1_65 = 32.5; double var_1_66 = 0.5; unsigned char var_1_67 = 1; unsigned char var_1_68 = 1; unsigned char var_1_69 = 0; unsigned char var_1_70 = 0; unsigned char var_1_72 = 64; double var_1_73 = 128.625; unsigned char var_1_74 = 50; unsigned char var_1_75 = 0; unsigned char var_1_76 = 32; signed char var_1_77 = 5; unsigned char var_1_78 = 128; unsigned char var_1_79 = 32; unsigned char var_1_80 = 64; unsigned char var_1_81 = 32; signed char var_1_82 = 100; signed char var_1_83 = 100; unsigned short int var_1_84 = 32; unsigned long int var_1_85 = 4; unsigned short int var_1_86 = 100; signed short int var_1_87 = -8; double var_1_88 = 32.25; unsigned char var_1_89 = 2; signed long int var_1_90 = -1000; double var_1_91 = 15.5; signed short int var_1_92 = -2; unsigned short int var_1_93 = 4; unsigned char var_1_94 = 1; unsigned long int var_1_95 = 4; unsigned long int var_1_96 = 4; double var_1_98 = 0.2; unsigned short int var_1_99 = 0; unsigned char var_1_100 = 0; signed long int var_1_101 = 32; unsigned char var_1_102 = 2; signed char var_1_103 = -32; float var_1_104 = 8.75; unsigned long int var_1_105 = 64; unsigned long int var_1_106 = 1000000; unsigned long int var_1_107 = 1000000000; signed short int var_1_109 = 128; signed short int var_1_110 = 1; signed short int var_1_111 = -64; // Calibration values // Last'ed variables unsigned short int last_1_var_1_1 = 2; unsigned short int last_1_var_1_10 = 4; signed short int last_1_var_1_25 = -1; signed short int last_1_var_1_30 = -1; unsigned long int last_1_var_1_31 = 100000; signed long int last_1_var_1_36 = 0; unsigned char last_1_var_1_42 = 0; unsigned long int last_1_var_1_45 = 5; unsigned char last_1_var_1_51 = 5; unsigned char last_1_var_1_58 = 1; double last_1_var_1_65 = 32.5; unsigned char last_1_var_1_67 = 1; unsigned char last_1_var_1_69 = 0; unsigned char last_1_var_1_70 = 0; unsigned char last_1_var_1_74 = 50; unsigned char last_1_var_1_75 = 0; unsigned char last_1_var_1_76 = 32; unsigned short int last_1_var_1_86 = 100; signed short int last_1_var_1_87 = -8; signed short int last_1_var_1_92 = -2; unsigned char last_1_var_1_94 = 1; unsigned char last_1_var_1_100 = 0; // Additional functions void initially(void) { } void step(void) { // From: Req26Batch6Amount500 if (last_1_var_1_36 == ((1 - 64) / (min (-1 , -128)))) { var_1_63 = (min (var_1_57 , ((var_1_26 - var_1_40) - last_1_var_1_45))); } else { var_1_63 = (max (((var_1_26 - var_1_21) - (var_1_29 + var_1_40)) , (max (last_1_var_1_86 , last_1_var_1_30)))); } // From: Req43Batch6Amount500 if ((- last_1_var_1_31) <= last_1_var_1_10) { var_1_89 = (max ((var_1_78 - (min (var_1_81 , var_1_79))) , (max (var_1_43 , var_1_80)))); } else { var_1_89 = ((max ((max (var_1_22 , var_1_43)) , var_1_40)) + var_1_80); } // From: Req4Batch6Amount500 var_1_10 = (var_1_5 - (var_1_89 + 1000)); // From: Req18Batch6Amount500 unsigned char stepLocal_6 = last_1_var_1_67; signed long int stepLocal_5 = last_1_var_1_92; if ((var_1_17 >= (16u + var_1_26)) || stepLocal_6) { if (stepLocal_5 <= last_1_var_1_74) { var_1_45 = ((var_1_29 + (last_1_var_1_25 + last_1_var_1_87)) + var_1_5); } else { if (last_1_var_1_58) { var_1_45 = 1u; } else { var_1_45 = last_1_var_1_51; } } } else { var_1_45 = last_1_var_1_74; } // From: Req47Batch6Amount500 if (var_1_68) { var_1_93 = var_1_89; } // From: Req36Batch6Amount500 if (last_1_var_1_76 > var_1_22) { if (last_1_var_1_69 && var_1_61) { if (last_1_var_1_65 < var_1_14) { var_1_76 = (max ((min (var_1_40 , var_1_29)) , (min ((max (var_1_22 , var_1_20)) , (var_1_78 - var_1_43))))); } else { var_1_76 = ((var_1_21 + var_1_40) + (var_1_43 - var_1_79)); } } else { var_1_76 = ((var_1_40 + var_1_79) + ((var_1_80 + var_1_81) - 1)); } } // From: Req20Batch6Amount500 if (last_1_var_1_65 <= var_1_50) { var_1_51 = (32 + var_1_21); } else { var_1_51 = var_1_29; } // From: Req19Batch6Amount500 if (var_1_40 <= var_1_51) { var_1_47 = ((max ((abs (var_1_37)) , (var_1_48 - var_1_13))) - (var_1_14 + (max (127.5 , var_1_50)))); } // From: Req17Batch6Amount500 unsigned char stepLocal_4 = last_1_var_1_94; if (var_1_14 != var_1_37) { var_1_42 = var_1_20; } else { if (last_1_var_1_100) { var_1_42 = ((var_1_22 + var_1_43) - var_1_21); } else { if (stepLocal_4 || ((var_1_20 == last_1_var_1_42) || (last_1_var_1_58 && last_1_var_1_100))) { var_1_42 = (max (0 , (var_1_20 - (min (var_1_40 , 8))))); } else { var_1_42 = (var_1_20 - var_1_40); } } } // From: Req24Batch6Amount500 if (last_1_var_1_58 && last_1_var_1_75) { if (last_1_var_1_74 > last_1_var_1_1) { var_1_58 = (last_1_var_1_94 && var_1_59); } else { if (var_1_49 < (var_1_14 + var_1_38)) { var_1_58 = ((! var_1_60) || (var_1_59 || var_1_61)); } } } // From: Req37Batch6Amount500 if (var_1_58) { var_1_82 = var_1_83; } // From: Req7Batch6Amount500 var_1_19 = (((abs (var_1_20)) - var_1_21) - (var_1_22 - (abs (var_1_23)))); // From: Req15Batch6Amount500 var_1_39 = (min (var_1_20 , (var_1_21 - (var_1_29 - var_1_40)))); // From: Req25Batch6Amount500 var_1_62 = (((min (var_1_48 , var_1_49)) - var_1_50) - var_1_38); // From: Req34Batch6Amount500 var_1_74 = (max (var_1_22 , var_1_40)); // From: Req46Batch6Amount500 unsigned long int stepLocal_22 = 32u; if ((last_1_var_1_92 * var_1_17) > stepLocal_22) { var_1_92 = ((min (var_1_80 , var_1_21)) + -100); } // From: Req51Batch6Amount500 if (var_1_68) { var_1_100 = var_1_60; } // From: Req53Batch6Amount500 if (var_1_60) { var_1_102 = var_1_29; } // From: Req56Batch6Amount500 if (var_1_100) { var_1_105 = var_1_96; } else { var_1_105 = var_1_80; } // From: Req60Batch6Amount500 var_1_110 = 1; // From: Req61Batch6Amount500 var_1_111 = var_1_29; // From: Req11Batch6Amount500 var_1_30 = (((max (var_1_23 , var_1_102)) + (var_1_82 + var_1_63)) + (max (var_1_93 , var_1_20))); // From: Req29Batch6Amount500 unsigned char stepLocal_9 = var_1_76; if (var_1_74 < stepLocal_9) { var_1_67 = (var_1_61 || var_1_59); } else { if (var_1_100) { var_1_67 = var_1_60; } else { var_1_67 = (var_1_60 || var_1_68); } } // From: Req2Batch6Amount500 if (var_1_76 <= (- 500)) { if (var_1_100) { var_1_7 = (var_1_74 - 64); } } else { var_1_7 = var_1_74; } // From: Req8Batch6Amount500 unsigned char stepLocal_1 = var_1_100; if ((var_1_5 >= var_1_20) && stepLocal_1) { var_1_24 = (var_1_22 - var_1_21); } // From: Req59Batch6Amount500 unsigned char stepLocal_27 = var_1_78; if (stepLocal_27 < (- var_1_45)) { var_1_109 = var_1_57; } else { var_1_109 = ((var_1_83 + var_1_39) + var_1_24); } // From: Req32Batch6Amount500 signed short int stepLocal_13 = var_1_7; if (stepLocal_13 <= var_1_76) { var_1_72 = (max ((min (var_1_43 , var_1_20)) , var_1_29)); } // From: Req10Batch6Amount500 unsigned long int stepLocal_2 = 128u; if (stepLocal_2 == var_1_72) { var_1_28 = (var_1_22 - (var_1_29 - var_1_21)); } // From: Req58Batch6Amount500 if (var_1_58) { var_1_107 = var_1_24; } // From: Req16Batch6Amount500 if (var_1_42 > (var_1_72 / (var_1_5 - var_1_29))) { var_1_41 = var_1_76; } // From: Req6Batch6Amount500 signed long int stepLocal_0 = min (var_1_74 , var_1_51); if (var_1_100) { var_1_16 = (var_1_93 + 200u); } else { if (stepLocal_0 <= var_1_42) { var_1_16 = (var_1_17 - (var_1_18 - var_1_72)); } else { var_1_16 = (min (var_1_72 , (var_1_74 + 10000u))); } } // From: Req35Batch6Amount500 signed char stepLocal_14 = var_1_19; if (var_1_50 >= ((- 9.99999999992E10) * var_1_37)) { if (stepLocal_14 >= var_1_28) { var_1_75 = (! (var_1_68 || var_1_60)); } } // From: Req54Batch6Amount500 if (var_1_75) { var_1_103 = var_1_81; } else { var_1_103 = var_1_83; } // From: Req1Batch6Amount500 if (var_1_75 || var_1_58) { var_1_1 = (abs (var_1_51)); } else { var_1_1 = (min ((var_1_5 - var_1_72) , var_1_51)); } // From: Req55Batch6Amount500 if (var_1_75) { var_1_104 = var_1_48; } else { var_1_104 = var_1_48; } // From: Req27Batch6Amount500 if (var_1_75) { var_1_64 = (min (var_1_48 , (var_1_37 - var_1_14))); } // From: Req45Batch6Amount500 if ((var_1_20 - 100) < var_1_103) { var_1_91 = var_1_49; } else { var_1_91 = (var_1_15 + (abs (var_1_50))); } // From: Req50Batch6Amount500 unsigned char stepLocal_26 = var_1_75; unsigned long int stepLocal_25 = var_1_45; if (stepLocal_26 && var_1_100) { if (stepLocal_25 >= var_1_79) { var_1_99 = var_1_45; } else { var_1_99 = var_1_79; } } // From: Req48Batch6Amount500 signed long int stepLocal_24 = var_1_102 >> var_1_45; unsigned char stepLocal_23 = (var_1_81 * var_1_109) > var_1_26; if (stepLocal_24 == (var_1_29 >> (var_1_95 - var_1_96))) { var_1_94 = var_1_61; } else { if (stepLocal_23 && (var_1_1 < (var_1_107 * var_1_18))) { var_1_94 = (! (! (! var_1_61))); } else { var_1_94 = (var_1_100 && var_1_59); } } // From: Req57Batch6Amount500 if (var_1_94) { var_1_106 = var_1_18; } else { var_1_106 = var_1_95; } // From: Req5Batch6Amount500 if (! var_1_94) { var_1_12 = ((var_1_13 - (var_1_14 - 63.5)) + var_1_15); } else { var_1_12 = (var_1_14 - var_1_13); } // From: Req23Batch6Amount500 var_1_56 = ((max (var_1_22 , var_1_106)) - (var_1_57 - (abs (var_1_20)))); // From: Req39Batch6Amount500 unsigned long int stepLocal_16 = var_1_106 * -64; if (var_1_68) { if (stepLocal_16 >= var_1_43) { var_1_85 = (abs (var_1_5)); } } // From: Req42Batch6Amount500 if (var_1_16 <= var_1_85) { var_1_88 = (var_1_48 - var_1_66); } // From: Req31Batch6Amount500 signed long int stepLocal_12 = max (var_1_110 , var_1_26); unsigned char stepLocal_11 = var_1_74; signed long int stepLocal_10 = var_1_20 - var_1_74; if ((- var_1_104) <= var_1_62) { if ((max (var_1_5 , last_1_var_1_70)) >= stepLocal_10) { var_1_70 = (max (var_1_43 , (var_1_22 + var_1_21))); } else { if (var_1_58) { var_1_70 = (abs (max ((var_1_43 + var_1_21) , var_1_40))); } else { if (var_1_103 <= stepLocal_11) { var_1_70 = var_1_40; } else { if (var_1_57 <= stepLocal_12) { var_1_70 = (abs (2)); } else { var_1_70 = (abs (var_1_20 - var_1_43)); } } } } } else { var_1_70 = (var_1_20 - (var_1_22 - var_1_40)); } // From: Req52Batch6Amount500 if (var_1_100) { var_1_101 = var_1_106; } else { var_1_101 = var_1_77; } // From: Req21Batch6Amount500 if (! var_1_58) { var_1_52 = (min (var_1_56 , var_1_89)); } else { var_1_52 = (var_1_17 - var_1_26); } // From: Req33Batch6Amount500 if (var_1_94) { var_1_73 = (max (var_1_15 , (max (var_1_50 , var_1_49)))); } // From: Req38Batch6Amount500 unsigned char stepLocal_15 = var_1_58; if (stepLocal_15 || ((var_1_56 < var_1_29) && var_1_68)) { var_1_84 = (var_1_21 + var_1_51); } // From: Req49Batch6Amount500 if (! (var_1_91 < (var_1_12 / var_1_14))) { var_1_98 = var_1_38; } // From: Req3Batch6Amount500 var_1_9 = ((abs (var_1_70)) - var_1_89); // From: Req40Batch6Amount500 signed char stepLocal_18 = var_1_40; unsigned char stepLocal_17 = var_1_89; if (((min (var_1_20 , var_1_78)) - 64) >= stepLocal_18) { if (! var_1_94) { var_1_86 = (max (var_1_43 , var_1_76)); } else { if (var_1_15 <= var_1_12) { var_1_86 = ((abs (var_1_29 + var_1_40)) + (abs (max (var_1_81 , var_1_57)))); } else { var_1_86 = (max ((var_1_29 + var_1_21) , var_1_76)); } } } else { if (stepLocal_17 != ((48506 - var_1_70) | (var_1_5 - var_1_57))) { var_1_86 = (var_1_5 - (max ((min (var_1_103 , var_1_40)) , (max (var_1_42 , var_1_79))))); } else { var_1_86 = (var_1_5 - 32); } } // From: Req30Batch6Amount500 if (var_1_59 || var_1_68) { var_1_69 = (var_1_59 || var_1_68); } else { if (var_1_86 <= var_1_26) { var_1_69 = (! 1); } else { if (var_1_67 && var_1_58) { var_1_69 = (! var_1_68); } } } // From: Req12Batch6Amount500 if (var_1_17 >= var_1_72) { if (last_1_var_1_31 >= -1) { var_1_31 = (min (var_1_21 , var_1_72)); } } else { if (var_1_69) { if (var_1_72 > var_1_45) { var_1_31 = (var_1_29 + var_1_9); } else { var_1_31 = ((var_1_18 - var_1_26) + var_1_9); } } else { var_1_31 = (max (var_1_5 , var_1_26)); } } // From: Req9Batch6Amount500 if (var_1_58 && var_1_67) { if (((max (var_1_16 , var_1_102)) + var_1_56) >= 10) { var_1_25 = ((var_1_26 - var_1_21) - var_1_22); } else { var_1_25 = (min (((var_1_26 - var_1_21) - var_1_74) , var_1_28)); } } else { if (var_1_28 == var_1_21) { var_1_25 = var_1_51; } else { if (var_1_67) { var_1_25 = (var_1_28 + (abs (var_1_23 + var_1_20))); } } } // From: Req13Batch6Amount500 unsigned long int stepLocal_3 = var_1_105; if (var_1_58) { if (stepLocal_3 >= var_1_22) { var_1_34 = (abs (var_1_42)); } else { var_1_34 = (max (var_1_20 , var_1_29)); } } else { if ((var_1_88 * var_1_15) >= var_1_13) { var_1_34 = (var_1_18 + (var_1_21 + var_1_9)); } else { var_1_34 = (max ((max ((abs (var_1_5)) , var_1_105)) , var_1_21)); } } // From: Req28Batch6Amount500 unsigned char stepLocal_8 = var_1_70 <= var_1_28; if (stepLocal_8 && ((var_1_5 * var_1_101) < var_1_76)) { var_1_65 = (var_1_13 + (var_1_50 - var_1_14)); } else { var_1_65 = (((var_1_50 + var_1_66) + (min (var_1_13 , var_1_14))) - var_1_37); } // From: Req44Batch6Amount500 if (var_1_69) { var_1_90 = var_1_25; } // From: Req14Batch6Amount500 if (((var_1_13 + var_1_14) - (var_1_37 + var_1_38)) > var_1_47) { var_1_36 = ((var_1_103 + var_1_102) + (var_1_9 + var_1_20)); } else { if (var_1_42 < (var_1_109 * var_1_70)) { var_1_36 = ((var_1_63 - var_1_26) + var_1_34); } } // From: Req41Batch6Amount500 unsigned char stepLocal_21 = var_1_80; unsigned char stepLocal_20 = var_1_59; signed long int stepLocal_19 = (60611 - var_1_42) - var_1_82; if (stepLocal_21 >= var_1_81) { var_1_87 = (-50 + (min (var_1_22 , var_1_78))); } else { if (var_1_36 == stepLocal_19) { if (var_1_58 || stepLocal_20) { var_1_87 = ((abs (var_1_92)) - var_1_22); } else { var_1_87 = (var_1_78 - 50); } } else { var_1_87 = (max (var_1_1 , var_1_40)); } } // From: Req22Batch6Amount500 unsigned char stepLocal_7 = var_1_94; if (stepLocal_7 && (var_1_69 || (var_1_36 >= var_1_20))) { var_1_54 = ((min (var_1_5 , 57890)) - var_1_40); } else { var_1_54 = (var_1_42 + var_1_89); } } void updateVariables() { var_1_5 = __VERIFIER_nondet_ushort(); assume_abort_if_not(var_1_5 >= 32767); assume_abort_if_not(var_1_5 <= 65534); var_1_13 = __VERIFIER_nondet_double(); assume_abort_if_not((var_1_13 >= 0.0F && var_1_13 <= -1.0e-20F) || (var_1_13 <= 4611686.018427382800e+12F && var_1_13 >= 1.0e-20F )); var_1_14 = __VERIFIER_nondet_double(); assume_abort_if_not((var_1_14 >= 2305843.009213691390e+12F && var_1_14 <= -1.0e-20F) || (var_1_14 <= 4611686.018427382800e+12F && var_1_14 >= 1.0e-20F )); var_1_15 = __VERIFIER_nondet_double(); assume_abort_if_not((var_1_15 >= -461168.6018427382800e+13F && var_1_15 <= -1.0e-20F) || (var_1_15 <= 4611686.018427382800e+12F && var_1_15 >= 1.0e-20F )); var_1_17 = __VERIFIER_nondet_ulong(); assume_abort_if_not(var_1_17 >= 2147483647); assume_abort_if_not(var_1_17 <= 4294967294); var_1_18 = __VERIFIER_nondet_ulong(); assume_abort_if_not(var_1_18 >= 1073741823); assume_abort_if_not(var_1_18 <= 2147483647); var_1_20 = __VERIFIER_nondet_char(); assume_abort_if_not(var_1_20 >= -126); assume_abort_if_not(var_1_20 <= -62); var_1_21 = __VERIFIER_nondet_char(); assume_abort_if_not(var_1_21 >= 0); assume_abort_if_not(var_1_21 <= 63); var_1_22 = __VERIFIER_nondet_char(); assume_abort_if_not(var_1_22 >= 63); assume_abort_if_not(var_1_22 <= 126); var_1_23 = __VERIFIER_nondet_char(); assume_abort_if_not(var_1_23 >= -63); assume_abort_if_not(var_1_23 <= 63); var_1_26 = __VERIFIER_nondet_short(); assume_abort_if_not(var_1_26 >= 16382); assume_abort_if_not(var_1_26 <= 32766); var_1_29 = __VERIFIER_nondet_char(); assume_abort_if_not(var_1_29 >= 63); assume_abort_if_not(var_1_29 <= 126); var_1_37 = __VERIFIER_nondet_double(); assume_abort_if_not((var_1_37 >= 0.0F && var_1_37 <= -1.0e-20F) || (var_1_37 <= 4611686.018427387900e+12F && var_1_37 >= 1.0e-20F )); var_1_38 = __VERIFIER_nondet_double(); assume_abort_if_not((var_1_38 >= 0.0F && var_1_38 <= -1.0e-20F) || (var_1_38 <= 4611686.018427387900e+12F && var_1_38 >= 1.0e-20F )); var_1_40 = __VERIFIER_nondet_char(); assume_abort_if_not(var_1_40 >= 0); assume_abort_if_not(var_1_40 <= 63); var_1_43 = __VERIFIER_nondet_uchar(); assume_abort_if_not(var_1_43 >= 64); assume_abort_if_not(var_1_43 <= 127); var_1_48 = __VERIFIER_nondet_double(); assume_abort_if_not((var_1_48 >= 4611686.018427382800e+12F && var_1_48 <= -1.0e-20F) || (var_1_48 <= 9223372.036854765600e+12F && var_1_48 >= 1.0e-20F )); var_1_49 = __VERIFIER_nondet_double(); assume_abort_if_not((var_1_49 >= 6917529.027641073700e+12F && var_1_49 <= -1.0e-20F) || (var_1_49 <= 9223372.036854765600e+12F && var_1_49 >= 1.0e-20F )); var_1_50 = __VERIFIER_nondet_double(); assume_abort_if_not((var_1_50 >= 0.0F && var_1_50 <= -1.0e-20F) || (var_1_50 <= 2305843.009213691390e+12F && var_1_50 >= 1.0e-20F )); var_1_57 = __VERIFIER_nondet_short(); assume_abort_if_not(var_1_57 >= 16383); assume_abort_if_not(var_1_57 <= 32766); var_1_59 = __VERIFIER_nondet_uchar(); assume_abort_if_not(var_1_59 >= 0); assume_abort_if_not(var_1_59 <= 0); var_1_60 = __VERIFIER_nondet_uchar(); assume_abort_if_not(var_1_60 >= 1); assume_abort_if_not(var_1_60 <= 1); var_1_61 = __VERIFIER_nondet_uchar(); assume_abort_if_not(var_1_61 >= 0); assume_abort_if_not(var_1_61 <= 0); var_1_66 = __VERIFIER_nondet_double(); assume_abort_if_not((var_1_66 >= 0.0F && var_1_66 <= -1.0e-20F) || (var_1_66 <= 2305843.009213691390e+12F && var_1_66 >= 1.0e-20F )); var_1_68 = __VERIFIER_nondet_uchar(); assume_abort_if_not(var_1_68 >= 1); assume_abort_if_not(var_1_68 <= 1); var_1_77 = __VERIFIER_nondet_char(); assume_abort_if_not(var_1_77 >= -1); assume_abort_if_not(var_1_77 <= 127); var_1_78 = __VERIFIER_nondet_uchar(); assume_abort_if_not(var_1_78 >= 127); assume_abort_if_not(var_1_78 <= 254); var_1_79 = __VERIFIER_nondet_uchar(); assume_abort_if_not(var_1_79 >= 0); assume_abort_if_not(var_1_79 <= 63); var_1_80 = __VERIFIER_nondet_uchar(); assume_abort_if_not(var_1_80 >= 31); assume_abort_if_not(var_1_80 <= 64); var_1_81 = __VERIFIER_nondet_uchar(); assume_abort_if_not(var_1_81 >= 32); assume_abort_if_not(var_1_81 <= 63); var_1_83 = __VERIFIER_nondet_char(); assume_abort_if_not(var_1_83 >= -127); assume_abort_if_not(var_1_83 <= 126); var_1_95 = __VERIFIER_nondet_ulong(); assume_abort_if_not(var_1_95 >= 4); assume_abort_if_not(var_1_95 <= 8); var_1_96 = __VERIFIER_nondet_ulong(); assume_abort_if_not(var_1_96 >= 0); assume_abort_if_not(var_1_96 <= 4); } void updateLastVariables() { last_1_var_1_1 = var_1_1; last_1_var_1_10 = var_1_10; last_1_var_1_25 = var_1_25; last_1_var_1_30 = var_1_30; last_1_var_1_31 = var_1_31; last_1_var_1_36 = var_1_36; last_1_var_1_42 = var_1_42; last_1_var_1_45 = var_1_45; last_1_var_1_51 = var_1_51; last_1_var_1_58 = var_1_58; last_1_var_1_65 = var_1_65; last_1_var_1_67 = var_1_67; last_1_var_1_69 = var_1_69; last_1_var_1_70 = var_1_70; last_1_var_1_74 = var_1_74; last_1_var_1_75 = var_1_75; last_1_var_1_76 = var_1_76; last_1_var_1_86 = var_1_86; last_1_var_1_87 = var_1_87; last_1_var_1_92 = var_1_92; last_1_var_1_94 = var_1_94; last_1_var_1_100 = var_1_100; } int property() { return (((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((var_1_75 || var_1_58) ? (var_1_1 == ((unsigned short int) (abs (var_1_51)))) : (var_1_1 == ((unsigned short int) (min ((var_1_5 - var_1_72) , var_1_51))))) && ((var_1_76 <= (- 500)) ? (var_1_100 ? (var_1_7 == ((signed short int) (var_1_74 - 64))) : 1) : (var_1_7 == ((signed short int) var_1_74)))) && (var_1_9 == ((signed long int) ((abs (var_1_70)) - var_1_89)))) && (var_1_10 == ((unsigned short int) (var_1_5 - (var_1_89 + 1000))))) && ((! var_1_94) ? (var_1_12 == ((double) ((var_1_13 - (var_1_14 - 63.5)) + var_1_15))) : (var_1_12 == ((double) (var_1_14 - var_1_13))))) && (var_1_100 ? (var_1_16 == ((unsigned long int) (var_1_93 + 200u))) : (((min (var_1_74 , var_1_51)) <= var_1_42) ? (var_1_16 == ((unsigned long int) (var_1_17 - (var_1_18 - var_1_72)))) : (var_1_16 == ((unsigned long int) (min (var_1_72 , (var_1_74 + 10000u)))))))) && (var_1_19 == ((signed char) (((abs (var_1_20)) - var_1_21) - (var_1_22 - (abs (var_1_23))))))) && (((var_1_5 >= var_1_20) && var_1_100) ? (var_1_24 == ((signed char) (var_1_22 - var_1_21))) : 1)) && ((var_1_58 && var_1_67) ? ((((max (var_1_16 , var_1_102)) + var_1_56) >= 10) ? (var_1_25 == ((signed short int) ((var_1_26 - var_1_21) - var_1_22))) : (var_1_25 == ((signed short int) (min (((var_1_26 - var_1_21) - var_1_74) , var_1_28))))) : ((var_1_28 == var_1_21) ? (var_1_25 == ((signed short int) var_1_51)) : (var_1_67 ? (var_1_25 == ((signed short int) (var_1_28 + (abs (var_1_23 + var_1_20))))) : 1)))) && ((128u == var_1_72) ? (var_1_28 == ((signed char) (var_1_22 - (var_1_29 - var_1_21)))) : 1)) && (var_1_30 == ((signed short int) (((max (var_1_23 , var_1_102)) + (var_1_82 + var_1_63)) + (max (var_1_93 , var_1_20)))))) && ((var_1_17 >= var_1_72) ? ((last_1_var_1_31 >= -1) ? (var_1_31 == ((unsigned long int) (min (var_1_21 , var_1_72)))) : 1) : (var_1_69 ? ((var_1_72 > var_1_45) ? (var_1_31 == ((unsigned long int) (var_1_29 + var_1_9))) : (var_1_31 == ((unsigned long int) ((var_1_18 - var_1_26) + var_1_9)))) : (var_1_31 == ((unsigned long int) (max (var_1_5 , var_1_26))))))) && (var_1_58 ? ((var_1_105 >= var_1_22) ? (var_1_34 == ((unsigned long int) (abs (var_1_42)))) : (var_1_34 == ((unsigned long int) (max (var_1_20 , var_1_29))))) : (((var_1_88 * var_1_15) >= var_1_13) ? (var_1_34 == ((unsigned long int) (var_1_18 + (var_1_21 + var_1_9)))) : (var_1_34 == ((unsigned long int) (max ((max ((abs (var_1_5)) , var_1_105)) , var_1_21))))))) && ((((var_1_13 + var_1_14) - (var_1_37 + var_1_38)) > var_1_47) ? (var_1_36 == ((signed long int) ((var_1_103 + var_1_102) + (var_1_9 + var_1_20)))) : ((var_1_42 < (var_1_109 * var_1_70)) ? (var_1_36 == ((signed long int) ((var_1_63 - var_1_26) + var_1_34))) : 1))) && (var_1_39 == ((signed char) (min (var_1_20 , (var_1_21 - (var_1_29 - var_1_40))))))) && ((var_1_42 > (var_1_72 / (var_1_5 - var_1_29))) ? (var_1_41 == ((unsigned long int) var_1_76)) : 1)) && ((var_1_14 != var_1_37) ? (var_1_42 == ((unsigned char) var_1_20)) : (last_1_var_1_100 ? (var_1_42 == ((unsigned char) ((var_1_22 + var_1_43) - var_1_21))) : ((last_1_var_1_94 || ((var_1_20 == last_1_var_1_42) || (last_1_var_1_58 && last_1_var_1_100))) ? (var_1_42 == ((unsigned char) (max (0 , (var_1_20 - (min (var_1_40 , 8))))))) : (var_1_42 == ((unsigned char) (var_1_20 - var_1_40))))))) && (((var_1_17 >= (16u + var_1_26)) || last_1_var_1_67) ? ((last_1_var_1_92 <= last_1_var_1_74) ? (var_1_45 == ((unsigned long int) ((var_1_29 + (last_1_var_1_25 + last_1_var_1_87)) + var_1_5))) : (last_1_var_1_58 ? (var_1_45 == ((unsigned long int) 1u)) : (var_1_45 == ((unsigned long int) last_1_var_1_51)))) : (var_1_45 == ((unsigned long int) last_1_var_1_74)))) && ((var_1_40 <= var_1_51) ? (var_1_47 == ((double) ((max ((abs (var_1_37)) , (var_1_48 - var_1_13))) - (var_1_14 + (max (127.5 , var_1_50)))))) : 1)) && ((last_1_var_1_65 <= var_1_50) ? (var_1_51 == ((unsigned char) (32 + var_1_21))) : (var_1_51 == ((unsigned char) var_1_29)))) && ((! var_1_58) ? (var_1_52 == ((unsigned long int) (min (var_1_56 , var_1_89)))) : (var_1_52 == ((unsigned long int) (var_1_17 - var_1_26))))) && ((var_1_94 && (var_1_69 || (var_1_36 >= var_1_20))) ? (var_1_54 == ((unsigned short int) ((min (var_1_5 , 57890)) - var_1_40))) : (var_1_54 == ((unsigned short int) (var_1_42 + var_1_89))))) && (var_1_56 == ((signed short int) ((max (var_1_22 , var_1_106)) - (var_1_57 - (abs (var_1_20))))))) && ((last_1_var_1_58 && last_1_var_1_75) ? ((last_1_var_1_74 > last_1_var_1_1) ? (var_1_58 == ((unsigned char) (last_1_var_1_94 && var_1_59))) : ((var_1_49 < (var_1_14 + var_1_38)) ? (var_1_58 == ((unsigned char) ((! var_1_60) || (var_1_59 || var_1_61)))) : 1)) : 1)) && (var_1_62 == ((float) (((min (var_1_48 , var_1_49)) - var_1_50) - var_1_38)))) && ((last_1_var_1_36 == ((1 - 64) / (min (-1 , -128)))) ? (var_1_63 == ((signed short int) (min (var_1_57 , ((var_1_26 - var_1_40) - last_1_var_1_45))))) : (var_1_63 == ((signed short int) (max (((var_1_26 - var_1_21) - (var_1_29 + var_1_40)) , (max (last_1_var_1_86 , last_1_var_1_30)))))))) && (var_1_75 ? (var_1_64 == ((double) (min (var_1_48 , (var_1_37 - var_1_14))))) : 1)) && (((var_1_70 <= var_1_28) && ((var_1_5 * var_1_101) < var_1_76)) ? (var_1_65 == ((double) (var_1_13 + (var_1_50 - var_1_14)))) : (var_1_65 == ((double) (((var_1_50 + var_1_66) + (min (var_1_13 , var_1_14))) - var_1_37))))) && ((var_1_74 < var_1_76) ? (var_1_67 == ((unsigned char) (var_1_61 || var_1_59))) : (var_1_100 ? (var_1_67 == ((unsigned char) var_1_60)) : (var_1_67 == ((unsigned char) (var_1_60 || var_1_68)))))) && ((var_1_59 || var_1_68) ? (var_1_69 == ((unsigned char) (var_1_59 || var_1_68))) : ((var_1_86 <= var_1_26) ? (var_1_69 == ((unsigned char) (! 1))) : ((var_1_67 && var_1_58) ? (var_1_69 == ((unsigned char) (! var_1_68))) : 1)))) && (((- var_1_104) <= var_1_62) ? (((max (var_1_5 , last_1_var_1_70)) >= (var_1_20 - var_1_74)) ? (var_1_70 == ((unsigned char) (max (var_1_43 , (var_1_22 + var_1_21))))) : (var_1_58 ? (var_1_70 == ((unsigned char) (abs (max ((var_1_43 + var_1_21) , var_1_40))))) : ((var_1_103 <= var_1_74) ? (var_1_70 == ((unsigned char) var_1_40)) : ((var_1_57 <= (max (var_1_110 , var_1_26))) ? (var_1_70 == ((unsigned char) (abs (2)))) : (var_1_70 == ((unsigned char) (abs (var_1_20 - var_1_43)))))))) : (var_1_70 == ((unsigned char) (var_1_20 - (var_1_22 - var_1_40)))))) && ((var_1_7 <= var_1_76) ? (var_1_72 == ((unsigned char) (max ((min (var_1_43 , var_1_20)) , var_1_29)))) : 1)) && (var_1_94 ? (var_1_73 == ((double) (max (var_1_15 , (max (var_1_50 , var_1_49)))))) : 1)) && (var_1_74 == ((unsigned char) (max (var_1_22 , var_1_40))))) && ((var_1_50 >= ((- 9.99999999992E10) * var_1_37)) ? ((var_1_19 >= var_1_28) ? (var_1_75 == ((unsigned char) (! (var_1_68 || var_1_60)))) : 1) : 1)) && ((last_1_var_1_76 > var_1_22) ? ((last_1_var_1_69 && var_1_61) ? ((last_1_var_1_65 < var_1_14) ? (var_1_76 == ((unsigned char) (max ((min (var_1_40 , var_1_29)) , (min ((max (var_1_22 , var_1_20)) , (var_1_78 - var_1_43))))))) : (var_1_76 == ((unsigned char) ((var_1_21 + var_1_40) + (var_1_43 - var_1_79))))) : (var_1_76 == ((unsigned char) ((var_1_40 + var_1_79) + ((var_1_80 + var_1_81) - 1))))) : 1)) && (var_1_58 ? (var_1_82 == ((signed char) var_1_83)) : 1)) && ((var_1_58 || ((var_1_56 < var_1_29) && var_1_68)) ? (var_1_84 == ((unsigned short int) (var_1_21 + var_1_51))) : 1)) && (var_1_68 ? (((var_1_106 * -64) >= var_1_43) ? (var_1_85 == ((unsigned long int) (abs (var_1_5)))) : 1) : 1)) && ((((min (var_1_20 , var_1_78)) - 64) >= var_1_40) ? ((! var_1_94) ? (var_1_86 == ((unsigned short int) (max (var_1_43 , var_1_76)))) : ((var_1_15 <= var_1_12) ? (var_1_86 == ((unsigned short int) ((abs (var_1_29 + var_1_40)) + (abs (max (var_1_81 , var_1_57)))))) : (var_1_86 == ((unsigned short int) (max ((var_1_29 + var_1_21) , var_1_76)))))) : ((var_1_89 != ((48506 - var_1_70) | (var_1_5 - var_1_57))) ? (var_1_86 == ((unsigned short int) (var_1_5 - (max ((min (var_1_103 , var_1_40)) , (max (var_1_42 , var_1_79))))))) : (var_1_86 == ((unsigned short int) (var_1_5 - 32)))))) && ((var_1_80 >= var_1_81) ? (var_1_87 == ((signed short int) (-50 + (min (var_1_22 , var_1_78))))) : ((var_1_36 == ((60611 - var_1_42) - var_1_82)) ? ((var_1_58 || var_1_59) ? (var_1_87 == ((signed short int) ((abs (var_1_92)) - var_1_22))) : (var_1_87 == ((signed short int) (var_1_78 - 50)))) : (var_1_87 == ((signed short int) (max (var_1_1 , var_1_40))))))) && ((var_1_16 <= var_1_85) ? (var_1_88 == ((double) (var_1_48 - var_1_66))) : 1)) && (((- last_1_var_1_31) <= last_1_var_1_10) ? (var_1_89 == ((unsigned char) (max ((var_1_78 - (min (var_1_81 , var_1_79))) , (max (var_1_43 , var_1_80)))))) : (var_1_89 == ((unsigned char) ((max ((max (var_1_22 , var_1_43)) , var_1_40)) + var_1_80))))) && (var_1_69 ? (var_1_90 == ((signed long int) var_1_25)) : 1)) && (((var_1_20 - 100) < var_1_103) ? (var_1_91 == ((double) var_1_49)) : (var_1_91 == ((double) (var_1_15 + (abs (var_1_50))))))) && (((last_1_var_1_92 * var_1_17) > 32u) ? (var_1_92 == ((signed short int) ((min (var_1_80 , var_1_21)) + -100))) : 1)) && (var_1_68 ? (var_1_93 == ((unsigned short int) var_1_89)) : 1)) && (((var_1_102 >> var_1_45) == (var_1_29 >> (var_1_95 - var_1_96))) ? (var_1_94 == ((unsigned char) var_1_61)) : ((((var_1_81 * var_1_109) > var_1_26) && (var_1_1 < (var_1_107 * var_1_18))) ? (var_1_94 == ((unsigned char) (! (! (! var_1_61))))) : (var_1_94 == ((unsigned char) (var_1_100 && var_1_59)))))) && ((! (var_1_91 < (var_1_12 / var_1_14))) ? (var_1_98 == ((double) var_1_38)) : 1)) && ((var_1_75 && var_1_100) ? ((var_1_45 >= var_1_79) ? (var_1_99 == ((unsigned short int) var_1_45)) : (var_1_99 == ((unsigned short int) var_1_79))) : 1)) && (var_1_68 ? (var_1_100 == ((unsigned char) var_1_60)) : 1)) && (var_1_100 ? (var_1_101 == ((signed long int) var_1_106)) : (var_1_101 == ((signed long int) var_1_77)))) && (var_1_60 ? (var_1_102 == ((unsigned char) var_1_29)) : 1)) && (var_1_75 ? (var_1_103 == ((signed char) var_1_81)) : (var_1_103 == ((signed char) var_1_83)))) && (var_1_75 ? (var_1_104 == ((float) var_1_48)) : (var_1_104 == ((float) var_1_48)))) && (var_1_100 ? (var_1_105 == ((unsigned long int) var_1_96)) : (var_1_105 == ((unsigned long int) var_1_80)))) && (var_1_94 ? (var_1_106 == ((unsigned long int) var_1_18)) : (var_1_106 == ((unsigned long int) var_1_95)))) && (var_1_58 ? (var_1_107 == ((unsigned long int) var_1_24)) : 1)) && ((var_1_78 < (- var_1_45)) ? (var_1_109 == ((signed short int) var_1_57)) : (var_1_109 == ((signed short int) ((var_1_83 + var_1_39) + var_1_24))))) && (var_1_110 == ((signed short int) 1))) && (var_1_111 == ((signed short int) var_1_29)) ; } int main(void) { isInitial = 1; initially(); while (1) { updateLastVariables(); updateVariables(); step(); __VERIFIER_assert(property()); isInitial = 0; } return 0; }